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

AW: Help with WSDL2RPG



   Hello Thomas,


   today I tried to continue with WSDL2RPG to generate a first test
   program.

   WSDL2RPG successfully created the Web Service stub (see attached Source
   Files).


   I try to compile it to a module with:


   CRTRPGMOD MODULE(RXLKVOBJI/WS0001) SRCFILE(R8LKVSRCI/VEXSRCL)
   SRCMBR(WS0001) OPTION(*EVENTF) DBGVIEW(*LIST) REPLACE(*YES)


   and got several RNF7030 error messages:


   RNF7030 The name or indicator MATERIA... is not defined.

   RNF7030 The name or indicator MATERIA... is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator VALUE is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator MATERIA... is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator VALUE is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator MATERIA... is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator MATERIA... is not defined.

   RNF7030 The name or indicator MATERIA... is not defined.

   RNF7030 The name or indicator MATERIA... is not defined.

   RNF7030 The name or indicator MATERIA... is not defined.

   RNF7030 The name or indicator QAMATER... is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator TESTRESULT is not defined.

   RNF7030 The name or indicator VALUE is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator MATERIA... is not defined.

   RNF7030 The name or indicator MATERIA... is not defined.

   RNF7030 The name or indicator QUANTITY is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator QUANTITY is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator TESTEDM... is not defined.

   RNF7030 The name or indicator TESTEDM... is not defined.

   RNF7030 The name or indicator TESTEDM... is not defined.

   RNF7030 The name or indicator ANY is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator ITEM is not defined.

   RNF7030 The name or indicator TESTEDM... is not defined.

   RNF7030 The name or indicator TESTEDM... is not defined.

   RNF7030 The name or indicator TESTEDM... is not defined.

   RNF7030 The name or indicator TESTRES... is not defined.

   RNF7030 The name or indicator VALUETYPE is not defined.

   RNF7030 The name or indicator VALUETYPE is not defined.

   RNF7030 The name or indicator VALUETYPE is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.

   RNF7030 The name or indicator S1_ANYR... is not defined.



   E.g. the first errors links me to the  following DS:


        D tns_ProcessMaterialInformation_t...

        D                 DS                  template

        D                                     qualified

        D  MaterialInformation...

        D
   likeds(s1_MaterialInformationType_t)

         *

         *

        D tns_ProcessMaterialInformationResponse_t...

        D                 DS                  template

        D                                     qualified

        D  MaterialInformation...

        D
   likeds(s1_MaterialInformationType_t)


   But the definition for DS s1_MaterialInformationType_t  exists in the
   source file:


        D s1_MaterialInformationType_t...

        D                 DS                  template

        D                                     qualified

        D  ProcessingStatus...

        D
   likeds(s2_ProcessingStatusType_t)

        D  Any                                likeds(s1_RpgArrayOfAny_t)

        D  Description
   likeds(s1_RpgArrayOfDescription_t)

        D  ID                          128A   varying

        D  Location                           likeds(s1_LocationType_t)

        D  MaterialClass
   likeds(s1_RpgArrayOfMaterialClass_t)

        D  MaterialDefinition...

        D
   likeds(s1_RpgArrayOfMaterialDefini...

        D                                     tion_t)

        D  MaterialLot
   likeds(s1_RpgArrayOfMaterialLot_t)

        D  MaterialSubLot...

        D
   likeds(s1_RpgArrayOfMaterialSubLot_t)

        D  PublishedDate                  Z

        D  QAMaterialTestSpecification...

        D
   likeds(s1_RpgArrayOfQAMaterialTest...

        D                                     Specification_t)

         *

         *


   Should these two generated module sources work without manual changes?


   Thanks,


   Timo


   -----Ursprüngliche Nachricht-----
   Von: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] Im Auftrag von Thomas
   Raddatz
   Gesendet: Freitag, 13. Januar 2012 20:35
   An: HTTPAPI and FTPAPI Projects
   Betreff: Re: Help with WSDL2RPG


   Timo,


   That are really good news. I am happy that you could solve the problem
   that

   way because there is no way for recursion with RPG data structures.


   Thomas.


   Am 13.01.2012 18:47, schrieb Casaluci, Timo:

   >     Hello,

   >

   >

   >     thank you for going so deep into this. We don't develop this
   WSDL, we

   >     got it from a software company which makes the software for our
   Storage

   >     System.

   >

   >     I'm not sure what they want to describe with that recursivity,
   perhaps

   >     it should be possible that a location is able to show to another

   >     location.

   >

   >     I've tested the WSDL with the Tool WS-I Compliance of soapUI and
   got a

   >     "passed" for it.

   >

   >

   >     soapUI generates the following Soap message for it:

   >

   >

   >

   >                 <b2m:Location>

   >

   >                    <!--Optional:-->

   >

   >                    <b2m:EquipmentID>?</b2m:EquipmentID>

   >

   >                    <!--Optional:-->

   >

   >                    <b2m:EquipmentElementLevel

   >     OtherValue="?">?</b2m:EquipmentElementLevel>

   >

   >                    <!--Optional:-->

   >

   >                    <b2m:Location/>

   >

   >                    <!--Zero or more repetitions:-->

   >

   >                    <b2m:Any>

   >

   >                       <!--You may enter ANY elements at this point-->

   >

   >                    </b2m:Any>

   >

   >                 </b2m:Location>

   >

   >     I think in our environment we don't need this "optional" location

   >     element under the element LocationType.

   >

   >     For testing I've now changed the Element Location Type to:

   >

   >

   >           <s:complexType name="LocationType">

   >

   >             <s:sequence>

   >

   >               <s:element minOccurs="0" maxOccurs="1"
   name="EquipmentID"

   >     type="s:string" />

   >

   >               <s:element minOccurs="0" maxOccurs="1"

   >     name="EquipmentElementLevel" type="s1:EquipmentElementLevelType"
   />

   >

   >               <s:element minOccurs="0" maxOccurs="unbounded"
   name="Any"

   >     type="s1:AnyType" />

   >

   >             </s:sequence>

   >

   >           </s:complexType>

   >

   >

   >     and eliminated a second one under MaterialSubLotType.

   >

   >     Now I got the message "Successfully generated 2 Web Service stub

   >     modules: WS0001*. Feel free to ..."!

   >

   >     I'm looking forward to work with your tools.

   >

   >

   >     Thank you and have a nice weekend!

   >

   >

   >     Timo Casaluci

   >

   >

   >

   >

   >

   >     -----Ursprüngliche Nachricht-----

   >     Von: [1]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx

   >     [2][mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] Im Auftrag von

   >     [3]thomas.raddatz@xxxxxx

   >     Gesendet: Freitag, 13. Januar 2012 13:26

   >     An: [4]ftpapi@xxxxxxxxxxxxxxxxxxxxxx

   >     Betreff: Re: AW: Help with WSDL2RPG

   >

   >

   >

   >     Timo,

   >

   >

   >     Element 'LocationType' is the one that causes the error. That
   element

   >     is

   >

   >     part of namespace "[1][5]http://www.wbf.org/xml/b2mml-v0300"; and
   it

   >     references

   >

   >     element 's1:LocationType':

   >

   >

   >     <s:schema elementFormDefault="qualified" targetNamespace="

   >

   >     [2][6]http://www.wbf.org/xml/b2mml-v0300";>

   >

   >       <s:import

   >     namespace="[3][7]http://www.wbf.org/xml/b2mml-v0300-extensions";
   />

   >

   >        ...

   >

   >       <s:complexType name="LocationType">

   >

   >         <s:sequence>

   >

   >           <s:element minOccurs="0" maxOccurs="1" name="EquipmentID"

   >

   >     type="s:string" />

   >

   >           <s:element minOccurs="0" maxOccurs="1"

   >     name="EquipmentElementLevel"

   >

   >     type="s1:EquipmentElementLevelType" />

   >

   >           <s:element minOccurs="0" maxOccurs="1" name="Location"

   >

   >     type="s1:LocationType" />

   >

   >           <s:element minOccurs="0" maxOccurs="unbounded" name="Any"

   >

   >     type="s1:AnyType" />

   >

   >         </s:sequence>

   >

   >       </s:complexType>

   >

   >

   >     The value assigned to namespace prefix 's1' is

   >

   >     'http://www.wbf.org/xml/b2mml-v0300', which is the same namespace
   of

   >     the

   >

   >     element that shall be defined.

   >

   >

   >     <wsdl:definitions

   >

   >         ...

   >

   >         xmlns:s1="[4][8]http://www.wbf.org/xml/b2mml-v0300";

   >

   >

   >     Hence both 'LocationType'(s) are the same:

   >

   >

   >       <s:complexType name="LocationType">    <<== this one is the
   same as

   >     ...

   >

   >         <s:sequence>

   >

   >            ...

   >

   >           <s:element minOccurs="0" maxOccurs="1" name="Location"

   >

   >     type="s1:LocationType" />   <<== ... this one

   >

   >

   >     I have no idea to what construct of Java, C# or any other object

   >     oriented

   >

   >     programming language that maps. How did you develop or create the
   WSDL?

   >     Or

   >

   >     am I missing something?

   >

   >

   >     Thomas.

   >

   >

   >     [5][9]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx schrieb am 13.01.2012

   >     12:21:09:

   >

   >

   >     >  Von: [6][10]t.casaluci@xxxxxxxx

   >

   >     >  An: [7][11]ftpapi@xxxxxxxxxxxxxxxxxxxxxx

   >

   >     >  Datum: 13.01.2012 12:27

   >

   >     >  Betreff: AW: Help with WSDL2RPG

   >

   >     >  Gesendet von: [8][12]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx

   >

   >     >

   >

   >

   >     >  Hello,

   >

   >     >

   >

   >

   >     >  now I've attached the WSDL File, it's located on a server in
   our

   >

   >     >  intranet. I've expected that the file is correct

   >

   >     >  because it?s the standard interface of the stock system we
   want to

   >

   >     >  exchange data with.

   >

   >     >  What we want to do in the first step is to send our open
   orders from

   >

   >     >  our ERP System to a web service which is located on a remote
   server.

   >

   >     >  And in a second step we want to get back a similar set of data
   to a

   >

   >     >  web service which is located on our IBM i.

   >

   >     >

   >

   >

   >     >  Thanks,

   >

   >     >

   >

   >

   >     >  Timo

   >

   >     >

   >

   >

   >     >  -----Ursprüngliche Nachricht-----

   >

   >     >  Von: [9][13]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   [mailto:ftpapi-

   >

   >     >  [10][14]bounces@xxxxxxxxxxxxxxxxxxxxxx] Im Auftrag von

   >

   >     [11][15]thomas.raddatz@xxxxxxxxxxx

   >

   >     >  Gesendet: Freitag, 13. Januar 2012 11:12

   >

   >     >  An: HTTPAPI and FTPAPI Projects

   >

   >     >  Betreff: Re: Help with WSDL2RPG

   >

   >     >

   >

   >

   >     >  Timo,

   >

   >     >

   >

   >     >  It is always a good idea to attached the wsdl file when having
   a

   >     problem

   >

   >     with

   >

   >     >  the generator. The problem you reported does not sound good to
   me. I

   >

   >     >  assume that

   >

   >     >  there is a recursion in the wsdl file. Please send the wsdl
   file or

   >     the

   >

   >     URL of

   >

   >     >  the wsdl file to me and I am going to try to figure out what
   wrong

   >     with

   >

   >     it or

   >

   >     >  the generator.

   >

   >     >

   >

   >     >  Regards,

   >

   >     >

   >

   >     >  Thomas.

   >

   >     >

   >

   >

   >     >

   >

   >

   >     >

   >

   >

   >     >  "Casaluci, Timo"<[12][16]t.casaluci@xxxxxxxx>  hat am 12.
   Januar 2012 um

   >     16:41

   >

   >     >  geschrieben:

   >

   >     >

   >

   >

   >     >  >  Hello Mr. Raddatz,

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >  I've a question/problem for you.

   >

   >     >  >

   >

   >     >  >  During the generation of my first WS Client Stub program
   with

   >     WSDL2RPG

   >

   >     I got

   >

   >     >  >  the following error message:

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >  Extract from my Joblog:

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >  WSDL2RPG

   >

   >     URL('http://vega-facts01/FactsWebServices/MaterialInformation/Mat

   >

   >     >  >

   >

   >     >  >  erialInformation.asmx?WSDL') SERVICE(*SELECT *SELECT)

   >

   >     SRCFILE(R8LKVSRCI/VE

   >

   >     >  >

   >

   >     >  >  XSRCL) SRCMBR(WS0001) TYPE(*STUB)

   >

   >     >  >

   >

   >     >  >  Member WS000101 added to file VEXSRCL in R8LKVSRCI.

   >

   >     >  >

   >

   >     >  >  Member WS000101 file VEXSRCL in R8LKVSRCI changed.

   >

   >     >  >

   >

   >     >  >  Automatic storage overflow. (MCH4429)

   >

   >     >  >

   >

   >     >  >  Function check. MCH4429 unmonitored by WSDL2RPG at
   statement

   >

   >     0000101200,

   >

   >     >  >

   >

   >     >  >    instruction X'0000'.

   >

   >     >  >

   >

   >     >  >  The call to main ended in error (C G D F).

   >

   >     >  >

   >

   >     >  >  The call to main ended in error (C G D F).

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >                          Weitere Nachrichteninformationen

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >   Nachrichten-ID . . . . :   MCH4429

   >

   >     >  >

   >

   >     >  >   Sendedatum . . . . . . :   12.01.12      Sendezeit  . . .
   . . .

   >

   >     >  :   16:30:21

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >   Nachricht . . . :   Automatic storage overflow.

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >   Cause . . . . . :   One of the automatic storage stacks

   >     X'00000002'

   >

   >     for the

   >

   >     >  >

   >

   >     >  >     thread has overflowed or a storage access beyond the
   maximum

   >     size

   >

   >     of a

   >

   >     >  >

   >

   >     >  >     teraspace automatic storage stack was attempted. Further

   >

   >     >  program execution

   >

   >     >  >

   >

   >     >  >     within the thread is not possible. Automatic storage
   stack

   >

   >     >  values and their

   >

   >     >  >

   >

   >     >  >     meanings follow:

   >

   >     >  >

   >

   >     >  >       1 -- System stack in single level storage.

   >

   >     >  >

   >

   >     >  >       2 -- User stack in single level storage.

   >

   >     >  >

   >

   >     >  >       3 -- System stack in teraspace.

   >

   >     >  >

   >

   >     >  >       4 -- User stack in teraspace.

   >

   >     >  >

   >

   >     >  >   Technical description . . . . . . . . :   Attempt to
   reduce the

   >

   >     automatic

   >

   >     >  >

   >

   >     >  >     storage used by programs running in the thread.

   >

   >     >  >

   >

   >     >  >       Ende

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >  Would it be helpful to attach the WSDL File?

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >  Thanks

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >  Timo Casaluci

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >  >

   >

   >     >

   >

   >

   >
   ***********************************************************************

   >     *************

   >

   >     >  >  VEGA Grieshaber KG

   >

   >     >  >  Kommanditgesellschaft mit Sitz in Wolfach

   >

   >     >  >  Registergericht Freiburg: HRA 680 687

   >

   >     >  >

   >

   >     >  >  Persönlich haftender Gesellschafter: Jürgen Grieshaber

   >

   >     >  >

   >

   >     >  >  Persönlich haftende Gesellschafterin: Grieshaber Holding
   GmbH

   >

   >     >  >  Sitz Wolfach, Registergericht Freiburg: HRB 680 271

   >

   >     >  >

   >

   >     >  >  Geschäftsführer: Jürgen Grieshaber, Günter Kech, Rainer
   Mielke

   >

   >     >  >

   >

   >     >

   >

   >

   >
   ***********************************************************************

   >     *************

   >

   >     >  [Anhang "MaterialInformation.WSDL" gelöscht von Thomas
   Raddatz/OBI/

   >

   >     >  DE]

   >

   >
   -----------------------------------------------------------------------

   >

   >     >  This is the FTPAPI mailing list.  To unsubscribe, please go
   to:

   >

   >     >  [13][17]http://www.scottklement.com/mailman/listinfo/ftpapi

   >

   >     >

   >
   -----------------------------------------------------------------------

   >

   >

   >

   >     --

   >

   >     IMPORTANT NOTICE:

   >

   >     This email is confidential, may be legally privileged, and is for
   the

   >

   >     intended recipient only. Access, disclosure, copying,
   distribution, or

   >

   >     reliance on any of it by anyone else is prohibited and may be a

   >     criminal

   >

   >     offence. Please delete if obtained in error and email
   confirmation to

   >     the sender.

   >

   > References

   >

   >     1. [18]http://www.wbf.org/xml/b2mml-v0300

   >     2. [19]http://www.wbf.org/xml/b2mml-v0300

   >     3. [20]http://www.wbf.org/xml/b2mml-v0300-extensions

   >     4. [21]http://www.wbf.org/xml/b2mml-v0300

   >     5. [22]mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx

   >     6. [23]mailto:t.casaluci@xxxxxxxx

   >     7. [24]mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx

   >     8. [25]mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx

   >     9. [26]mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx

   >    10. [27]mailto:bounces@xxxxxxxxxxxxxxxxxxxxxx

   >    11. [28]mailto:thomas.raddatz@xxxxxxxxxxx

   >    12. [29]mailto:t.casaluci@xxxxxxxx

   >    13. [30]http://www.scottklement.com/mailman/listinfo/ftpapi

   >

   >

   >

   >

   >
   -----------------------------------------------------------------------

   > This is the FTPAPI mailing list.  To unsubscribe, please go to:

   > [31]http://www.scottklement.com/mailman/listinfo/ftpapi

   >
   -----------------------------------------------------------------------

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

   This is the FTPAPI mailing list.  To unsubscribe, please go to:

   [32]http://www.scottklement.com/mailman/listinfo/ftpapi

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

References

   1. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   2. mailto:[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx]
   3. mailto:thomas.raddatz@xxxxxx
   4. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
   5. http://www.wbf.org/xml/b2mml-v0300
   6. http://www.wbf.org/xml/b2mml-v0300
   7. http://www.wbf.org/xml/b2mml-v0300-extensions
   8. http://www.wbf.org/xml/b2mml-v0300
   9. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  10. mailto:t.casaluci@xxxxxxxx
  11. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
  12. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  13. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  14. mailto:bounces@xxxxxxxxxxxxxxxxxxxxxx
  15. mailto:thomas.raddatz@xxxxxxxxxxx
  16. mailto:t.casaluci@xxxxxxxx
  17. http://www.scottklement.com/mailman/listinfo/ftpapi
  18. http://www.wbf.org/xml/b2mml-v0300
  19. http://www.wbf.org/xml/b2mml-v0300
  20. http://www.wbf.org/xml/b2mml-v0300-extensions
  21. http://www.wbf.org/xml/b2mml-v0300
  22. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  23. mailto:t.casaluci@xxxxxxxx
  24. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
  25. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  26. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  27. mailto:bounces@xxxxxxxxxxxxxxxxxxxxxx
  28. mailto:thomas.raddatz@xxxxxxxxxxx
  29. mailto:t.casaluci@xxxxxxxx
  30. http://www.scottklement.com/mailman/listinfo/ftpapi
  31. http://www.scottklement.com/mailman/listinfo/ftpapi
  32. http://www.scottklement.com/mailman/listinfo/ftpapi

Attachment: MaterialInformation.WSDL
Description: MaterialInformation.WSDL

      /IF NOT DEFINED(PROTOTYPE_WS0001)
      *======================================================================
      *  Generated by WSDL2RPG 1.15beta4 / 08.01.2012
      *  Built on Jan 16, 2012 (15:01:17)
      *  Built for V6R1M0
      *  Based on WS_SRV v1.15
      *======================================================================
      *
      *   This source member contains the common procedures
      *   of web service port:
      *
      *      MaterialInformationSoap
      *
      *======================================================================
      *   Pre-Compiler tags used by STRPREPRC to retrieve creation
      *   commands from the source member.
      * ---------------------------------------------------------------------
      * >>PRE-COMPILER<<
      *   >>CRTCMD<< CRTRPGMOD    MODULE(&LI/&OB) +
      *                           SRCFILE(&SL/&SF) +
      *                           SRCMBR(&SM);
      *   >>COMPILE<<
      *     >>PARM<< TRUNCNBR(*NO);
      *     >>PARM<< DBGVIEW(*LIST);
      *   >>END-COMPILE<<
      *   >>EXECUTE<<
      *   >>CMD<<    CRTSRVPGM +
      *              SRVPGM(&LI/&OB ) +
      *              MODULE(&LI/&OB   +
      *                     &LI/WS000101         +
      *                             ) +
      *              EXPORT(*ALL) +
      *              BNDSRVPGM(*LIBL/WSDL2RPGRT  +
      *                        *LIBL/MIME        +
      *                        *LIBL/HTTPMIME    +
      *                        *LIBL/BASICS1   ) +
      *              TEXT('+
      *              Web Service: MaterialInformationSoap+
      *              ') +
      *              DETAIL(*BASIC);
      * >>END-PRE-COMPILER<<
      *======================================================================
     H NOMAIN
     H DEBUG
     H BNDDIR('HTTPAPI': 'QC2LE')
     H OPTION(*SRCSTMT : *NODEBUGIO)
     H EXTBININT(*YES)
      /ENDIF
      /IF NOT DEFINED(PROTOTYPE_DEFINED_WS0001)
      /DEFINE PROTOTYPE_DEFINED_WS0001
      *
      *   Type definitions
 CPY  /COPY QWSDL2RPG,TYPES_H
      *
      *   Array dimensions:
     D DIM_A1          C                   128
     D DIM_A10         C                   128
     D DIM_A11         C                   128
     D DIM_A12         C                   128
     D DIM_A13         C                   128
     D DIM_A14         C                   128
     D DIM_A15         C                   128
     D DIM_A16         C                   128
     D DIM_A17         C                   128
     D DIM_A18         C                   128
     D DIM_A19         C                   128
     D DIM_A2          C                   128
     D DIM_A20         C                   128
     D DIM_A21         C                   128
     D DIM_A22         C                   128
     D DIM_A23         C                   128
     D DIM_A24         C                   128
     D DIM_A25         C                   128
     D DIM_A26         C                   128
     D DIM_A27         C                   128
     D DIM_A28         C                   128
     D DIM_A29         C                   128
     D DIM_A3          C                   128
     D DIM_A30         C                   128
     D DIM_A31         C                   128
     D DIM_A32         C                   128
     D DIM_A33         C                   128
     D DIM_A34         C                   128
     D DIM_A35         C                   128
     D DIM_A36         C                   128
     D DIM_A37         C                   128
     D DIM_A38         C                   128
     D DIM_A39         C                   128
     D DIM_A4          C                   128
     D DIM_A40         C                   128
     D DIM_A41         C                   128
     D DIM_A42         C                   128
     D DIM_A43         C                   128
     D DIM_A44         C                   128
     D DIM_A45         C                   128
     D DIM_A46         C                   128
     D DIM_A47         C                   128
     D DIM_A48         C                   128
     D DIM_A49         C                   128
     D DIM_A5          C                   128
     D DIM_A50         C                   128
     D DIM_A51         C                   128
     D DIM_A52         C                   128
     D DIM_A6          C                   128
     D DIM_A7          C                   128
     D DIM_A8          C                   128
     D DIM_A9          C                   128
      *
      *   Web Service specific types:
      *
     D tns_ProcessMaterialInformation_t...
     D                 DS                  template
     D                                     qualified
     D  MaterialInformation...
     D                                     likeds(s1_MaterialInformationType_t)
      *
      *
     D tns_ProcessMaterialInformationResponse_t...
     D                 DS                  template
     D                                     qualified
     D  MaterialInformation...
     D                                     likeds(s1_MaterialInformationType_t)
      *
     D s2_AcknowledgeType_t...
     D                 S            128A   varying
     D                                     template
     D s2_ActionType_t...
     D                 S            128A   varying
     D                                     template
     D s2_ConfirmOptionType_t...
     D                 S            128A   varying
     D                                     template
     D s2_MessageTypeType_t...
     D                 S            128A   varying
     D                                     template
      *
     D s2_ProcessingStatusType_t...
     D                 DS                  template
     D                                     qualified
     D  ReturnCode                  128A   varying
     D  ReturnDescription...
     D                              128A   varying
     D  ReturnValue                        like(s2_AcknowledgeType_t)
      *
      *
     D s1_AnyType_t    DS                  template
     D                                     qualified
     D  any                         128A   varying
      *
     D s1_DataType1Type_t...
     D                 S            128A   varying
     D                                     template
     D s1_EquipmentElementLevel1Type_t...
     D                 S            128A   varying
     D                                     template
      *
     D s1_LocationType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny1_t)
     D  EquipmentElementLevel...
     D                                     like(s1_EquipmentElementLevel1Type_t)
     D  EquipmentID                 128A   varying
      *
      *
     D s1_MaterialClassPropertyType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny3_t)
     D  Description                        likeds(s1_RpgArrayOfDescription2_t)
     D  ID                          128A   varying
     D  QAMaterialTestSpecificationID...
     D                                     likeds(s1_RpgArrayOfQAMaterialTest...
     D                                     SpecificationID_t)
     D  Value                              likeds(s1_RpgArrayOfValue_t)
      *
      *
     D s1_MaterialClassType_t...
     D                 DS                  template
     D                                     qualified
     D  Action                             like(s2_ActionType_t)
     D  ConfirmOption                      like(s2_ConfirmOptionType_t)
     D  MessageType                        like(s2_MessageTypeType_t)
     D  ProcessingStatus...
     D                                     likeds(s2_ProcessingStatusType_t)
     D  Any                                likeds(s1_RpgArrayOfAny2_t)
     D  Description                        likeds(s1_RpgArrayOfDescription1_t)
     D  ID                          128A   varying
     D  MaterialClassProperty...
     D                                     likeds(s1_RpgArrayOfMaterialClassP...
     D                                     roperty_t)
     D  MaterialDefinitionID...
     D                                     likeds(s1_RpgArrayOfMaterialDefini...
     D                                     tionID_t)
      *
      *
     D s1_MaterialDefinitionPropertyType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny6_t)
     D  Description                        likeds(s1_RpgArrayOfDescription4_t)
     D  ID                          128A   varying
     D  QAMaterialTestSpecificationID...
     D                                     likeds(s1_RpgArrayOfQAMaterialTest...
     D                                     SpecificationID1_t)
     D  Value                              likeds(s1_RpgArrayOfValue1_t)
      *
      *
     D s1_MaterialDefinitionType_t...
     D                 DS                  template
     D                                     qualified
     D  Action                             like(s2_ActionType_t)
     D  ConfirmOption                      like(s2_ConfirmOptionType_t)
     D  MessageType                        like(s2_MessageTypeType_t)
     D  ProcessingStatus...
     D                                     likeds(s2_ProcessingStatusType_t)
     D  Any                                likeds(s1_RpgArrayOfAny5_t)
     D  Description                        likeds(s1_RpgArrayOfDescription3_t)
     D  ID                          128A   varying
     D  MaterialClassID...
     D                                     likeds(s1_RpgArrayOfMaterialClassI...
     D                                     D_t)
     D  MaterialDefinitionProperty...
     D                                     likeds(s1_RpgArrayOfMaterialDefini...
     D                                     tionProperty_t)
     D  MaterialLotID                      likeds(s1_RpgArrayOfMaterialLotID_t)
      *
      *
     D s1_MaterialInformationType_t...
     D                 DS                  template
     D                                     qualified
     D  ProcessingStatus...
     D                                     likeds(s2_ProcessingStatusType_t)
     D  Any                                likeds(s1_RpgArrayOfAny_t)
     D  Description                        likeds(s1_RpgArrayOfDescription_t)
     D  ID                          128A   varying
     D  Location                           likeds(s1_LocationType_t)
     D  MaterialClass                      likeds(s1_RpgArrayOfMaterialClass_t)
     D  MaterialDefinition...
     D                                     likeds(s1_RpgArrayOfMaterialDefini...
     D                                     tion_t)
     D  MaterialLot                        likeds(s1_RpgArrayOfMaterialLot_t)
     D  MaterialSubLot...
     D                                     likeds(s1_RpgArrayOfMaterialSubLot_t)
     D  PublishedDate                  Z
     D  QAMaterialTestSpecification...
     D                                     likeds(s1_RpgArrayOfQAMaterialTest...
     D                                     Specification_t)
      *
      *
     D s1_MaterialLotPropertyType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny8_t)
     D  Description                        likeds(s1_RpgArrayOfDescription6_t)
     D  ID                          128A   varying
     D  QAMaterialTestSpecificationID...
     D                                     likeds(s1_RpgArrayOfQAMaterialTest...
     D                                     SpecificationID2_t)
     D  TestResult                         likeds(s1_RpgArrayOfTestResult_t)
     D  Value                              likeds(s1_RpgArrayOfValue2_t)
      *
      *
     D s1_MaterialLotType_t...
     D                 DS                  template
     D                                     qualified
     D  Action                             like(s2_ActionType_t)
     D  ConfirmOption                      like(s2_ConfirmOptionType_t)
     D  MessageType                        like(s2_MessageTypeType_t)
     D  ProcessingStatus...
     D                                     likeds(s2_ProcessingStatusType_t)
     D  Any                                likeds(s1_RpgArrayOfAny7_t)
     D  Description                        likeds(s1_RpgArrayOfDescription5_t)
     D  ID                          128A   varying
     D  Location                           likeds(s1_LocationType_t)
     D  MaterialDefinitionID...
     D                              128A   varying
     D  MaterialLotProperty...
     D                                     likeds(s1_RpgArrayOfMaterialLotPro...
     D                                     perty_t)
     D  MaterialSubLot...
     D                                     likeds(s1_RpgArrayOfMaterialSubLot...
     D                                     1_t)
     D  Quantity                           likeds(s1_RpgArrayOfQuantity_t)
     D  Status                      128A   varying
     D  StorageLocation...
     D                              128A   varying
      *
      *
     D s1_MaterialSubLotType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny11_t)
     D  Description                        likeds(s1_RpgArrayOfDescription8_t)
     D  ID                          128A   varying
     D  MaterialLotID               128A   varying
     D  Quantity                           likeds(s1_RpgArrayOfQuantity1_t)
     D  Status                      128A   varying
     D  StorageLocation...
     D                              128A   varying
      *
      *
     D s1_QuantityType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny12_t)
     D  DataType                           like(s1_DataType1Type_t)
     D  Key                         128A   varying
     D  QuantityString...
     D                              128A   varying
     D  UnitOfMeasure               128A   varying
      *
      *
     D s1_QAMaterialTestSpecificationType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny13_t)
     D  Description                        likeds(s1_RpgArrayOfDescription9_t)
     D  Name                        128A   varying
     D  TestedMaterialClassProperty...
     D                                     likeds(s1_RpgArrayOfTestedMaterial...
     D                                     ClassProperty_t)
     D  TestedMaterialDefinitionProperty...
     D                                     likeds(s1_RpgArrayOfTestedMaterial...
     D                                     DefinitionProperty_t)
     D  TestedMaterialLotProperty...
     D                                     likeds(s1_RpgArrayOfTestedMaterial...
     D                                     LotProperty_t)
     D  Version                     128A   varying
      *
      *
     D s1_ResultType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny10_t)
     D  DataType                           like(s1_DataType1Type_t)
     D  Key                         128A   varying
     D  UnitOfMeasure               128A   varying
     D  ValueString                 128A   varying
      *
      *
     D s1_RpgArrayOfAny_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef_t)
     D                                     dim(DIM_A1)
      *
      *
     D s1_RpgArrayOfAny1_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef1_t)
     D                                     dim(DIM_A3)
      *
      *
     D s1_RpgArrayOfAny10_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef10_t)
     D                                     dim(DIM_A35)
      *
      *
     D s1_RpgArrayOfAny11_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef11_t)
     D                                     dim(DIM_A38)
      *
      *
     D s1_RpgArrayOfAny12_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef12_t)
     D                                     dim(DIM_A41)
      *
      *
     D s1_RpgArrayOfAny13_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef13_t)
     D                                     dim(DIM_A45)
      *
      *
     D s1_RpgArrayOfAny14_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef14_t)
     D                                     dim(DIM_A48)
      *
      *
     D s1_RpgArrayOfAny15_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef15_t)
     D                                     dim(DIM_A50)
      *
      *
     D s1_RpgArrayOfAny16_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef16_t)
     D                                     dim(DIM_A52)
      *
      *
     D s1_RpgArrayOfAny2_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef2_t)
     D                                     dim(DIM_A5)
      *
      *
     D s1_RpgArrayOfAny3_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef3_t)
     D                                     dim(DIM_A8)
      *
      *
     D s1_RpgArrayOfAny4_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef4_t)
     D                                     dim(DIM_A12)
      *
      *
     D s1_RpgArrayOfAny5_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef5_t)
     D                                     dim(DIM_A15)
      *
      *
     D s1_RpgArrayOfAny6_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef6_t)
     D                                     dim(DIM_A19)
      *
      *
     D s1_RpgArrayOfAny7_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef7_t)
     D                                     dim(DIM_A25)
      *
      *
     D s1_RpgArrayOfAny8_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef8_t)
     D                                     dim(DIM_A28)
      *
      *
     D s1_RpgArrayOfAny9_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_AnyRef9_t)
     D                                     dim(DIM_A32)
      *
      *
     D s1_RpgArrayOfDescription_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string9_t)
     D                                     dim(DIM_A2)
      *
      *
     D s1_RpgArrayOfDescription1_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string2_t)
     D                                     dim(DIM_A6)
      *
      *
     D s1_RpgArrayOfDescription2_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string_t)
     D                                     dim(DIM_A9)
      *
      *
     D s1_RpgArrayOfDescription3_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string6_t)
     D                                     dim(DIM_A16)
      *
      *
     D s1_RpgArrayOfDescription4_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string4_t)
     D                                     dim(DIM_A20)
      *
      *
     D s1_RpgArrayOfDescription5_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string12_t)
     D                                     dim(DIM_A26)
      *
      *
     D s1_RpgArrayOfDescription6_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string10_t)
     D                                     dim(DIM_A29)
      *
      *
     D s1_RpgArrayOfDescription7_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string15_t)
     D                                     dim(DIM_A33)
      *
      *
     D s1_RpgArrayOfDescription8_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string13_t)
     D                                     dim(DIM_A39)
      *
      *
     D s1_RpgArrayOfDescription9_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string14_t)
     D                                     dim(DIM_A46)
      *
      *
     D s1_RpgArrayOfMaterialClass_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  MaterialClassType...
     D                                     likeds(s1_MaterialClassType_t)
     D                                     dim(DIM_A4)
      *
      *
     D s1_RpgArrayOfMaterialClassID_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string7_t)
     D                                     dim(DIM_A17)
      *
      *
     D s1_RpgArrayOfMaterialClassProperty_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  MaterialClassPropertyType...
     D                                     likeds(s1_MaterialClassPropertyTyp...
     D                                     e_t)
     D                                     dim(DIM_A7)
      *
      *
     D s1_RpgArrayOfMaterialDefinition_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  MaterialDefinitionType...
     D                                     likeds(s1_MaterialDefinitionType_t)
     D                                     dim(DIM_A14)
      *
      *
     D s1_RpgArrayOfMaterialDefinitionID_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string3_t)
     D                                     dim(DIM_A13)
      *
      *
     D s1_RpgArrayOfMaterialDefinitionProperty_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  MaterialDefinitionPropertyType...
     D                                     likeds(s1_MaterialDefinitionProper...
     D                                     tyType_t)
     D                                     dim(DIM_A18)
      *
      *
     D s1_RpgArrayOfMaterialLot_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  MaterialLotType...
     D                                     likeds(s1_MaterialLotType_t)
     D                                     dim(DIM_A24)
      *
      *
     D s1_RpgArrayOfMaterialLotID_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string8_t)
     D                                     dim(DIM_A23)
      *
      *
     D s1_RpgArrayOfMaterialLotProperty_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  MaterialLotPropertyType...
     D                                     likeds(s1_MaterialLotPropertyType_t)
     D                                     dim(DIM_A27)
      *
      *
     D s1_RpgArrayOfMaterialSubLot_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  MaterialSubLotType...
     D                                     likeds(s1_MaterialSubLotType_t)
     D                                     dim(DIM_A43)
      *
      *
     D s1_RpgArrayOfMaterialSubLot1_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  MaterialSubLotType...
     D                                     likeds(s1_MaterialSubLotType_t)
     D                                     dim(DIM_A37)
      *
      *
     D s1_RpgArrayOfQuantity_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  QuantityType                       likeds(s1_QuantityType_t)
     D                                     dim(DIM_A42)
      *
      *
     D s1_RpgArrayOfQuantity1_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  QuantityType                       likeds(s1_QuantityType_t)
     D                                     dim(DIM_A40)
      *
      *
     D s1_RpgArrayOfQAMaterialTestSpecification_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  QAMaterialTestSpecificationType...
     D                                     likeds(s1_QAMaterialTestSpecificat...
     D                                     ionType_t)
     D                                     dim(DIM_A44)
      *
      *
     D s1_RpgArrayOfQAMaterialTestSpecificationID_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string1_t)
     D                                     dim(DIM_A10)
      *
      *
     D s1_RpgArrayOfQAMaterialTestSpecificationID1_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string5_t)
     D                                     dim(DIM_A21)
      *
      *
     D s1_RpgArrayOfQAMaterialTestSpecificationID2_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  string                             like(xsd_string_of_string11_t)
     D                                     dim(DIM_A30)
      *
      *
     D s1_RpgArrayOfResult_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  ResultType                         likeds(s1_ResultType_t)
     D                                     dim(DIM_A34)
      *
      *
     D s1_RpgArrayOfTestedMaterialClassProperty_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  TestedMaterialClassPropertyType...
     D                                     likeds(s1_TestedMaterialClassPrope...
     D                                     rtyType_t)
     D                                     dim(DIM_A47)
      *
      *
     D s1_RpgArrayOfTestedMaterialDefinitionProperty_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  TestedMaterialDefinitionPropertyType...
     D                                     likeds(s1_TestedMaterialDefinition...
     D                                     PropertyType_t)
     D                                     dim(DIM_A49)
      *
      *
     D s1_RpgArrayOfTestedMaterialLotProperty_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  TestedMaterialLotPropertyType...
     D                                     likeds(s1_TestedMaterialLotPropert...
     D                                     yType_t)
     D                                     dim(DIM_A51)
      *
      *
     D s1_RpgArrayOfTestResult_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  TestResultType...
     D                                     likeds(s1_TestResultType_t)
     D                                     dim(DIM_A31)
      *
      *
     D s1_RpgArrayOfValue_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  ValueType                          likeds(s1_ValueType_t)
     D                                     dim(DIM_A11)
      *
      *
     D s1_RpgArrayOfValue1_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  ValueType                          likeds(s1_ValueType_t)
     D                                     dim(DIM_A22)
      *
      *
     D s1_RpgArrayOfValue2_t...
     D                 DS                  template
     D                                     qualified
     D  x                            10I 0
     D  ValueType                          likeds(s1_ValueType_t)
     D                                     dim(DIM_A36)
      *
      *
     D s1_TestedMaterialClassPropertyType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny14_t)
     D  MaterialClassID...
     D                              128A   varying
     D  PropertyID                  128A   varying
      *
      *
     D s1_TestedMaterialDefinitionPropertyType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny15_t)
     D  MaterialDefinitionID...
     D                              128A   varying
     D  PropertyID                  128A   varying
      *
      *
     D s1_TestedMaterialLotPropertyType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny16_t)
     D  MaterialLotID               128A   varying
     D  PropertyID                  128A   varying
      *
      *
     D s1_TestResultType_t...
     D                 DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny9_t)
     D  Description                        likeds(s1_RpgArrayOfDescription7_t)
     D  ExpirationTime...
     D                                 Z
     D  ID                          128A   varying
     D  Result                             likeds(s1_RpgArrayOfResult_t)
     D  TestDateTime                   Z
      *
      *
     D s1_ValueType_t  DS                  template
     D                                     qualified
     D  Any                                likeds(s1_RpgArrayOfAny4_t)
     D  DataType                           like(s1_DataType1Type_t)
     D  Key                         128A   varying
     D  UnitOfMeasure               128A   varying
     D  ValueString                 128A   varying
      *
     D xsd_string_of_string_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string1_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string10_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string11_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string12_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string13_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string14_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string15_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string2_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string3_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string4_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string5_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string6_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string7_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string8_t...
     D                 S            128A   varying
     D                                     template
     D xsd_string_of_string9_t...
     D                 S            128A   varying
     D                                     template
      *
      *   Public prototypes
      *
      *   Web service: Returns the endpoint of the Web service
     D MaterialInformationSoap_Port_getEndpoint...
     D                 PR         32767A          varying
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_getEndpoint+
     D                                     ')
      *
      *   Web service: Sets the endpoint of the Web service
     D MaterialInformationSoap_Port_setEndpoint...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_setEndpoint+
     D                                     ')
     D  i_url                     32767A   const varying  options(*varsize)
      *
      *   Web service: Returns the host name of the Web Service endpoint
     D MaterialInformationSoap_Endpoint_getHost...
     D                 PR         32767A          varying
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Endpoint_getHost+
     D                                     ')
      *
      *   Web service: Sets the host name of the Web service endpoint
     D MaterialInformationSoap_Endpoint_setHost...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Endpoint_setHost+
     D                                     ')
     D  i_url                     32767A   const varying  options(*varsize)
      *
      *   Web service: Returns the port of the Web Service endpoint
     D MaterialInformationSoap_Endpoint_getPort...
     D                 PR            10I 0
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Endpoint_getPort+
     D                                     ')
      *
      *   Web service: Sets the port of the Web service endpoint
     D MaterialInformationSoap_Endpoint_setPort...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Endpoint_setPort+
     D                                     ')
     D  i_port                       10I 0 const
      *
      *   Web service: Sets the proxy server to use for the connection
     D MaterialInformationSoap_Port_setHttpProxy...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_setHttpProxy+
     D                                     ')
     D  i_server                    256A   const
     D  i_port                       10I 0 const
      *
      *   Web service: Returns the proxy server to use for the connection
     D MaterialInformationSoap_Port_getHttpProxy...
     D                 PR                         likeds(wsdl_proxy_t )
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_getHttpProxy+
     D                                     ')
      *
      *   Web service: Enables/disables the debug log of HTTP API
     D MaterialInformationSoap_Port_setHttpDebug...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_setHttpDebug+
     D                                     ')
     D   i_status                      N   const
     D   i_fileName                 500A   const  varying  options(*nopass)
      *
      *   Web service: Returns the HTTP API debug settings
     D MaterialInformationSoap_Port_getHttpDebug...
     D                 PR                         likeds(wsdl_httpDebug_t )
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_getHttpDebug+
     D                                     ')
      *
      *   Web service: Sets the CCSID used for POST data.
     D MaterialInformationSoap_Port_setPostCcsid...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_setPostCcsid+
     D                                     ')
     D  i_post_ccsid                 10I 0 const
      *
      *   Web service: Returns the CCSID used for POST data.
     D MaterialInformationSoap_Port_getPostCcsid...
     D                 PR            10I 0
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_getPostCcsid+
     D                                     ')
      *
      *   Web service: Clears all error information
     D MaterialInformationSoap_Port_clearErrors...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_clearErrors+
     D                                     ')
     D  io_errors                                 likeds(wsdl_errors_t )
      *
      *   Web service: Sets error information
     D MaterialInformationSoap_Port_setErrors...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_setErrors+
     D                                     ')
     D  i_errors                           const  likeds(wsdl_errors_t )
      *
      *   Http: Returns cTrue in case of an error, else cFalse.
     D MaterialInformationSoap_Port_isError...
     D                 PR              N
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_isError+
     D                                     ')
      *
      *   Http: Returns the last HTTP error (code) that occurred.
     D MaterialInformationSoap_HttpError_getCode...
     D                 PR                  like(wsdl_http_ErrorNo_t  )
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _HttpError_getCode+
     D                                     ')
      *
      *   Http: Returns the last HTTP error (text) that occurred.
     D MaterialInformationSoap_HttpError_getText...
     D                 PR                  like(wsdl_http_ErrorText_t)
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _HttpError_getText+
     D                                     ')
      *
      *   Soap: Returns the last SOAP error (code) that occurred.
     D MaterialInformationSoap_SoapError_getCode...
     D                 PR                  like(wsdl_soap_faultcode_t  )
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _SoapError_getCode+
     D                                     ')
      *
      *   Soap: Returns the last SOAP error (text) that occurred.
     D MaterialInformationSoap_SoapError_getText...
     D                 PR                  like(wsdl_soap_faultstring_t)
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _SoapError_getText+
     D                                     ')
      *
      *   Soap: Returns the last XML error (code) that occurred.
     D MaterialInformationSoap_XmlError_getCode...
     D                 PR                  like(wsdl_xml_errorNo_t    )
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _XmlError_getCode+
     D                                     ')
      *
      *   Soap: Returns the last XML error (text) that occurred.
     D MaterialInformationSoap_XmlError_getText...
     D                 PR                  like(wsdl_xml_ErrorText_t  )
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _XmlError_getText+
     D                                     ')
      *
      *   Registers an user callback procedure, that is called whenever
      *   a web service requires user authentification.
     D MaterialInformationSoap_Port_registerLoginCallback...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_registerLoginCallback+
     D                                     ')
     D  i_pLoginProc                   *   value  procptr
      *
      *   Returns *ON if a login procedures has been registered.
     D MaterialInformationSoap_Port_hasLoginCallback...
     D                 PR              N
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_hasLoginCallback+
     D                                     ')
      *
      *   Login to proxy server or web service.
     D MaterialInformationSoap_Port_login...
     D                 PR            10I 0
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_login+
     D                                     ')
     D  i_http_err                   10I 0 value
     D  i_numAttempts                10I 0 value
      *
      *   Returns the name of the web service port.
     D MaterialInformationSoap_Port_getName...
     D                 PR           512A          varying
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_getName+
     D                                     ')
      *
      *   Returns the UUID of the web service port.
     D MaterialInformationSoap_Port_getUuid...
     D                 PR                         like(wsdl_uuid_t )
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Port_getUuid+
     D                                     ')
      *
      *   Adds an attachments to the list of attachments.
     D MaterialInformationSoap_Attachments_put...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Attachments_put+
     D                                     ')
     D  i_attachmentID...
     D                                     const  like(wsdl_attachmentID_t )
     D  i_fileName                         const  like(wsdl_path_t         )
     D  i_uuid                             const  like(wsdl_uuid_t         )
     D                                            options(*nopass)
      *
      *   Returns the file name of the attachment that is associated to
      *   a given content ID.
     D MaterialInformationSoap_Attachments_get...
     D                 PR                  like(wsdl_path_t     )
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Attachments_get+
     D                                     ')
     D  i_attachmentID...
     D                                     const  like(wsdl_attachmentID_t )
     D  i_uuid                             const  like(wsdl_uuid_t         )
     D                                            options(*nopass)
      *
      *   Returns the file name of the attachment that is associated to
      *   a given index.
     D MaterialInformationSoap_Attachments_getAtPos...
     D                 PR                  likeds(wsdl_attachment_t )
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Attachments_getAtPos+
     D                                     ')
     D  i_index                      10I 0 const
     D  i_uuid                             const  like(wsdl_uuid_t         )
     D                                            options(*nopass)
      *
      *   Returns the number of attachments that were downloaded with the
      *   last call to the web service.
     D MaterialInformationSoap_Attachments_getNumE...
     D                 PR            10I 0
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Attachments_getNumE+
     D                                     ')
     D  i_uuid                             const  like(wsdl_uuid_t         )
     D                                            options(*nopass)
      *
      *   Removes all attachments from the list of attachments of this web service.
     D MaterialInformationSoap_Attachments_removeAll...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Attachments_removeAll+
     D                                     ')
     D  i_uuid                             const  like(wsdl_uuid_t         )
     D                                            options(*nopass)
      *
      *   Specifies the name of the folder where to put attachments in.
     D MaterialInformationSoap_Attachments_setFolder...
     D                 PR
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Attachments_setFolder+
     D                                     ')
     D  i_folder                           const  like(wsdl_pathLong_t )
      *
      *   Returns the name of the folder where attachments are stored.
     D MaterialInformationSoap_Attachments_getFolder...
     D                 PR                         like(wsdl_pathLong_t )
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _Attachments_getFolder+
     D                                     ')
      *
      /ENDIF
      /IF DEFINED(PROTOTYPE_WS0001)
      /EOF
      /ENDIF
      * ---------------------------------------------------------------------
      *
      * ------------------------------------
      *  Imported prototypes
      * ------------------------------------
 CPY  /COPY QBASICS1,PBASICS1                      Tools/400 Runtime Library
 CPY  /COPY QRPGLESRC,HTTPAPI_H                    HTTP-API Service Program
      *
 CPY  /COPY QWSDL2RPG,PWSDL2R71                    WSDL2RPG: HTTP Debug Log
 CPY  /COPY QWSDL2RPG,PWSDL2R89                    WSDL2RPG: List of Attachments
      *
      * ------------------------------------
      *  Internal prototypes
      * ------------------------------------
      *
     D getEndpoint...
     D                 PR         32767A          varying
     D                                     extproc('+
     D                                     getEndpoint+
     D                                     ')
      *
     D setEndpoint...
     D                 PR
     D                                     extproc('+
     D                                     setEndpoint+
     D                                     ')
     D  i_url                     32767A   const varying  options(*varsize)
      *
      * ------------------------------------
      *  Global fields & constants
      * ------------------------------------
      *
      *   Web service port name
     D cWEB_SERVICE_PORT_NAME...
     D                 C                   'MaterialInformationSoap'
      *
      *   UUID of the web service as generated by WSDL2RPG
     D cWEB_SERVICE_UUID...
     D                 C                   '5B0D5001A5411959AEC00004AC12B572'
      *
      *   Default and current attachment folder
     D cATTACHMENT_FOLDER...
     D                 C                   '/tmp/attachments/'
      *
      *   Default POST data CCSID (1208 = UTF-8)
     D cPOST_DATA_CCSID...
     D                 C                   1208
      *
      *   Web service endpoint as specified in the WSDL file.
     D cURL            C                   'http://vega-facts01/FactsWebService+
     D                                     s/MaterialInformation/MaterialInform+
     D                                     ation.asmx'
      *
      *   Web service endpoint
     D g_url           S          32767A   varying inz(cURL)
      *
      *   Proxy server to use
     D g_proxy         DS                  likeds(wsdl_proxy_t     ) inz
      *
      *   HTTPAPI debug settings
     D g_httpDebug     DS                  likeds(wsdl_httpDebug_t ) inz
      *
      *   POST data CCSID (1208 = UTF-8)
     D g_post_ccsid...
     D                 S             10I 0 inz(cPOST_DATA_CCSID)
      *
     D g_attachmentFolder...
     D                 S                   like(wsdl_pathLong_t )
     D                                     inz(cATTACHMENT_FOLDER)
      *
      *   Web service error information
     D g_errors        DS                  likeds(wsdl_errors_t    ) inz
      *
      *   User callback to supply login information
      *   Returns WSDL_SUCCESS if successful, WSDL_ERROR upon error.
     D g_getLoginDataImpl...
     D                 S               *   procptr inz
      *
      *   User callback to supply login information
      *   Returns WSDL_SUCCESS if successful, WSDL_ERROR upon error.
      *
      *   Parameter description:
      *     i_authType         Authentication type:
      *                          WSDL_AUTH_TYPE_HTTP  - HTTP server.
      *                          WSDL_AUTH_TYPE_PROXY - Proxy server.
      *     i_realm            Authentication realm.
      *     i_numAttempts      Number of login attempts.
      *     o_user             UserName to use.
      *     o_password         Password to use.
      *
     D MaterialInformationSoap_supplyLoginData...
     D                 PR            10I 0
     D                                     extproc('+
     D                                     MaterialInformationSoap+
     D                                     _supplyLoginData+
     D                                     ')
     D  i_authType                   14A          const  varying
     D  i_realm                     126A          const  varying
     D  i_numAttempts                10I 0        const
     D  o_user                       50A                 varying
     D  o_password                   50A                 varying
      *
      * =====================================================================
      *   Web service: Returns the endpoint of the Web service
      * =====================================================================
     P MaterialInformationSoap_Port_getEndpoint...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_getEndpoint...
     D                 PI         32767A          varying
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return getEndpoint();

      /end-free
      *
     P MaterialInformationSoap_Port_getEndpoint...
     P                 E
      *
      * =====================================================================
      *   Web service: Sets the endpoint of the Web service
      * =====================================================================
     P MaterialInformationSoap_Port_setEndpoint...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_setEndpoint...
     D                 PI
     D  i_url                     32767A   const varying  options(*varsize)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         setEndpoint(%subst(i_url: 1: %len(i_url)));

         return;

      /end-free
      *
     P MaterialInformationSoap_Port_setEndpoint...
     P                 E
      *
      * =====================================================================
      *   Web service: Returns the host name of the Web Service endpoint
      * =====================================================================
     P MaterialInformationSoap_Endpoint_getHost...
     P                 B                   export
      *
     D MaterialInformationSoap_Endpoint_getHost...
     D                 PI         32767A          varying
      *
     D tmpUrl          S                   like(url_t ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         tmpUrl = URL_new(getEndpoint());

         return URL_getHost(tmpUrl);

      /end-free
      *
     P MaterialInformationSoap_Endpoint_getHost...
     P                 E
      *
      * =====================================================================
      *   Web service: Sets the host name of the Web service endpoint
      * =====================================================================
     P MaterialInformationSoap_Endpoint_setHost...
     P                 B                   export
      *
     D MaterialInformationSoap_Endpoint_setHost...
     D                 PI
     D  i_host                    32767A   const varying  options(*varsize)
      *
     D tmpUrl          S                   like(url_t ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         tmpUrl = URL_new(getEndpoint());
         URL_setHost(tmpUrl: %subst(i_host: 1: %len(i_host)));
         setEndpoint(URL_toString(tmpUrl));

         return;

      /end-free
      *
     P MaterialInformationSoap_Endpoint_setHost...
     P                 E
      *
      * =====================================================================
      *   Web service: Returns the port of the Web Service endpoint
      * =====================================================================
     P MaterialInformationSoap_Endpoint_getPort...
     P                 B                   export
      *
     D MaterialInformationSoap_Endpoint_getPort...
     D                 PI            10I 0
      *
     D tmpUrl          S                   like(url_t ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         tmpUrl = URL_new(getEndpoint());

         return URL_getPort(tmpUrl);

      /end-free
      *
     P MaterialInformationSoap_Endpoint_getPort...
     P                 E
      *
      * =====================================================================
      *   Web service: Sets the port of the Web service endpoint
      * =====================================================================
     P MaterialInformationSoap_Endpoint_setPort...
     P                 B                   export
      *
     D MaterialInformationSoap_Endpoint_setPort...
     D                 PI
     D  i_port                       10I 0 const
      *
     D tmpUrl          S                   like(url_t ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         tmpUrl = URL_new(getEndpoint());
         URL_setPort(tmpUrl: i_port);
         setEndpoint(URL_toString(tmpUrl));

         return;

      /end-free
      *
     P MaterialInformationSoap_Endpoint_setPort...
     P                 E
      *
      * =====================================================================
      *   Web service: Sets the proxy server to use for the connection
      * =====================================================================
     P MaterialInformationSoap_Port_setHttpProxy...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_setHttpProxy...
     D                 PI
     D  i_server                    256A   const
     D  i_port                       10I 0 const
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_proxy.server = i_server;

 B01     if (g_proxy.server = '');
            g_proxy.port = 0;
 X01     else;
            g_proxy.port = i_port;
 E01     endif;

         return;

      /end-free
      *
     P MaterialInformationSoap_Port_setHttpProxy...
     P                 E
      *
      * =====================================================================
      *   Web service: Returns the proxy server to use for the connection
      * =====================================================================
     P MaterialInformationSoap_Port_getHttpProxy...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_getHttpProxy...
     D                 PI                         likeds(wsdl_proxy_t )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_proxy;

      /end-free
      *
     P MaterialInformationSoap_Port_getHttpProxy...
     P                 E
      *
      * =====================================================================
      *   Web service: Enables/disables the debug log of HTTP API
      * =====================================================================
     P MaterialInformationSoap_Port_setHttpDebug...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_setHttpDebug...
     D                 PI
     D   i_status                      N   const
     D   i_fileName                 500A   const  varying  options(*nopass)
      *
      *  Parameter positions
     D p_fileName      C                   2
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_httpDebug.status = i_status;

 B01     if (%parms() >= p_fileName);
            g_httpDebug.fileName = i_fileName;
 X01     else;
            g_httpDebug.fileName = HTTP_API_DEFAULT_LOG_FILE;
 E01     endif;

 B01     if (i_status);
            http_DebugLog_open(g_httpDebug.fileName);
 X01     else;
            http_DebugLog_close();
 E01     endif;

         return;

      /end-free
      *
     P MaterialInformationSoap_Port_setHttpDebug...
     P                 E
      *
      * =====================================================================
      *   Web service: Returns the HTTP API debug settings
      * =====================================================================
     P MaterialInformationSoap_Port_getHttpDebug...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_getHttpDebug...
     D                 PI                         likeds(wsdl_httpDebug_t )
      *
      *  Parameter positions
     D p_fileName      C                   2
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

 B01     if (g_httpDebug.fileName = '');
            g_httpDebug.fileName = HTTP_API_DEFAULT_LOG_FILE;
 E01     endif;

         return g_httpDebug;

      /end-free
      *
     P MaterialInformationSoap_Port_getHttpDebug...
     P                 E
      *
      * =====================================================================
      *   Web service: Sets the CCSID used for POST data.
      * =====================================================================
     P MaterialInformationSoap_Port_setPostCcsid...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_setPostCcsid...
     D                 PI
     D  i_post_ccsid                 10I 0 const
      *
      *  Parameter positions
     D p_fileName      C                   2
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_post_ccsid = i_post_ccsid;

         return;

      /end-free
      *
     P MaterialInformationSoap_Port_setPostCcsid...
     P                 E
      *
      * =====================================================================
      *   Web service: Returns the CCSID used for POST
      * =====================================================================
     P MaterialInformationSoap_Port_getPostCcsid...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_getPostCcsid...
     D                 PI            10I 0
      *
      *  Parameter positions
     D p_fileName      C                   2
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_post_ccsid;

      /end-free
      *
     P MaterialInformationSoap_Port_getPostCcsid...
     P                 E
      *
      * =====================================================================
      *   Web service: Clears all error information.
      * =====================================================================
     P MaterialInformationSoap_Port_clearErrors...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_clearErrors...
     D                 PI
     D  io_errors                                 likeds(wsdl_errors_t )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         clear g_errors;
         g_errors.errType = WSDL_HTTP_SUCCESS;

         io_errors = g_errors;

         return;

      /end-free
      *
     P MaterialInformationSoap_Port_clearErrors...
     P                 E
      *
      * =====================================================================
      *   Web service: Sets error information of last service call.
      * =====================================================================
     P MaterialInformationSoap_Port_setErrors...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_setErrors...
     D                 PI
     D  i_errors                           const  likeds(wsdl_errors_t )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_errors = i_errors;

         return;

      /end-free
      *
     P MaterialInformationSoap_Port_setErrors...
     P                 E
      *
      * =====================================================================
      *   Http: Returns the last HTTP error (code) that occurred.
      * =====================================================================
     P MaterialInformationSoap_Port_isError...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_isError...
     D                 PI              N
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

 B01     if (g_errors.errType = WSDL_HTTP_SUCCESS);
            return cFalse;
 X01     else;
            return cTrue;
 E01     endif;

      /end-free
      *
     P MaterialInformationSoap_Port_isError...
     P                 E
      *
      * =====================================================================
      *   Http: Returns the last HTTP error (code) that occurred.
      * =====================================================================
     P MaterialInformationSoap_HttpError_getCode...
     P                 B                   export
      *
     D MaterialInformationSoap_HttpError_getCode...
     D                 PI                  like(wsdl_http_ErrorNo_t  )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_errors.httpError.no;

      /end-free
      *
     P MaterialInformationSoap_HttpError_getCode...
     P                 E
      *
      * =====================================================================
      *   Http: Returns the last HTTP error (text) that occurred.
      * =====================================================================
     P MaterialInformationSoap_HttpError_getText...
     P                 B                   export
      *
     D MaterialInformationSoap_HttpError_getText...
     D                 PI                  like(wsdl_http_ErrorText_t)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_errors.httpError.text;

      /end-free
      *
     P MaterialInformationSoap_HttpError_getText...
     P                 E
      *
      * =====================================================================
      *   Soap: Returns the last SOAP error (code) that occurred.
      * =====================================================================
     P MaterialInformationSoap_SoapError_getCode...
     P                 B                   export
      *
     D MaterialInformationSoap_SoapError_getCode...
     D                 PI                  like(wsdl_soap_faultcode_t  )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_errors.soapFault.code;

      /end-free
      *
     P MaterialInformationSoap_SoapError_getCode...
     P                 E
      *
      * =====================================================================
      *   Soap: Returns the last SOAP error (text) that occurred.
      * =====================================================================
     P MaterialInformationSoap_SoapError_getText...
     P                 B                   export
      *
     D MaterialInformationSoap_SoapError_getText...
     D                 PI                  like(wsdl_soap_faultstring_t)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_errors.soapFault.string;

      /end-free
      *
     P MaterialInformationSoap_SoapError_getText...
     P                 E
      *
      * =====================================================================
      *   XML: Returns the last XML error (code) that occurred.
      * =====================================================================
     P MaterialInformationSoap_XmlError_getCode...
     P                 B                   export
      *
     D MaterialInformationSoap_XmlError_getCode...
     D                 PI                  like(wsdl_xml_ErrorNo_t    )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_errors.xmlError.code;

      /end-free
      *
     P MaterialInformationSoap_XmlError_getCode...
     P                 E
      *
      * =====================================================================
      *   XML: Returns the last XML error (text) that occurred.
      * =====================================================================
     P MaterialInformationSoap_XmlError_getText...
     P                 B                   export
      *
     D MaterialInformationSoap_XmlError_getText...
     D                 PI                  like(wsdl_xml_ErrorText_t  )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_errors.xmlError.text;

      /end-free
      *
     P MaterialInformationSoap_XmlError_getText...
     P                 E
      *
      * =====================================================================
      *   Registers an user callback procedure, that is called whenever
      *   a web service requires user authentification.
      * =====================================================================
     P MaterialInformationSoap_Port_registerLoginCallback...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_registerLoginCallback...
     D                 PI
  D  D  i_pLoginProc                   *   value  procptr
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_getLoginDataImpl = i_pLoginProc;

         return;

      /end-free
      *
     P MaterialInformationSoap_Port_registerLoginCallback...
     P                 E
      *
      * =====================================================================
      *   Returns *ON if a login procedures has been registered.
      * =====================================================================
     P MaterialInformationSoap_Port_hasLoginCallback...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_hasLoginCallback...
     D                 PI              N
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

 B01     if (g_getLoginDataImpl <> *NULL);
            return *ON;
 E01     endif;

         return *OFF;

      /end-free
      *
     P MaterialInformationSoap_Port_hasLoginCallback...
     P                 E
      *
      * =====================================================================
      *   Login to proxy server or web service.
      * =====================================================================
     P MaterialInformationSoap_Port_login...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_login...
     D                 PI            10I 0
     D  i_http_err                   10I 0 value
     D  i_numAttempts                10I 0 value
      *
      *  Return value
     D rc              S             10I 0 inz
      *
      *  Helper fields
     D basic           S               N   inz
     D digest          S               N   inz
     D realm           S            124A   inz
     D authType        S             14A   inz varying
     D userid          S             50A   inz varying
     D password        S             50A   inz varying
      *
     D getLoginDataImpl...
     D                 PR            10I 0
     D                                     extproc(g_getLoginDataImpl)
     D  i_authType                   14A          const  varying
     D  i_realm                     126A          const  varying
     D  i_numAttempts                10I 0        const
     D  o_user                       50A                 varying
     D  o_password                   50A                 varying
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

 B01     if (i_http_err = HTTP_NDAUTH);
            http_getauth(basic: digest: realm);
            authType = WSDL_AUTH_TYPE_HTTP;
 X01     else;
            http_proxy_getauth(basic: realm);
            authType = WSDL_AUTH_TYPE_PROXY;
 E01     endif;

         rc = getLoginDataImpl(authType: realm
                               : i_numAttempts: userid: password);
 B01     if (rc <> 1);
            userid = '';
            password = '';
            return rc;
 E01     endif;

 B01     if (i_http_err = HTTP_NDAUTH);
 B02        if (digest);
               http_setAuth(HTTP_AUTH_MD5_DIGEST
                            : userid: password);
 X02        else;
               http_setAuth(HTTP_AUTH_BASIC
                            : userid: password);
 E02        endif;
 X01     else;
 B02        if (digest);
               http_proxy_setAuth(HTTP_AUTH_MD5_DIGEST
                                  : userid: password);
 X02        else;
               http_proxy_setAuth(HTTP_AUTH_BASIC
                                  : userid: password);
 E02        endif;
 E01     endif;

         userid = '';
         password = '';

         return rc;

      /end-free
      *
     P MaterialInformationSoap_Port_login...
     P                 E
      *
      * =====================================================================
      *   Returns the name of the web service port.
      * =====================================================================
     P MaterialInformationSoap_Port_getName...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_getName...
     D                 PI                         like(wsdl_portName_t )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return cWEB_SERVICE_PORT_NAME;

      /end-free
      *
     P MaterialInformationSoap_Port_getName...
     P                 E
      *
      * =====================================================================
      *   Returns the UUID of the web service port.
      * =====================================================================
     P MaterialInformationSoap_Port_getUuid...
     P                 B                   export
      *
     D MaterialInformationSoap_Port_getUuid...
     D                 PI                         like(wsdl_uuid_t )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return cWEB_SERVICE_UUID;

      /end-free
      *
     P MaterialInformationSoap_Port_getUuid...
     P                 E
      *
      * =====================================================================
      *   Adds an attachments to the list of attachments.
      * =====================================================================
     P MaterialInformationSoap_Attachments_put...
     P                 B                   export
      *
     D MaterialInformationSoap_Attachments_put...
     D                 PI
     D  i_attachmentID...
     D                                     const  like(wsdl_attachmentID_t )
     D  i_fileName                         const  like(wsdl_path_t         )
     D  i_uuid                             const  like(wsdl_uuid_t         )
     D                                            options(*nopass)
      *
     D p_uuid          C                   3
      *
     D uuid            S                   like(i_uuid          ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

 B01     if (%parms() >= p_uuid);
            uuid = i_uuid;
 X01     else;
            uuid = MaterialInformationSoap_Port_getUuid();
 E01     endif;

         Attachments_put(Attachments_theInstance()
                         : uuid
                         : i_attachmentID
                         : i_fileName);

         return;

      /end-free
      *
     P MaterialInformationSoap_Attachments_put...
     P                 E
      *
      * =====================================================================
      *   Returns the file name of the attachment that is associated to
      *   a given content ID.
      * =====================================================================
     P MaterialInformationSoap_Attachments_get...
     P                 B                   export
      *
     D MaterialInformationSoap_Attachments_get...
     D                 PI                  like(wsdl_path_t     )
     D  i_attachmentID...
     D                                     const  like(wsdl_attachmentID_t )
     D  i_uuid                             const  like(wsdl_uuid_t         )
     D                                            options(*nopass)
      *
     D p_uuid          C                   2
      *
     D uuid            S                   like(i_uuid          ) inz
     D fileName        S                   like(wsdl_path_t     ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

 B01     if (%parms() >= p_uuid);
            uuid = i_uuid;
 X01     else;
            uuid = MaterialInformationSoap_Port_getUuid();
 E01     endif;

         fileName = Attachments_get(Attachments_theInstance()
                                    : uuid
                                    : i_attachmentID);
         return fileName;

      /end-free
      *
     P MaterialInformationSoap_Attachments_get...
     P                 E
      *
      * =====================================================================
      *   Returns the file name of the attachment that is associated to
      *   a given index.
      * =====================================================================
     P MaterialInformationSoap_Attachments_getAtPos...
     P                 B                   export
      *
     D MaterialInformationSoap_Attachments_getAtPos...
     D                 PI                  likeds(wsdl_attachment_t )
     D  i_index                      10I 0 const
     D  i_uuid                             const  like(wsdl_uuid_t         )
     D                                            options(*nopass)
      *
     D p_uuid          C                   2
      *
     D uuid            S                   like(i_uuid          ) inz
     D attachment      DS                  likeds(wsdl_attachment_t ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

 B01     if (%parms() >= p_uuid);
            uuid = i_uuid;
 X01     else;
            uuid = MaterialInformationSoap_Port_getUuid();
 E01     endif;

         attachment = Attachments_getAtPos(Attachments_theInstance()
                                           : uuid
                                           : i_index);
         return attachment;

      /end-free
      *
     P MaterialInformationSoap_Attachments_getAtPos...
     P                 E
      *
      * =====================================================================
      *   Returns the number of attachments that were downloaded with
      *   the last call of the web service.
      * =====================================================================
     P MaterialInformationSoap_Attachments_getNumE...
     P                 B                   export
      *
     D MaterialInformationSoap_Attachments_getNumE...
     D                 PI            10I 0
     D  i_uuid                             const  like(wsdl_uuid_t         )
     D                                            options(*nopass)
      *
     D p_uuid          C                   1
      *
     D uuid            S                   like(i_uuid          ) inz
     D numE            S             10I 0 inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

 B01     if (%parms() >= p_uuid);
            uuid = i_uuid;
 X01     else;
            uuid = MaterialInformationSoap_Port_getUuid();
 E01     endif;

         numE = Attachments_getNumAttachments(
                      Attachments_theInstance(): uuid);

         return numE;

      /end-free
      *
     P MaterialInformationSoap_Attachments_getNumE...
     P                 E
      *
      * =====================================================================
      *   Removes all attachments from the list of attachments of
      *   this web service.
      * =====================================================================
     P MaterialInformationSoap_Attachments_removeAll...
     P                 B                   export
      *
     D MaterialInformationSoap_Attachments_removeAll...
     D                 PI
     D  i_uuid                             const  like(wsdl_uuid_t         )
     D                                            options(*nopass)
      *
     D p_uuid          C                   1
      *
     D uuid            S                   like(i_uuid          ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

 B01     if (%parms() >= p_uuid);
            uuid = i_uuid;
 X01     else;
            uuid = MaterialInformationSoap_Port_getUuid();
 E01     endif;

         Attachments_removeAll(Attachments_theInstance(): uuid);

         return;

      /end-free
      *
     P MaterialInformationSoap_Attachments_removeAll...
     P                 E
      *
      * =====================================================================
      *   Specifies the name of the folder where to put attachments in.
      * =====================================================================
     P MaterialInformationSoap_Attachments_setFolder...
     P                 B                   export
      *
     D MaterialInformationSoap_Attachments_setFolder...
     D                 PI
     D  i_folder                           const  like(wsdl_pathLong_t )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_attachmentFolder = i_folder;

         g_attachmentFolder = %trimR(%xlate('\': '/': g_attachmentFolder));
 B01     if (not f_endsWith('/': g_attachmentFolder));
            g_attachmentFolder = g_attachmentFolder + '/';
 E01     endif;

         return;

      /end-free
      *
     P MaterialInformationSoap_Attachments_setFolder...
     P                 E
      *
      * =====================================================================
      *   Returns the name of the folder where attachments are stored.
      * =====================================================================
     P MaterialInformationSoap_Attachments_getFolder...
     P                 B                   export
      *
     D MaterialInformationSoap_Attachments_getFolder...
     D                 PI                         like(wsdl_pathLong_t )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_attachmentFolder;

      /end-free
      *
     P MaterialInformationSoap_Attachments_getFolder...
     P                 E
      *
      * =====================================================================
      *   Internal procedure to get the endpoint.
      * =====================================================================
     P getEndpoint...
     P                 B
      *
     D getEndpoint...
     D                 PI         32767A          varying
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_url;

      /end-free
      *
     P getEndpoint...
     P                 E
      *
      * =====================================================================
      *   Internal procedure to set the endpoint.
      * =====================================================================
     P setEndpoint...
     P                 B
      *
     D setEndpoint...
     D                 PI
     D  i_url                     32767A   const varying  options(*varsize)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_url = %subst(i_url: 1: %len(i_url));

      /end-free
      *
     P setEndpoint...
     P                 E
      * 
      /IF NOT DEFINED(PROTOTYPE_WS000101)                                                           
      *======================================================================                       
      *  Generated by WSDL2RPG 1.15beta4 / 08.01.2012                                               
      *  Built on Jan 16, 2012 (15:01:03)                                                           
      *  Built for V6R1M0                                                                           
      *  Based on WS_OPER v1.15                                                                     
      *======================================================================                       
      *                                                                                             
      *   This source member is the RPG web service stub of the                                     
      *   following Web Service operation:                                                          
      *                                                                                             
      *      Port      :  MaterialInformationSoap                                                   
      *      Operation :  ProcessMaterialInformation()                                              
      *                                                                                             
      *   Please search for 'INFO:' to get basic information how to call                            
      *   the web service.                                                                          
      *                                                                                             
      *   Default attachment handling (for demonstration) was added to                              
      *   WS_OPER but is disabled by default.                                                       
      *                                                                                             
      *   In order to enable or disable default attachment handling you have                        
      *   to define or undefine the following compiler condition name:                              
      *      DEFAULT_ATTACHMENT_HANDLING                                                            
      /UNDEFINE DEFAULT_ATTACHMENT_HANDLING                                                         
      *                                                                                             
      *   By default attachments are stored in folder:                                              
      *      '/tmp/attachments'                                                                     
      *                                                                                             
      *   You can change the default attachment folder by calling the                               
      *   following procedure before calling the web service:                                       
      *      MaterialInformationSoap_Attachments_setFolder()                                        
      *                                                                                             
      *   Default attachment handling was added to demonstrate how                                  
      *   to manage attachments. Please search the generate stub                                    
      *   module for 'TODO:' to see what code belongs to attachment                                 
      *   support.                                                                                  
      *                                                                                             
      *======================================================================                       
      *   Pre-Compiler tags used by STRPREPRC to retrieve creation                                  
      *   commands from the source member.                                                          
      * ---------------------------------------------------------------------                       
      * >>PRE-COMPILER<<                                                                            
      *   >>CRTCMD<< CRTRPGMOD    MODULE(&LI/&OB) +                                                 
      *                           SRCFILE(&SL/&SF) +                                                
      *                           SRCMBR(&SM);                                                      
      *   >>COMPILE<<                                                                               
      *     >>PARM<< TRUNCNBR(*NO);                                                                 
      *     >>PARM<< DBGVIEW(*LIST);                                                                
      *   >>END-COMPILE<<                                                                           
      *   >>EXECUTE<<                                                                               
      * >>END-PRE-COMPILER<<                                                                        
      *======================================================================                       
     H NOMAIN                                                                                       
     H DEBUG                                                                                        
     H BNDDIR('HTTPAPI': 'QC2LE')                                                                   
     H OPTION(*SRCSTMT : *NODEBUGIO)                                                                
     H EXTBININT(*YES)                                                                              
      *                                                                                             
      *  Do not change or remove this compiler condition!                                           
      /DEFINE NO_CONST_ON_INPUT_PARAMETERS                                                          
      /ENDIF                                                                                        
      /IF NOT DEFINED(PROTOTYPE_DEFINED_WS000101)                                                   
      /DEFINE PROTOTYPE_DEFINED_WS000101                                                            
      *                                                                                             
      * INFO:                                                                                       
      * This is the procedure you call to consume the Web Service:                                  
      * ----------------------------------------------------------                                  
      * Operation: ProcessMaterialInformation                                                       
      * Returns  : ProcessMaterialInformationResponse                                               
      *                                                                                             
      * INFO:                                                                                       
      * Define your own fields using the type templates used in the prototype                       
      * below. Use LIKE(*_t) or LIKEDS(*_t) to define these fields.                                 
      * All type templates of this web service are defined in web service                           
      * module:   WS0001                                                                            
      *                                                                                             
     D MaterialInformationSoap_ProcessMaterialInform...                                             
     D ation...                                                                                     
     D                 PR                  likeds(tns_ProcessMaterialInformat...                    
     D                                     ionResponse_t)                                           
     D                                     extproc('MaterialInformationSoap_Pro+                    
     D                                     cessMaterialInformation')                                
     D  i_tns_ProcessMaterialInformation...                                                         
     D                                     likeds(tns_ProcessMaterialInformat...                    
     D                                     ion_t)                                                   
      /IF NOT DEFINED(NO_CONST_ON_INPUT_PARAMETERS)                                                 
     D                                     const                                                    
      /ENDIF                                                                                        
     D  o_msg                              like(wsdl_errText_t )                                    
      *                                                                                             
 CPY  /COPY QWSDL2RPG,TYPES_H                                                                       
      *                                                                                             
      /DEFINE PROTOTYPE_WS0001                                                                      
 CPY  /COPY R8LKVSRCI/VEXSRCL,WS0001               Web Service: Web Service Proc                    
      /UNDEFINE PROTOTYPE_WS0001                                                                    
      *                                                                                             
      /ENDIF                                                                                        
      /IF DEFINED(PROTOTYPE_WS000101)                                                               
      /EOF                                                                                          
      /ENDIF                                                                                        
      * ---------------------------------------------------------------------                       
      *                                                                                             
 CPY  /COPY QBASICS1,PBASICS1                      Tools/400 Runtime Library                        
 CPY  /COPY QMIME,PMIME                            Tools/400 MIME Parser                            
 CPY  /COPY QMIME,HTTPMIME_H                       Tools/400 MIME Parser to HTTP API adapter        
 CPY  /COPY QRPGLESRC,HTTPAPI_H                    HTTP-API Service Program                         
 CPY  /COPY QWSDL2RPG,PWSDL2R70                    WSDL2RPG: HTTP API Header Extensions             
 CPY  /COPY QWSDL2RPG,PWSDL2R71                    WSDL2RPG: HTTP Debug Log                         
 CPY  /COPY QWSDL2RPG,PWSDL2R86                    WSDL2RPG: Stream                                 
 CPY  /COPY QWSDL2RPG,PWSDL2R87                    WSDL2RPG: ManagedMemoryDataSource                
 CPY  /COPY QWSDL2RPG,PWSDL2R88                    WSDL2RPG: Public Helper Procedures               
 CPY  /COPY QWSDL2RPG,PWSDL2R90                    WSDL2RPG: AppMsg                                 
 CPY  /COPY QWSDL2RPG,PWSDL2R94                    WSDL2RPG: MultiRef                               
 CPY  /COPY QWSDL2RPG,PWSDL2R97                    WSDL2RPG: eXpat Adapter                          
 CPY  /COPY QWSDL2RPG,PWSDL2R98                    WSDL2RPG: UnMarshaller/Marshaller                
 CPY  /COPY QWSDL2RPG,PWSDL2R42                    WSDL2RPG: User name and password                 
      *                                                                                             
      * ------------------------------------                                                        
      *  Internal prototypes                                                                        
      * ------------------------------------                                                        
      *                                                                                             
      *   Reopens a given input stream in order to send it over                                     
      *   the wire again.                                                                           
     D reOpenInputStream...                                                                         
     D                 PR                         like(wsdl_hStream_t    )                          
     D                                     extproc('+                                               
     D                                     reOpenInputStream+                                       
     D                                     ')                                                       
     D  i_hDataSource                      const  like(wsdl_hDataSource_t)                          
     D  i_hInpStream                       value  like(wsdl_hStream_t    )                          
      *                                                                                             
      *   Login in to proxy server or http server.                                                  
     D login...                                                                                     
     D                 PR            10I 0                                                          
     D                                     extproc('+                                               
     D                                     login+                                                   
     D                                     ')                                                       
     D  i_http_err                   10I 0 value                                                    
     D  i_numAttempts                10I 0 value                                                    
      *                                                                                             
      *   Sets the content type and the SOAP action of the POST message.                            
     D HTTP_setContentTypeAndSOAPAction...                                                          
     D                 PR                                                                           
     D                                     extproc('+                                               
     D                                     HTTP_setContentTypeAndSOAPAction+                        
     D                                     ')                                                       
     D  o_addlHdrs                 1024A          varying                                           
     D  i_pUserData                    *   value                                                    
      *                                                                                             
     D tns_ProcessMaterialInformationResponseStart...                                               
     D                 PR                                                                           
     D                                     extproc('tns_ProcessMaterialInformat+                    
     D                                     ionResponseStart')                                       
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D tns_ProcessMaterialInformationResponseEnd...                                                 
     D                 PR                                                                           
     D                                     extproc('tns_ProcessMaterialInformat+                    
     D                                     ionResponseEnd')                                         
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialInformationStart...                                                               
     D                 PR                                                                           
     D                                     extproc('s1_MaterialInformationStart+                    
     D                                     ')                                                       
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialInformationEnd...                                                                 
     D                 PR                                                                           
     D                                     extproc('s1_MaterialInformationEnd')                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s2_ProcessingStatusStart...                                                                  
     D                 PR                                                                           
     D                                     extproc('s2_ProcessingStatusStart')                      
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s2_ProcessingStatusEnd...                                                                    
     D                 PR                                                                           
     D                                     extproc('s2_ProcessingStatusEnd')                        
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRefStart_of_s1_MaterialInformation...                                                  
     D                 PR                                                                           
     D                                     extproc('s1_AnyRefStart_of_s1_Materi+                    
     D                                     alInformation')                                          
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRefEnd_of_s1_MaterialInformation...                                                    
     D                 PR                                                                           
     D                                     extproc('s1_AnyRefEnd_of_s1_Material+                    
     D                                     Information')                                            
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string9Start_of_s1_MaterialInfo...                                             
     D rmation...                                                                                   
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string9Start_+                    
     D                                     of_s1_MaterialInformation')                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string9End_of_s1_MaterialInform...                                             
     D ation...                                                                                     
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string9End_of+                    
     D                                     _s1_MaterialInformation')                                
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_LocationStart...                                                                          
     D                 PR                                                                           
     D                                     extproc('s1_LocationStart')                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_LocationEnd  PR                                                                           
     D                                     extproc('s1_LocationEnd')                                
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef1Start_of_s1_Location...                                                            
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef1Start_of_s1_Locat+                    
     D                                     ion')                                                    
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef1End_of_s1_Location...                                                              
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef1End_of_s1_Locatio+                    
     D                                     n')                                                      
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialClassTypeStart_of_s1_MaterialInfor...                                             
     D mation...                                                                                    
     D                 PR                                                                           
     D                                     extproc('s1_MaterialClassTypeStart_o+                    
     D                                     f_s1_MaterialInformation')                               
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialClassTypeEnd_of_s1_MaterialInforma...                                             
     D tion...                                                                                      
     D                 PR                                                                           
     D                                     extproc('s1_MaterialClassTypeEnd_of_+                    
     D                                     s1_MaterialInformation')                                 
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef2Start_of_s1_MaterialClassType...                                                   
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef2Start_of_s1_Mater+                    
     D                                     ialClassType')                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef2End_of_s1_MaterialClassType...                                                     
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef2End_of_s1_Materia+                    
     D                                     lClassType')                                             
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string2Start_of_s1_MaterialClas...                                             
     D sType...                                                                                     
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string2Start_+                    
     D                                     of_s1_MaterialClassType')                                
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string2End_of_s1_MaterialClassType...                                          
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string2End_of+                    
     D                                     _s1_MaterialClassType')                                  
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialClassPropertyTypeStart_of_s1_Mater...                                             
     D ialClassType...                                                                              
     D                 PR                                                                           
     D                                     extproc('s1_MaterialClassPropertyTyp+                    
     D                                     eStart_of_s1_MaterialClassType')                         
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialClassPropertyTypeEnd_of_s1_Materia...                                             
     D lClassType...                                                                                
     D                 PR                                                                           
     D                                     extproc('s1_MaterialClassPropertyTyp+                    
     D                                     eEnd_of_s1_MaterialClassType')                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef3Start_of_s1_MaterialClassPropertyType...                                           
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef3Start_of_s1_Mater+                    
     D                                     ialClassPropertyType')                                   
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef3End_of_s1_MaterialClassPropertyType...                                             
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef3End_of_s1_Materia+                    
     D                                     lClassPropertyType')                                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_stringStart_of_s1_MaterialClass...                                             
     D PropertyType...                                                                              
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_stringStart_o+                    
     D                                     f_s1_MaterialClassPropertyType')                         
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_stringEnd_of_s1_MaterialClassPr...                                             
     D opertyType...                                                                                
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_stringEnd_of_+                    
     D                                     s1_MaterialClassPropertyType')                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string1Start_of_s1_MaterialClas...                                             
     D sPropertyType...                                                                             
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string1Start_+                    
     D                                     of_s1_MaterialClassPropertyType')                        
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string1End_of_s1_MaterialClassP...                                             
     D ropertyType...                                                                               
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string1End_of+                    
     D                                     _s1_MaterialClassPropertyType')                          
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_ValueTypeStart_of_s1_MaterialClassProperty...                                             
     D Type...                                                                                      
     D                 PR                                                                           
     D                                     extproc('s1_ValueTypeStart_of_s1_Mat+                    
     D                                     erialClassPropertyType')                                 
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_ValueTypeEnd_of_s1_MaterialClassPropertyType...                                           
     D                 PR                                                                           
     D                                     extproc('s1_ValueTypeEnd_of_s1_Mater+                    
     D                                     ialClassPropertyType')                                   
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef4Start_of_s1_ValueType...                                                           
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef4Start_of_s1_Value+                    
     D                                     Type')                                                   
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef4End_of_s1_ValueType...                                                             
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef4End_of_s1_ValueTy+                    
     D                                     pe')                                                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string3Start_of_s1_MaterialClas...                                             
     D sType...                                                                                     
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string3Start_+                    
     D                                     of_s1_MaterialClassType')                                
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string3End_of_s1_MaterialClassType...                                          
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string3End_of+                    
     D                                     _s1_MaterialClassType')                                  
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialDefinitionTypeStart_of_s1_Material...                                             
     D Information...                                                                               
     D                 PR                                                                           
     D                                     extproc('s1_MaterialDefinitionTypeSt+                    
     D                                     art_of_s1_MaterialInformation')                          
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialDefinitionTypeEnd_of_s1_MaterialIn...                                             
     D formation...                                                                                 
     D                 PR                                                                           
     D                                     extproc('s1_MaterialDefinitionTypeEn+                    
     D                                     d_of_s1_MaterialInformation')                            
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef5Start_of_s1_MaterialDefinitionType...                                              
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef5Start_of_s1_Mater+                    
     D                                     ialDefinitionType')                                      
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef5End_of_s1_MaterialDefinitionType...                                                
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef5End_of_s1_Materia+                    
     D                                     lDefinitionType')                                        
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string6Start_of_s1_MaterialDefi...                                             
     D nitionType...                                                                                
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string6Start_+                    
     D                                     of_s1_MaterialDefinitionType')                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string6End_of_s1_MaterialDefini...                                             
     D tionType...                                                                                  
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string6End_of+                    
     D                                     _s1_MaterialDefinitionType')                             
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string7Start_of_s1_MaterialDefi...                                             
     D nitionType...                                                                                
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string7Start_+                    
     D                                     of_s1_MaterialDefinitionType')                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string7End_of_s1_MaterialDefini...                                             
     D tionType...                                                                                  
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string7End_of+                    
     D                                     _s1_MaterialDefinitionType')                             
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialDefinitionPropertyTypeStart_of_s1_...                                             
     D MaterialDefinitionType...                                                                    
     D                 PR                                                                           
     D                                     extproc('s1_MaterialDefinitionProper+                    
     D                                     tyTypeStart_of_s1_MaterialDefinition+                    
     D                                     Type')                                                   
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialDefinitionPropertyTypeEnd_of_s1_Ma...                                             
     D terialDefinitionType...                                                                      
     D                 PR                                                                           
     D                                     extproc('s1_MaterialDefinitionProper+                    
     D                                     tyTypeEnd_of_s1_MaterialDefinitionTy+                    
     D                                     pe')                                                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef6Start_of_s1_MaterialDefinitionPrope...                                             
     D rtyType...                                                                                   
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef6Start_of_s1_Mater+                    
     D                                     ialDefinitionPropertyType')                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef6End_of_s1_MaterialDefinitionPropert...                                             
     D yType...                                                                                     
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef6End_of_s1_Materia+                    
     D                                     lDefinitionPropertyType')                                
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string4Start_of_s1_MaterialDefi...                                             
     D nitionPropertyType...                                                                        
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string4Start_+                    
     D                                     of_s1_MaterialDefinitionPropertyType+                    
     D                                     ')                                                       
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string4End_of_s1_MaterialDefini...                                             
     D tionPropertyType...                                                                          
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string4End_of+                    
     D                                     _s1_MaterialDefinitionPropertyType')                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string5Start_of_s1_MaterialDefi...                                             
     D nitionPropertyType...                                                                        
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string5Start_+                    
     D                                     of_s1_MaterialDefinitionPropertyType+                    
     D                                     ')                                                       
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string5End_of_s1_MaterialDefini...                                             
     D tionPropertyType...                                                                          
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string5End_of+                    
     D                                     _s1_MaterialDefinitionPropertyType')                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_ValueTypeStart_of_s1_MaterialDefinitionPro...                                             
     D pertyType...                                                                                 
     D                 PR                                                                           
     D                                     extproc('s1_ValueTypeStart_of_s1_Mat+                    
     D                                     erialDefinitionPropertyType')                            
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_ValueTypeEnd_of_s1_MaterialDefinitionPrope...                                             
     D rtyType...                                                                                   
     D                 PR                                                                           
     D                                     extproc('s1_ValueTypeEnd_of_s1_Mater+                    
     D                                     ialDefinitionPropertyType')                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string8Start_of_s1_MaterialDefi...                                             
     D nitionType...                                                                                
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string8Start_+                    
     D                                     of_s1_MaterialDefinitionType')                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string8End_of_s1_MaterialDefini...                                             
     D tionType...                                                                                  
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string8End_of+                    
     D                                     _s1_MaterialDefinitionType')                             
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialLotTypeStart_of_s1_MaterialInforma...                                             
     D tion...                                                                                      
     D                 PR                                                                           
     D                                     extproc('s1_MaterialLotTypeStart_of_+                    
     D                                     s1_MaterialInformation')                                 
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialLotTypeEnd_of_s1_MaterialInformation...                                           
     D                 PR                                                                           
     D                                     extproc('s1_MaterialLotTypeEnd_of_s1+                    
     D                                     _MaterialInformation')                                   
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef7Start_of_s1_MaterialLotType...                                                     
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef7Start_of_s1_Mater+                    
     D                                     ialLotType')                                             
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef7End_of_s1_MaterialLotType...                                                       
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef7End_of_s1_Materia+                    
     D                                     lLotType')                                               
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string12Start_of_s1_MaterialLot...                                             
     D Type...                                                                                      
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string12Start+                    
     D                                     _of_s1_MaterialLotType')                                 
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string12End_of_s1_MaterialLotType...                                           
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string12End_o+                    
     D                                     f_s1_MaterialLotType')                                   
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialLotPropertyTypeStart_of_s1_Materia...                                             
     D lLotType...                                                                                  
     D                 PR                                                                           
     D                                     extproc('s1_MaterialLotPropertyTypeS+                    
     D                                     tart_of_s1_MaterialLotType')                             
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialLotPropertyTypeEnd_of_s1_MaterialL...                                             
     D otType...                                                                                    
     D                 PR                                                                           
     D                                     extproc('s1_MaterialLotPropertyTypeE+                    
     D                                     nd_of_s1_MaterialLotType')                               
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef8Start_of_s1_MaterialLotPropertyType...                                             
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef8Start_of_s1_Mater+                    
     D                                     ialLotPropertyType')                                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef8End_of_s1_MaterialLotPropertyType...                                               
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef8End_of_s1_Materia+                    
     D                                     lLotPropertyType')                                       
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string10Start_of_s1_MaterialLot...                                             
     D PropertyType...                                                                              
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string10Start+                    
     D                                     _of_s1_MaterialLotPropertyType')                         
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string10End_of_s1_MaterialLotPr...                                             
     D opertyType...                                                                                
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string10End_o+                    
     D                                     f_s1_MaterialLotPropertyType')                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string11Start_of_s1_MaterialLot...                                             
     D PropertyType...                                                                              
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string11Start+                    
     D                                     _of_s1_MaterialLotPropertyType')                         
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string11End_of_s1_MaterialLotPr...                                             
     D opertyType...                                                                                
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string11End_o+                    
     D                                     f_s1_MaterialLotPropertyType')                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_TestResultTypeStart_of_s1_MaterialLotPrope...                                             
     D rtyType...                                                                                   
     D                 PR                                                                           
     D                                     extproc('s1_TestResultTypeStart_of_s+                    
     D                                     1_MaterialLotPropertyType')                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_TestResultTypeEnd_of_s1_MaterialLotPropert...                                             
     D yType...                                                                                     
     D                 PR                                                                           
     D                                     extproc('s1_TestResultTypeEnd_of_s1_+                    
     D                                     MaterialLotPropertyType')                                
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef9Start_of_s1_TestResultType...                                                      
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef9Start_of_s1_TestR+                    
     D                                     esultType')                                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef9End_of_s1_TestResultType...                                                        
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef9End_of_s1_TestRes+                    
     D                                     ultType')                                                
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string15Start_of_s1_TestResultType...                                          
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string15Start+                    
     D                                     _of_s1_TestResultType')                                  
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string15End_of_s1_TestResultType...                                            
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string15End_o+                    
     D                                     f_s1_TestResultType')                                    
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_ResultTypeStart_of_s1_TestResultType...                                                   
     D                 PR                                                                           
     D                                     extproc('s1_ResultTypeStart_of_s1_Te+                    
     D                                     stResultType')                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_ResultTypeEnd_of_s1_TestResultType...                                                     
     D                 PR                                                                           
     D                                     extproc('s1_ResultTypeEnd_of_s1_Test+                    
     D                                     ResultType')                                             
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef10Start_of_s1_ResultType...                                                         
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef10Start_of_s1_Resu+                    
     D                                     ltType')                                                 
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef10End_of_s1_ResultType...                                                           
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef10End_of_s1_Result+                    
     D                                     Type')                                                   
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_ValueTypeStart_of_s1_MaterialLotPropertyType...                                           
     D                 PR                                                                           
     D                                     extproc('s1_ValueTypeStart_of_s1_Mat+                    
     D                                     erialLotPropertyType')                                   
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_ValueTypeEnd_of_s1_MaterialLotPropertyType...                                             
     D                 PR                                                                           
     D                                     extproc('s1_ValueTypeEnd_of_s1_Mater+                    
     D                                     ialLotPropertyType')                                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialSubLotTypeStart_of_s1_MaterialLotType...                                          
     D                 PR                                                                           
     D                                     extproc('s1_MaterialSubLotTypeStart_+                    
     D                                     of_s1_MaterialLotType')                                  
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialSubLotTypeEnd_of_s1_MaterialLotType...                                            
     D                 PR                                                                           
     D                                     extproc('s1_MaterialSubLotTypeEnd_of+                    
     D                                     _s1_MaterialLotType')                                    
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef11Start_of_s1_MaterialSubLotType...                                                 
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef11Start_of_s1_Mate+                    
     D                                     rialSubLotType')                                         
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef11End_of_s1_MaterialSubLotType...                                                   
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef11End_of_s1_Materi+                    
     D                                     alSubLotType')                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string13Start_of_s1_MaterialSub...                                             
     D LotType...                                                                                   
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string13Start+                    
     D                                     _of_s1_MaterialSubLotType')                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string13End_of_s1_MaterialSubLo...                                             
     D tType...                                                                                     
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string13End_o+                    
     D                                     f_s1_MaterialSubLotType')                                
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_QuantityTypeStart_of_s1_MaterialSubLotType...                                             
     D                 PR                                                                           
     D                                     extproc('s1_QuantityTypeStart_of_s1_+                    
     D                                     MaterialSubLotType')                                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_QuantityTypeEnd_of_s1_MaterialSubLotType...                                               
     D                 PR                                                                           
     D                                     extproc('s1_QuantityTypeEnd_of_s1_Ma+                    
     D                                     terialSubLotType')                                       
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef12Start_of_s1_QuantityType...                                                       
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef12Start_of_s1_Quan+                    
     D                                     tityType')                                               
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef12End_of_s1_QuantityType...                                                         
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef12End_of_s1_Quanti+                    
     D                                     tyType')                                                 
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_QuantityTypeStart_of_s1_MaterialLotType...                                                
     D                 PR                                                                           
     D                                     extproc('s1_QuantityTypeStart_of_s1_+                    
     D                                     MaterialLotType')                                        
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_QuantityTypeEnd_of_s1_MaterialLotType...                                                  
     D                 PR                                                                           
     D                                     extproc('s1_QuantityTypeEnd_of_s1_Ma+                    
     D                                     terialLotType')                                          
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialSubLotTypeStart_of_s1_MaterialInfo...                                             
     D rmation...                                                                                   
     D                 PR                                                                           
     D                                     extproc('s1_MaterialSubLotTypeStart_+                    
     D                                     of_s1_MaterialInformation')                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_MaterialSubLotTypeEnd_of_s1_MaterialInform...                                             
     D ation...                                                                                     
     D                 PR                                                                           
     D                                     extproc('s1_MaterialSubLotTypeEnd_of+                    
     D                                     _s1_MaterialInformation')                                
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_QAMaterialTestSpecificationTypeStart_of_s1...                                             
     D _MaterialInformation...                                                                      
     D                 PR                                                                           
     D                                     extproc('s1_QAMaterialTestSpecificat+                    
     D                                     ionTypeStart_of_s1_MaterialInformati+                    
     D                                     on')                                                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_QAMaterialTestSpecificationTypeEnd_of_s1_M...                                             
     D aterialInformation...                                                                        
     D                 PR                                                                           
     D                                     extproc('s1_QAMaterialTestSpecificat+                    
     D                                     ionTypeEnd_of_s1_MaterialInformation+                    
     D                                     ')                                                       
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef13Start_of_s1_QAMaterialTestSpecific...                                             
     D ationType...                                                                                 
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef13Start_of_s1_QAMa+                    
     D                                     terialTestSpecificationType')                            
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef13End_of_s1_QAMaterialTestSpecificat...                                             
     D ionType...                                                                                   
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef13End_of_s1_QAMate+                    
     D                                     rialTestSpecificationType')                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string14Start_of_s1_QAMaterialT...                                             
     D estSpecificationType...                                                                      
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string14Start+                    
     D                                     _of_s1_QAMaterialTestSpecificationTy+                    
     D                                     pe')                                                     
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D xsd_string_of_string14End_of_s1_QAMaterialTes...                                             
     D tSpecificationType...                                                                        
     D                 PR                                                                           
     D                                     extproc('xsd_string_of_string14End_o+                    
     D                                     f_s1_QAMaterialTestSpecificationType+                    
     D                                     ')                                                       
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_TestedMaterialClassPropertyTypeStart_of_s1...                                             
     D _QAMaterialTestSpecificationType...                                                          
     D                 PR                                                                           
     D                                     extproc('s1_TestedMaterialClassPrope+                    
     D                                     rtyTypeStart_of_s1_QAMaterialTestSpe+                    
     D                                     cificationType')                                         
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_TestedMaterialClassPropertyTypeEnd_of_s1_Q...                                             
     D AMaterialTestSpecificationType...                                                            
     D                 PR                                                                           
     D                                     extproc('s1_TestedMaterialClassPrope+                    
     D                                     rtyTypeEnd_of_s1_QAMaterialTestSpeci+                    
     D                                     ficationType')                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef14Start_of_s1_TestedMaterialClassPro...                                             
     D pertyType...                                                                                 
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef14Start_of_s1_Test+                    
     D                                     edMaterialClassPropertyType')                            
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef14End_of_s1_TestedMaterialClassPrope...                                             
     D rtyType...                                                                                   
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef14End_of_s1_Tested+                    
     D                                     MaterialClassPropertyType')                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_TestedMaterialDefinitionPropertyTypeStart_...                                             
     D of_s1_QAMaterialTestSpecificationType...                                                     
     D                 PR                                                                           
     D                                     extproc('s1_TestedMaterialDefinition+                    
     D                                     PropertyTypeStart_of_s1_QAMaterialTe+                    
     D                                     stSpecificationType')                                    
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_TestedMaterialDefinitionPropertyTypeEnd_of...                                             
     D _s1_QAMaterialTestSpecificationType...                                                       
     D                 PR                                                                           
     D                                     extproc('s1_TestedMaterialDefinition+                    
     D                                     PropertyTypeEnd_of_s1_QAMaterialTest+                    
     D                                     SpecificationType')                                      
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef15Start_of_s1_TestedMaterialDefiniti...                                             
     D onPropertyType...                                                                            
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef15Start_of_s1_Test+                    
     D                                     edMaterialDefinitionPropertyType')                       
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef15End_of_s1_TestedMaterialDefinition...                                             
     D PropertyType...                                                                              
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef15End_of_s1_Tested+                    
     D                                     MaterialDefinitionPropertyType')                         
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_TestedMaterialLotPropertyTypeStart_of_s1_Q...                                             
     D AMaterialTestSpecificationType...                                                            
     D                 PR                                                                           
     D                                     extproc('s1_TestedMaterialLotPropert+                    
     D                                     yTypeStart_of_s1_QAMaterialTestSpeci+                    
     D                                     ficationType')                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_TestedMaterialLotPropertyTypeEnd_of_s1_QAM...                                             
     D aterialTestSpecificationType...                                                              
     D                 PR                                                                           
     D                                     extproc('s1_TestedMaterialLotPropert+                    
     D                                     yTypeEnd_of_s1_QAMaterialTestSpecifi+                    
     D                                     cationType')                                             
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef16Start_of_s1_TestedMaterialLotPrope...                                             
     D rtyType...                                                                                   
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef16Start_of_s1_Test+                    
     D                                     edMaterialLotPropertyType')                              
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
     D s1_AnyRef16End_of_s1_TestedMaterialLotPropert...                                             
     D yType...                                                                                     
     D                 PR                                                                           
     D                                     extproc('s1_AnyRef16End_of_s1_Tested+                    
     D                                     MaterialLotPropertyType')                                
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
      *   Receice response of HTTP post operation.                                                  
     D HTTP_receiveResponse...                                                                      
     D                 PR            10I 0 extproc('+                                               
     D                                     HTTP_receiveResponse+                                    
     D                                     ')                                                       
     D  i_hStream                    10I 0 value                                                    
     D  i_data                         *   value                                                    
     D  i_length                     10I 0 value                                                    
      *                                                                                             
      *   SOAP message: Envelope                                                                    
     D SOAPMessage_Envelope...                                                                      
     D                 PR                  extproc('+                                               
     D                                     SOAPMessage_Envelope+                                    
     D                                     ')                                                       
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
      *   SOAP message: fault information                                                           
     D SOAPMessage_FaultStart...                                                                    
     D                 PR                  extproc('+                                               
     D                                     SOAPMessage_FaultStart+                                  
     D                                     ')                                                       
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
      *   SOAP message: fault information                                                           
     D SOAPMessage_FaultEnd...                                                                      
     D                 PR                  extproc('+                                               
     D                                     SOAPMessage_FaultEnd+                                    
     D                                     ')                                                       
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   value                    65535A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
      *   SOAP message: fault details                                                               
     D SOAPMessage_FaultDetailStart...                                                              
     D                 PR                  extproc('+                                               
     D                                     SOAPMessage_FaultDetailStart+                            
     D                                     ')                                                       
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
      *   SOAP message: fault details                                                               
     D SOAPMessage_FaultDetailEnd...                                                                
     D                 PR                  extproc('+                                               
     D                                     SOAPMessage_FaultDetailEnd+                              
     D                                     ')                                                       
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   value                    65535A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
      *   SOAP message: NULL callback procedure                                                     
     D SOAPMessage_unexpectedElementStart...                                                        
     D                 PR                                                                           
     D                                     extproc('+                                               
     D                                     SOAPMessage_unexpectedElementStart+                      
     D                                     ')                                                       
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
      *   SOAP message: NULL callback procedure                                                     
     D SOAPMessage_unexpectedElementEnd...                                                          
     D                 PR                                                                           
     D                                     extproc('+                                               
     D                                     SOAPMessage_unexpectedElementEnd+                        
     D                                     ')                                                       
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   value                    65535A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D ignoreUnexpectedSoapHeader...                                                                
     D                 PR              N                                                            
     D                                     extproc('+                                               
     D                                     ignoreUnexpectedSoapHeader+                              
     D                                     ')                                                       
      *                                                                                             
     D getOperationUuid...                                                                          
     D                 PR                          like(wsdl_uuid_t )                               
     D                                     extproc('+                                               
     D                                     getOperationUuid+                                        
     D                                     ')                                                       
      *                                                                                             
     D getPortName...                                                                               
     D                 PR                          like(wsdl_portName_t )                           
     D                                     extproc('+                                               
     D                                     getPortName+                                             
     D                                     ')                                                       
      *                                                                                             
     D getPostCcsid...                                                                              
     D                 PR            10I 0                                                          
     D                                     extproc('+                                               
     D                                     getPostCcsid+                                            
     D                                     ')                                                       
      *                                                                                             
      * ------------------------------------                                                        
      *  Global fields & constants                                                                  
      * ------------------------------------                                                        
      *                                                                                             
      *   UUID of the web service operation as generated by WSDL2RPG                                
      *   (Using UUID of web service port for all operations by default)                            
      *cOPERATION_UUID...                                                                           
      *                C                   '8EABA801A5401959AEC00004AC12B572'                       
      *                                                                                             
      *   SOAP response header                                                                      
      *                                                                                             
      *   Reference to the 'respSoapHeader' field.                                                  
     D g_pRespSoapHeader...                                                                         
     D                 S               *   inz                                                      
      *                                                                                             
      *   XMLSAXParser handle                                                                       
     D g_hSAXParser    S                   like(xmlSaxParser_handle_t) inz                          
      *                                                                                             
      *   MIME parser                                                                               
     D g_hMIMEParser   S                   like(mime_hMime_t ) inz                                  
      *                                                                                             
      *   MIME message indicator                                                                    
     D g_isMimeMessage...                                                                           
     D                 S               N   inz(cFalse)                                              
      *                                                                                             
      *   Content ID of the SOAP message part                                                       
     D g_SOAPMessageID...                                                                           
     D                 S            512A   varying inz                                              
      *                                                                                             
      *   Indicator "parse SOAP message"                                                            
     D g_doParseSOAPMessage...                                                                      
     D                 S               N   inz(cFalse)                                              
      *                                                                                             
      *   Indicator "SOAP message parsed"                                                           
     D g_SOAPMessage_done...                                                                        
     D                 S               N   inz(cFalse)                                              
      *                                                                                             
      *   Body part counter                                                                         
     D g_BodyPart_counter...                                                                        
     D                 S             10I 0 inz                                                      
      *                                                                                             
      *   HTTP response "initialized" indicator                                                     
     D g_HTTP_isInit...                                                                             
     D                 S               N   inz(cFalse)                                              
      *                                                                                             
      *   Error information of web service operation                                                
     D g_errors        DS                  likeds(wsdl_errors_t    ) inz                            
      *                                                                                             
      *   Switch for AXIS bug AXIS-2095                                                             
     D g_isAXIS_2095   S               N   inz(cFalse)                                              
      *                                                                                             
      * -------------------------------------------                                                 
      *  TODO: Added to implement default                                                           
      *        attachment handling.                                                                 
      * -------------------------------------------                                                 
      /IF DEFINED(DEFAULT_ATTACHMENT_HANDLING)                                                      
 CPY  /COPY QWSDL2RPG,CLIB                         C Runtime Library                                
      *                                                                                             
      *  User data scoped to the current part                                                       
     D partUserData_t...                                                                            
     D                 DS                  qualified               based(pDummy)                    
     D  FD                           10i 0                                                          
      *                                                                                             
      /ENDIF                                                                                        
      * =====================================================================                       
      * Operation: ProcessMaterialInformation                                                       
      * Returns  : ProcessMaterialInformationResponse                                               
      * =====================================================================                       
     P MaterialInformationSoap_ProcessMaterialInform...                                             
     P ation...                                                                                     
     P                 B                   export                                                   
     D MaterialInformationSoap_ProcessMaterialInform...                                             
     D ation...                                                                                     
     D                 PI                  likeds(tns_ProcessMaterialInformat...                    
     D                                     ionResponse_t)                                           
     D  i_tns_ProcessMaterialInformation...                                                         
     D                                     likeds(tns_ProcessMaterialInformat...                    
     D                                     ion_t)                                                   
     D  o_msg                       128A   varying                                                  
      *                                                                                             
      *  Return value                                                                               
     D rtnValue        DS                  likeds(tns_ProcessMaterialInformat...                    
     D                                     ionResponse_t)                                           
     D                                     inz                                                      
      *                                                                                             
      *  Local fields                                                                               
     D isUnexpectedError...                                                                         
     D                 S               N   inz(cFalse)                                              
     D isRedirect      S               N   inz(cFalse)                                              
     D request         S          65535A   varying inz                                              
     D url             S          32767A   varying                                                  
     D rc              S             10I 0 inz                                                      
     D rcvm0200        DS                  likeds(rcvm0200_t ) inz                                  
     D msg             DS                  likeds(msg_t      ) inz                                  
     D headers         DS                  likeds(headers_t  ) inz                                  
      *                                                                                             
     D hDataSource     S                   like(wsdl_hDataSource_t   ) inz                          
     D hOutStream      S                   like(wsdl_hStream_t       ) inz                          
     D hSAXParser      S                   like(xmlSaxParser_handle_t) inz                          
     D hMIMEParser     S                   like(mime_hMime_t         ) inz                          
     D hInpStream      S                   like(wsdl_hStream_t       ) inz                          
     D contentType     S                   like(wsdl_contentType_t   ) inz                          
      *                                                                                             
      *   HTTP debug log settings                                                                   
     D httpDebug       DS                  likeds(wsdl_httpDebug_t ) inz                            
      *                                                                                             
      *   Proxy server to use                                                                       
     D httpProxy       DS                  likeds(wsdl_proxy_t     ) inz                            
      *                                                                                             
      *  Login helper fields                                                                        
     D err             S             10I 0 inz                                                      
     D lastErr         S             10I 0 inz(-1)                                                  
     D numAttempts     S             10I 0 inz                                                      
      *                                                                                             
      *  Array iterator fields                                                                      
     D X_A1            S             10I 0 inz                                                      
     D X_A10           S             10I 0 inz                                                      
     D X_A11           S             10I 0 inz                                                      
     D X_A12           S             10I 0 inz                                                      
     D X_A13           S             10I 0 inz                                                      
     D X_A14           S             10I 0 inz                                                      
     D X_A15           S             10I 0 inz                                                      
     D X_A16           S             10I 0 inz                                                      
     D X_A17           S             10I 0 inz                                                      
     D X_A18           S             10I 0 inz                                                      
     D X_A19           S             10I 0 inz                                                      
     D X_A2            S             10I 0 inz                                                      
     D X_A20           S             10I 0 inz                                                      
     D X_A21           S             10I 0 inz                                                      
     D X_A22           S             10I 0 inz                                                      
     D X_A23           S             10I 0 inz                                                      
     D X_A24           S             10I 0 inz                                                      
     D X_A25           S             10I 0 inz                                                      
     D X_A26           S             10I 0 inz                                                      
     D X_A27           S             10I 0 inz                                                      
     D X_A28           S             10I 0 inz                                                      
     D X_A29           S             10I 0 inz                                                      
     D X_A3            S             10I 0 inz                                                      
     D X_A30           S             10I 0 inz                                                      
     D X_A31           S             10I 0 inz                                                      
     D X_A32           S             10I 0 inz                                                      
     D X_A33           S             10I 0 inz                                                      
     D X_A34           S             10I 0 inz                                                      
     D X_A35           S             10I 0 inz                                                      
     D X_A36           S             10I 0 inz                                                      
     D X_A37           S             10I 0 inz                                                      
     D X_A38           S             10I 0 inz                                                      
     D X_A39           S             10I 0 inz                                                      
     D X_A4            S             10I 0 inz                                                      
     D X_A40           S             10I 0 inz                                                      
     D X_A41           S             10I 0 inz                                                      
     D X_A42           S             10I 0 inz                                                      
     D X_A43           S             10I 0 inz                                                      
     D X_A44           S             10I 0 inz                                                      
     D X_A45           S             10I 0 inz                                                      
     D X_A46           S             10I 0 inz                                                      
     D X_A47           S             10I 0 inz                                                      
     D X_A48           S             10I 0 inz                                                      
     D X_A49           S             10I 0 inz                                                      
     D X_A5            S             10I 0 inz                                                      
     D X_A50           S             10I 0 inz                                                      
     D X_A51           S             10I 0 inz                                                      
     D X_A52           S             10I 0 inz                                                      
     D X_A6            S             10I 0 inz                                                      
     D X_A7            S             10I 0 inz                                                      
     D X_A8            S             10I 0 inz                                                      
     D X_A9            S             10I 0 inz                                                      
      *                                                                                             
     D curAnyRef_A1    DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string1_A10...                                                                  
     D                 S                   like(xsd_string_of_string1_t)                            
     D                                     inz                                                      
      *                                                                                             
     D curValueType_A11...                                                                          
     D                 DS                  likeds(s1_ValueType_t)                                   
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef4_A12  DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string3_A13...                                                                  
     D                 S                   like(xsd_string_of_string3_t)                            
     D                                     inz                                                      
      *                                                                                             
     D curMaterialDefinitionType_A14...                                                             
     D                 DS                  likeds(s1_MaterialDefinitionType_t)                      
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef5_A15  DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string6_A16...                                                                  
     D                 S                   like(xsd_string_of_string6_t)                            
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string7_A17...                                                                  
     D                 S                   like(xsd_string_of_string7_t)                            
     D                                     inz                                                      
      *                                                                                             
     D curMaterialDefinitionPropertyType_A18...                                                     
     D                 DS                  likeds(s1_MaterialDefinitionProper...                    
     D                                     tyType_t)                                                
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef6_A19  DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string9_A2...                                                                   
     D                 S                   like(xsd_string_of_string9_t)                            
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string4_A20...                                                                  
     D                 S                   like(xsd_string_of_string4_t)                            
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string5_A21...                                                                  
     D                 S                   like(xsd_string_of_string5_t)                            
     D                                     inz                                                      
      *                                                                                             
     D curValueType_A22...                                                                          
     D                 DS                  likeds(s1_ValueType_t)                                   
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string8_A23...                                                                  
     D                 S                   like(xsd_string_of_string8_t)                            
     D                                     inz                                                      
      *                                                                                             
     D curMaterialLotType_A24...                                                                    
     D                 DS                  likeds(s1_MaterialLotType_t)                             
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef7_A25  DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string12_A26...                                                                 
     D                 S                   like(xsd_string_of_string12_t)                           
     D                                     inz                                                      
      *                                                                                             
     D curMaterialLotPropertyType_A27...                                                            
     D                 DS                  likeds(s1_MaterialLotPropertyType_t)                     
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef8_A28  DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string10_A29...                                                                 
     D                 S                   like(xsd_string_of_string10_t)                           
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef1_A3   DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string11_A30...                                                                 
     D                 S                   like(xsd_string_of_string11_t)                           
     D                                     inz                                                      
      *                                                                                             
     D curTestResultType_A31...                                                                     
     D                 DS                  likeds(s1_TestResultType_t)                              
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef9_A32  DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string15_A33...                                                                 
     D                 S                   like(xsd_string_of_string15_t)                           
     D                                     inz                                                      
      *                                                                                             
     D curResultType_A34...                                                                         
     D                 DS                  likeds(s1_ResultType_t)                                  
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef10_A35...                                                                           
     D                 DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curValueType_A36...                                                                          
     D                 DS                  likeds(s1_ValueType_t)                                   
     D                                     inz                                                      
      *                                                                                             
     D curMaterialSubLotType_A37...                                                                 
     D                 DS                  likeds(s1_MaterialSubLotType_t)                          
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef11_A38...                                                                           
     D                 DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string13_A39...                                                                 
     D                 S                   like(xsd_string_of_string13_t)                           
     D                                     inz                                                      
      *                                                                                             
     D curMaterialClassType_A4...                                                                   
     D                 DS                  likeds(s1_MaterialClassType_t)                           
     D                                     inz                                                      
      *                                                                                             
     D curQuantityType_A40...                                                                       
     D                 DS                  likeds(s1_QuantityType_t)                                
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef12_A41...                                                                           
     D                 DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curQuantityType_A42...                                                                       
     D                 DS                  likeds(s1_QuantityType_t)                                
     D                                     inz                                                      
      *                                                                                             
     D curMaterialSubLotType_A43...                                                                 
     D                 DS                  likeds(s1_MaterialSubLotType_t)                          
     D                                     inz                                                      
      *                                                                                             
     D curQAMaterialTestSpecificationType_A44...                                                    
     D                 DS                  likeds(s1_QAMaterialTestSpecificat...                    
     D                                     ionType_t)                                               
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef13_A45...                                                                           
     D                 DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string14_A46...                                                                 
     D                 S                   like(xsd_string_of_string14_t)                           
     D                                     inz                                                      
      *                                                                                             
     D curTestedMaterialClassPropertyType_A47...                                                    
     D                 DS                  likeds(s1_TestedMaterialClassPrope...                    
     D                                     rtyType_t)                                               
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef14_A48...                                                                           
     D                 DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curTestedMaterialDefinitionPropertyType_A49...                                               
     D                 DS                  likeds(s1_TestedMaterialDefinition...                    
     D                                     PropertyType_t)                                          
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef2_A5   DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef15_A50...                                                                           
     D                 DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curTestedMaterialLotPropertyType_A51...                                                      
     D                 DS                  likeds(s1_TestedMaterialLotPropert...                    
     D                                     yType_t)                                                 
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef16_A52...                                                                           
     D                 DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string2_A6...                                                                   
     D                 S                   like(xsd_string_of_string2_t)                            
     D                                     inz                                                      
      *                                                                                             
     D curMaterialClassPropertyType_A7...                                                           
     D                 DS                  likeds(s1_MaterialClassPropertyTyp...                    
     D                                     e_t)                                                     
     D                                     inz                                                      
      *                                                                                             
     D curAnyRef3_A8   DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      *                                                                                             
     D curString_of_string_A9...                                                                    
     D                 S                   like(xsd_string_of_string_t)                             
     D                                     inz                                                      
      *                                                                                             
     D userData        DS                  likeds(tns_ProcessMaterialInformat...                    
     D                                     ionResponse_t)                                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                     
      /free                                                                                         
                                                                                                    
         o_msg = '';                                                                                
                                                                                                    
         monitor;                                                                                   
                                                                                                    
            // Enable/disable HTTP debug log                                                        
            httpDebug = MaterialInformationSoap_Port_getHttpDebug();                                
            http_debug(httpDebug.status: httpDebug.fileName);                                       
                                                                                                    
            http_DebugLog_appendText(                                                               
            '** ' + %char(%timestamp()) + ': Entering ' + f_this() + '()');                         
                                                                                                    
            // Initialize map to manage <multiRef> elements                                         
            MultiRef_new();                                                                         
                                                                                                    
            // Remove all attachments of this service from the list of attachments                  
            MaterialInformationSoap_Attachments_removeAll(                                          
                  getOperationUuid());                                                              
                                                                                                    
            // Set proxy server to use                                                              
            httpProxy = MaterialInformationSoap_Port_getHttpProxy();                                
            http_setproxy(httpProxy.server: httpProxy.port);                                        
                                                                                                    
            // Set CCSID for POST data according                                                    
            // to the encoding of the SOAP envelope                                                 
            HTTP_SetCCSIDs(getPostCcsid(): HTTP_EBCDIC);                                            
                                                                                                    
            // Create and open data source to store the request message                             
            hDataSource = ManagedMemoryDataSource_new();                                            
                                                                                                    
            contentType = 'text/xml';                                                               
            hOutStream = ManagedMemoryDataSource_OutputStream_open(                                 
                               hDataSource: contentType: getPostCcsid());                           
                                                                                                    
            // Produce SOAP request message                                                         
            request =                                                                               
               '<?xml version="1.0" encoding="UTF-8"?>'                     +                       
               '<soapenv:Envelope'                                          +                       
               ' xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";' +                       
            ' xmlns:s1="http://www.wbf.org/xml/b2mml-v0300";' +                                      
            ' xmlns:s2="http://www.wbf.org/xml/b2mml-v0300-extensions";' +                           
            ' xmlns:tns="http://siemens.siplace.facts/";' +                                          
            ' xmlns:xsd="http://www.w3.org/2001/XMLSchema";' +                                       
               '>'                                                          +                       
               '<soapenv:Body>'                                             +                       
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
                                                                                                    
         request = request +                                                                        
         '<tns:ProcessMaterialInformation>' +                                                       
         '<s1:MaterialInformation>' +                                                               
         '<s1:ID>' +                                                                                
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
         Marshaller_toStringV6(                                                                     
            %addr(i_tns_ProcessMaterialInformation.MaterialInformation.ID)                          
            : %addr(i_tns_ProcessMaterialInformation.MaterialInformation.ID:                        
            *DATA)                                                                                  
            : %len(i_tns_ProcessMaterialInformation.MaterialInformation.ID)                         
            : hOutStream);                                                                          
                                                                                                    
         request = request +                                                                        
         '</s1:ID>' +                                                                               
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
                                                                                                    
         for X_A2 = 1 to i_tns_ProcessMaterialInformation.MaterialInform...                         
                         ation.Description.x;                                                       
            curString_of_string9_A2 =                                                               
               i_tns_ProcessMaterialInformation.MaterialInformation.Descripti...                    
               on.string(X_A2);                                                                     
                                                                                                    
            request = request +                                                                     
            '<s1:Description>' +                                                                    
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curString_of_string9_A2)                                                       
               : %addr(curString_of_string9_A2: *DATA)                                              
               : %len(curString_of_string9_A2)                                                      
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:Description>' +                                                                   
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
         endfor;                                                                                    
                                                                                                    
         request = request +                                                                        
         '<s1:Location>' +                                                                          
         '<s1:EquipmentID>' +                                                                       
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
         Marshaller_toStringV6(                                                                     
            %addr(i_tns_ProcessMaterialInformation.MaterialInformation.Locati...                    
            on.EquipmentID)                                                                         
            : %addr(i_tns_ProcessMaterialInformation.MaterialInformation.Loca...                    
            tion.EquipmentID: *DATA)                                                                
            : %len(i_tns_ProcessMaterialInformation.MaterialInformation.Locat...                    
            ion.EquipmentID)                                                                        
            : hOutStream);                                                                          
                                                                                                    
         request = request +                                                                        
         '</s1:EquipmentID>' +                                                                      
         '<s1:EquipmentElementLevel>' +                                                             
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
         Marshaller_toStringV6(                                                                     
            %addr(i_tns_ProcessMaterialInformation.MaterialInformation.Locati...                    
            on.EquipmentElementLevel)                                                               
            : %addr(i_tns_ProcessMaterialInformation.MaterialInformation.Loca...                    
            tion.EquipmentElementLevel: *DATA)                                                      
            : %len(i_tns_ProcessMaterialInformation.MaterialInformation.Locat...                    
            ion.EquipmentElementLevel)                                                              
            : hOutStream);                                                                          
                                                                                                    
         request = request +                                                                        
         '</s1:EquipmentElementLevel>' +                                                            
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
                                                                                                    
         for X_A3 = 1 to i_tns_ProcessMaterialInformation.MaterialInform...                         
                         ation.Location.Any.x;                                                      
            curAnyRef1_A3 =                                                                         
               i_tns_ProcessMaterialInformation.MaterialInformation.Location...                     
               .Any.item(X_A3);                                                                     
                                                                                                    
            request = request +                                                                     
            '<s1:Any>' +                                                                            
            '<s1:any>' +                                                                            
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toAnyV6(                                                                     
               %addr(curAnyRef1_A3.any)                                                             
               : %addr(curAnyRef1_A3.any: *DATA)                                                    
               : %len(curAnyRef1_A3.any)                                                            
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:any>' +                                                                           
            '</s1:Any>' +                                                                           
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
         endfor;                                                                                    
                                                                                                    
         request = request +                                                                        
         '</s1:Location>' +                                                                         
         '<s1:PublishedDate>' +                                                                     
         Marshaller_toDateTime(                                                                     
            i_tns_ProcessMaterialInformation.MaterialInformation.PublishedDat...                    
            e                                                                                       
            ) +                                                                                     
         '</s1:PublishedDate>' +                                                                    
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
                                                                                                    
         for X_A4 = 1 to i_tns_ProcessMaterialInformation.MaterialInform...                         
                         ation.MaterialClass.x;                                                     
            curMaterialClassType_A4 =                                                               
               i_tns_ProcessMaterialInformation.MaterialInformation.MaterialC...                    
               lass.MaterialClassType(X_A4);                                                        
                                                                                                    
            request = request +                                                                     
            '<s1:MaterialClass>' +                                                                  
            '<s1:ID>' +                                                                             
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialClassType_A4.ID)                                                    
               : %addr(curMaterialClassType_A4.ID: *DATA)                                           
               : %len(curMaterialClassType_A4.ID)                                                   
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:ID>' +                                                                            
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A6 = 1 to curMaterialClassType_A4.Description.x;                                  
               curString_of_string2_A6 =                                                            
                  curMaterialClassType_A4.Description.string(X_A6);                                 
                                                                                                    
               request = request +                                                                  
               '<s1:Description>' +                                                                 
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curString_of_string2_A6)                                                    
                  : %addr(curString_of_string2_A6: *DATA)                                           
                  : %len(curString_of_string2_A6)                                                   
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:Description>' +                                                                
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A7 = 1 to curMaterialClassType_A4.MaterialClassProperty.x                         
                            ;                                                                       
               curMaterialClassPropertyType_A7 =                                                    
                  curMaterialClassType_A4.MaterialClassProperty.MaterialClass...                    
                  PropertyType(X_A7);                                                               
                                                                                                    
               request = request +                                                                  
               '<s1:MaterialClassProperty>' +                                                       
               '<s1:ID>' +                                                                          
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curMaterialClassPropertyType_A7.ID)                                         
                  : %addr(curMaterialClassPropertyType_A7.ID: *DATA)                                
                  : %len(curMaterialClassPropertyType_A7.ID)                                        
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:ID>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A9 = 1 to curMaterialClassPropertyType_A7.Descripti...                         
                               on.x;                                                                
                  curString_of_string_A9 =                                                          
                     curMaterialClassPropertyType_A7.Description.string(X_A9);                      
                                                                                                    
                  request = request +                                                               
                  '<s1:Description>' +                                                              
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curString_of_string_A9)                                                  
                     : %addr(curString_of_string_A9: *DATA)                                         
                     : %len(curString_of_string_A9)                                                 
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:Description>' +                                                             
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A11 = 1 to curMaterialClassPropertyType_A7.Value.x;                            
                  curValueType_A11 =                                                                
                     curMaterialClassPropertyType_A7.Value.ValueType(X_A11);                        
                                                                                                    
                  request = request +                                                               
                  '<s1:Value>' +                                                                    
                  '<s1:ValueString>' +                                                              
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A11.ValueString)                                            
                     : %addr(curValueType_A11.ValueString: *DATA)                                   
                     : %len(curValueType_A11.ValueString)                                           
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:ValueString>' +                                                             
                  '<s1:DataType>' +                                                                 
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A11.DataType)                                               
                     : %addr(curValueType_A11.DataType: *DATA)                                      
                     : %len(curValueType_A11.DataType)                                              
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:DataType>' +                                                                
                  '<s1:UnitOfMeasure>' +                                                            
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A11.UnitOfMeasure)                                          
                     : %addr(curValueType_A11.UnitOfMeasure: *DATA)                                 
                     : %len(curValueType_A11.UnitOfMeasure)                                         
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:UnitOfMeasure>' +                                                           
                  '<s1:Key>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A11.Key)                                                    
                     : %addr(curValueType_A11.Key: *DATA)                                           
                     : %len(curValueType_A11.Key)                                                   
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:Key>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                                                                                                    
                  for X_A12 = 1 to curValueType_A11.Any.x;                                          
                     curAnyRef4_A12 = curValueType_A11.Any.item(X_A12);                             
                                                                                                    
                     request = request +                                                            
                     '<s1:Any>' +                                                                   
                     '<s1:any>' +                                                                   
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                     Marshaller_toAnyV6(                                                            
                        %addr(curAnyRef4_A12.any)                                                   
                        : %addr(curAnyRef4_A12.any: *DATA)                                          
                        : %len(curAnyRef4_A12.any)                                                  
                        : hOutStream);                                                              
                                                                                                    
                     request = request +                                                            
                     '</s1:any>' +                                                                  
                     '</s1:Any>' +                                                                  
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                  endfor;                                                                           
                                                                                                    
                  request = request +                                                               
                  '</s1:Value>' +                                                                   
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A10 = 1 to curMaterialClassPropertyType_A7.QAMateri...                         
                                alTestSpecificationID.x;                                            
                  curString_of_string1_A10 =                                                        
                     curMaterialClassPropertyType_A7.QAMaterialTestSpecificat...                    
                     ionID.string(X_A10);                                                           
                                                                                                    
                  request = request +                                                               
                  '<s1:QAMaterialTestSpecificationID>' +                                            
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curString_of_string1_A10)                                                
                     : %addr(curString_of_string1_A10: *DATA)                                       
                     : %len(curString_of_string1_A10)                                               
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:QAMaterialTestSpecificationID>' +                                           
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A8 = 1 to curMaterialClassPropertyType_A7.Any.x;                               
                  curAnyRef3_A8 =                                                                   
                     curMaterialClassPropertyType_A7.Any.item(X_A8);                                
                                                                                                    
                  request = request +                                                               
                  '<s1:Any>' +                                                                      
                  '<s1:any>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toAnyV6(                                                               
                     %addr(curAnyRef3_A8.any)                                                       
                     : %addr(curAnyRef3_A8.any: *DATA)                                              
                     : %len(curAnyRef3_A8.any)                                                      
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:any>' +                                                                     
                  '</s1:Any>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialClassProperty>' +                                                      
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A13 = 1 to curMaterialClassType_A4.MaterialDefinitionID.x                         
                             ;                                                                      
               curString_of_string3_A13 =                                                           
                  curMaterialClassType_A4.MaterialDefinitionID.string(X_A13);                       
                                                                                                    
               request = request +                                                                  
               '<s1:MaterialDefinitionID>' +                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curString_of_string3_A13)                                                   
                  : %addr(curString_of_string3_A13: *DATA)                                          
                  : %len(curString_of_string3_A13)                                                  
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialDefinitionID>' +                                                       
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '<s2:MessageType>' +                                                                    
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialClassType_A4.MessageType)                                           
               : %addr(curMaterialClassType_A4.MessageType: *DATA)                                  
               : %len(curMaterialClassType_A4.MessageType)                                          
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:MessageType>' +                                                                   
            '<s2:Action>' +                                                                         
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialClassType_A4.Action)                                                
               : %addr(curMaterialClassType_A4.Action: *DATA)                                       
               : %len(curMaterialClassType_A4.Action)                                               
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:Action>' +                                                                        
            '<s2:ConfirmOption>' +                                                                  
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialClassType_A4.ConfirmOption)                                         
               : %addr(curMaterialClassType_A4.ConfirmOption: *DATA)                                
               : %len(curMaterialClassType_A4.ConfirmOption)                                        
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ConfirmOption>' +                                                                 
            '<s2:ProcessingStatus>' +                                                               
            '<s2:ReturnValue>' +                                                                    
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialClassType_A4.ProcessingStatus.ReturnValue)                          
               : %addr(curMaterialClassType_A4.ProcessingStatus.ReturnValue:                        
               *DATA)                                                                               
               : %len(curMaterialClassType_A4.ProcessingStatus.ReturnValue)                         
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ReturnValue>' +                                                                   
            '<s2:ReturnDescription>' +                                                              
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialClassType_A4.ProcessingStatus.ReturnDescripti...                    
               on)                                                                                  
               : %addr(curMaterialClassType_A4.ProcessingStatus.ReturnDescrip...                    
               tion: *DATA)                                                                         
               : %len(curMaterialClassType_A4.ProcessingStatus.ReturnDescript...                    
               ion)                                                                                 
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ReturnDescription>' +                                                             
            '<s2:ReturnCode>' +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialClassType_A4.ProcessingStatus.ReturnCode)                           
               : %addr(curMaterialClassType_A4.ProcessingStatus.ReturnCode:                         
               *DATA)                                                                               
               : %len(curMaterialClassType_A4.ProcessingStatus.ReturnCode)                          
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ReturnCode>' +                                                                    
            '</s2:ProcessingStatus>' +                                                              
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A5 = 1 to curMaterialClassType_A4.Any.x;                                          
               curAnyRef2_A5 = curMaterialClassType_A4.Any.item(X_A5);                              
                                                                                                    
               request = request +                                                                  
               '<s1:Any>' +                                                                         
               '<s1:any>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toAnyV6(                                                                  
                  %addr(curAnyRef2_A5.any)                                                          
                  : %addr(curAnyRef2_A5.any: *DATA)                                                 
                  : %len(curAnyRef2_A5.any)                                                         
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:any>' +                                                                        
               '</s1:Any>' +                                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '</s1:MaterialClass>' +                                                                 
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
         endfor;                                                                                    
                                                                                                    
         request = request +                                                                        
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
                                                                                                    
         for X_A14 = 1 to i_tns_ProcessMaterialInformation.MaterialInfor...                         
                          mation.MaterialDefinition.x;                                              
            curMaterialDefinitionType_A14 =                                                         
               i_tns_ProcessMaterialInformation.MaterialInformation.MaterialD...                    
               efinition.MaterialDefinitionType(X_A14);                                             
                                                                                                    
            request = request +                                                                     
            '<s1:MaterialDefinition>' +                                                             
            '<s1:ID>' +                                                                             
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialDefinitionType_A14.ID)                                              
               : %addr(curMaterialDefinitionType_A14.ID: *DATA)                                     
               : %len(curMaterialDefinitionType_A14.ID)                                             
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:ID>' +                                                                            
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A16 = 1 to curMaterialDefinitionType_A14.Description.x;                           
               curString_of_string6_A16 =                                                           
                  curMaterialDefinitionType_A14.Description.string(X_A16);                          
                                                                                                    
               request = request +                                                                  
               '<s1:Description>' +                                                                 
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curString_of_string6_A16)                                                   
                  : %addr(curString_of_string6_A16: *DATA)                                          
                  : %len(curString_of_string6_A16)                                                  
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:Description>' +                                                                
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A18 = 1 to curMaterialDefinitionType_A14.MaterialDefin...                         
                             itionProperty.x;                                                       
               curMaterialDefinitionPropertyType_A18 =                                              
                  curMaterialDefinitionType_A14.MaterialDefinitionProperty...                       
                  .MaterialDefinitionPropertyType(X_A18);                                           
                                                                                                    
               request = request +                                                                  
               '<s1:MaterialDefinitionProperty>' +                                                  
               '<s1:ID>' +                                                                          
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curMaterialDefinitionPropertyType_A18.ID)                                   
                  : %addr(curMaterialDefinitionPropertyType_A18.ID: *DATA)                          
                  : %len(curMaterialDefinitionPropertyType_A18.ID)                                  
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:ID>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A20 = 1 to curMaterialDefinitionPropertyType_A18.De...                         
                                scription.x;                                                        
                  curString_of_string4_A20 =                                                        
                     curMaterialDefinitionPropertyType_A18.Description.string...                    
                     (X_A20);                                                                       
                                                                                                    
                  request = request +                                                               
                  '<s1:Description>' +                                                              
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curString_of_string4_A20)                                                
                     : %addr(curString_of_string4_A20: *DATA)                                       
                     : %len(curString_of_string4_A20)                                               
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:Description>' +                                                             
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A22 = 1 to curMaterialDefinitionPropertyType_A18.Va...                         
                                lue.x;                                                              
                  curValueType_A22 =                                                                
                     curMaterialDefinitionPropertyType_A18.Value.ValueType(                         
                     X_A22);                                                                        
                                                                                                    
                  request = request +                                                               
                  '<s1:Value>' +                                                                    
                  '<s1:ValueString>' +                                                              
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A22.ValueString)                                            
                     : %addr(curValueType_A22.ValueString: *DATA)                                   
                     : %len(curValueType_A22.ValueString)                                           
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:ValueString>' +                                                             
                  '<s1:DataType>' +                                                                 
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A22.DataType)                                               
                     : %addr(curValueType_A22.DataType: *DATA)                                      
                     : %len(curValueType_A22.DataType)                                              
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:DataType>' +                                                                
                  '<s1:UnitOfMeasure>' +                                                            
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A22.UnitOfMeasure)                                          
                     : %addr(curValueType_A22.UnitOfMeasure: *DATA)                                 
                     : %len(curValueType_A22.UnitOfMeasure)                                         
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:UnitOfMeasure>' +                                                           
                  '<s1:Key>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A22.Key)                                                    
                     : %addr(curValueType_A22.Key: *DATA)                                           
                     : %len(curValueType_A22.Key)                                                   
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:Key>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                                                                                                    
                  for X_A12 = 1 to curValueType_A22.Any.x;                                          
                     curAnyRef4_A12 = curValueType_A22.Any.item(X_A12);                             
                                                                                                    
                     request = request +                                                            
                     '<s1:Any>' +                                                                   
                     '<s1:any>' +                                                                   
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                     Marshaller_toAnyV6(                                                            
                        %addr(curAnyRef4_A12.any)                                                   
                        : %addr(curAnyRef4_A12.any: *DATA)                                          
                        : %len(curAnyRef4_A12.any)                                                  
                        : hOutStream);                                                              
                                                                                                    
                     request = request +                                                            
                     '</s1:any>' +                                                                  
                     '</s1:Any>' +                                                                  
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                  endfor;                                                                           
                                                                                                    
                  request = request +                                                               
                  '</s1:Value>' +                                                                   
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A21 = 1 to curMaterialDefinitionPropertyType_A18.QA...                         
                                MaterialTestSpecificationID.x;                                      
                  curString_of_string5_A21 =                                                        
                     curMaterialDefinitionPropertyType_A18.QAMaterialTestSpec...                    
                     ificationID.string(X_A21);                                                     
                                                                                                    
                  request = request +                                                               
                  '<s1:QAMaterialTestSpecificationID>' +                                            
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curString_of_string5_A21)                                                
                     : %addr(curString_of_string5_A21: *DATA)                                       
                     : %len(curString_of_string5_A21)                                               
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:QAMaterialTestSpecificationID>' +                                           
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A19 = 1 to curMaterialDefinitionPropertyType_A18.Any.x                         
                                ;                                                                   
                  curAnyRef6_A19 =                                                                  
                     curMaterialDefinitionPropertyType_A18.Any.item(X_A19);                         
                                                                                                    
                  request = request +                                                               
                  '<s1:Any>' +                                                                      
                  '<s1:any>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toAnyV6(                                                               
                     %addr(curAnyRef6_A19.any)                                                      
                     : %addr(curAnyRef6_A19.any: *DATA)                                             
                     : %len(curAnyRef6_A19.any)                                                     
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:any>' +                                                                     
                  '</s1:Any>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialDefinitionProperty>' +                                                 
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A17 = 1 to curMaterialDefinitionType_A14.MaterialClass...                         
                             ID.x;                                                                  
               curString_of_string7_A17 =                                                           
                  curMaterialDefinitionType_A14.MaterialClassID.string(X_A17);                      
                                                                                                    
               request = request +                                                                  
               '<s1:MaterialClassID>' +                                                             
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curString_of_string7_A17)                                                   
                  : %addr(curString_of_string7_A17: *DATA)                                          
                  : %len(curString_of_string7_A17)                                                  
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialClassID>' +                                                            
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A23 = 1 to curMaterialDefinitionType_A14.MaterialLotID.x;                         
               curString_of_string8_A23 =                                                           
                  curMaterialDefinitionType_A14.MaterialLotID.string(X_A23);                        
                                                                                                    
               request = request +                                                                  
               '<s1:MaterialLotID>' +                                                               
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curString_of_string8_A23)                                                   
                  : %addr(curString_of_string8_A23: *DATA)                                          
                  : %len(curString_of_string8_A23)                                                  
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialLotID>' +                                                              
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '<s2:MessageType>' +                                                                    
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialDefinitionType_A14.MessageType)                                     
               : %addr(curMaterialDefinitionType_A14.MessageType: *DATA)                            
               : %len(curMaterialDefinitionType_A14.MessageType)                                    
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:MessageType>' +                                                                   
            '<s2:Action>' +                                                                         
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialDefinitionType_A14.Action)                                          
               : %addr(curMaterialDefinitionType_A14.Action: *DATA)                                 
               : %len(curMaterialDefinitionType_A14.Action)                                         
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:Action>' +                                                                        
            '<s2:ConfirmOption>' +                                                                  
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialDefinitionType_A14.ConfirmOption)                                   
               : %addr(curMaterialDefinitionType_A14.ConfirmOption: *DATA)                          
               : %len(curMaterialDefinitionType_A14.ConfirmOption)                                  
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ConfirmOption>' +                                                                 
            '<s2:ProcessingStatus>' +                                                               
            '<s2:ReturnValue>' +                                                                    
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialDefinitionType_A14.ProcessingStatus.ReturnVal...                    
               ue)                                                                                  
               : %addr(curMaterialDefinitionType_A14.ProcessingStatus.ReturnV...                    
               alue: *DATA)                                                                         
               : %len(curMaterialDefinitionType_A14.ProcessingStatus.ReturnVa...                    
               lue)                                                                                 
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ReturnValue>' +                                                                   
            '<s2:ReturnDescription>' +                                                              
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialDefinitionType_A14.ProcessingStatus.ReturnDes...                    
               cription)                                                                            
               : %addr(curMaterialDefinitionType_A14.ProcessingStatus.ReturnD...                    
               escription: *DATA)                                                                   
               : %len(curMaterialDefinitionType_A14.ProcessingStatus.ReturnDe...                    
               scription)                                                                           
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ReturnDescription>' +                                                             
            '<s2:ReturnCode>' +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialDefinitionType_A14.ProcessingStatus.ReturnCod...                    
               e)                                                                                   
               : %addr(curMaterialDefinitionType_A14.ProcessingStatus.ReturnC...                    
               ode: *DATA)                                                                          
               : %len(curMaterialDefinitionType_A14.ProcessingStatus.ReturnCo...                    
               de)                                                                                  
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ReturnCode>' +                                                                    
            '</s2:ProcessingStatus>' +                                                              
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A15 = 1 to curMaterialDefinitionType_A14.Any.x;                                   
               curAnyRef5_A15 = curMaterialDefinitionType_A14.Any.item(X_A15);                      
                                                                                                    
               request = request +                                                                  
               '<s1:Any>' +                                                                         
               '<s1:any>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toAnyV6(                                                                  
                  %addr(curAnyRef5_A15.any)                                                         
                  : %addr(curAnyRef5_A15.any: *DATA)                                                
                  : %len(curAnyRef5_A15.any)                                                        
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:any>' +                                                                        
               '</s1:Any>' +                                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '</s1:MaterialDefinition>' +                                                            
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
         endfor;                                                                                    
                                                                                                    
         request = request +                                                                        
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
                                                                                                    
         for X_A24 = 1 to i_tns_ProcessMaterialInformation.MaterialInfor...                         
                          mation.MaterialLot.x;                                                     
            curMaterialLotType_A24 =                                                                
               i_tns_ProcessMaterialInformation.MaterialInformation.MaterialL...                    
               ot.MaterialLotType(X_A24);                                                           
                                                                                                    
            request = request +                                                                     
            '<s1:MaterialLot>' +                                                                    
            '<s1:ID>' +                                                                             
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.ID)                                                     
               : %addr(curMaterialLotType_A24.ID: *DATA)                                            
               : %len(curMaterialLotType_A24.ID)                                                    
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:ID>' +                                                                            
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A26 = 1 to curMaterialLotType_A24.Description.x;                                  
               curString_of_string12_A26 =                                                          
                  curMaterialLotType_A24.Description.string(X_A26);                                 
                                                                                                    
               request = request +                                                                  
               '<s1:Description>' +                                                                 
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curString_of_string12_A26)                                                  
                  : %addr(curString_of_string12_A26: *DATA)                                         
                  : %len(curString_of_string12_A26)                                                 
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:Description>' +                                                                
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '<s1:MaterialDefinitionID>' +                                                           
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.MaterialDefinitionID)                                   
               : %addr(curMaterialLotType_A24.MaterialDefinitionID: *DATA)                          
               : %len(curMaterialLotType_A24.MaterialDefinitionID)                                  
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:MaterialDefinitionID>' +                                                          
            '<s1:Status>' +                                                                         
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.Status)                                                 
               : %addr(curMaterialLotType_A24.Status: *DATA)                                        
               : %len(curMaterialLotType_A24.Status)                                                
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:Status>' +                                                                        
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A27 = 1 to curMaterialLotType_A24.MaterialLotProperty.x;                          
               curMaterialLotPropertyType_A27 =                                                     
                  curMaterialLotType_A24.MaterialLotProperty.MaterialLotPrope...                    
                  rtyType(X_A27);                                                                   
                                                                                                    
               request = request +                                                                  
               '<s1:MaterialLotProperty>' +                                                         
               '<s1:ID>' +                                                                          
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curMaterialLotPropertyType_A27.ID)                                          
                  : %addr(curMaterialLotPropertyType_A27.ID: *DATA)                                 
                  : %len(curMaterialLotPropertyType_A27.ID)                                         
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:ID>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A29 = 1 to curMaterialLotPropertyType_A27.Descripti...                         
                                on.x;                                                               
                  curString_of_string10_A29 =                                                       
                     curMaterialLotPropertyType_A27.Description.string(X_A29);                      
                                                                                                    
                  request = request +                                                               
                  '<s1:Description>' +                                                              
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curString_of_string10_A29)                                               
                     : %addr(curString_of_string10_A29: *DATA)                                      
                     : %len(curString_of_string10_A29)                                              
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:Description>' +                                                             
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A36 = 1 to curMaterialLotPropertyType_A27.Value.x;                             
                  curValueType_A36 =                                                                
                     curMaterialLotPropertyType_A27.Value.ValueType(X_A36);                         
                                                                                                    
                  request = request +                                                               
                  '<s1:Value>' +                                                                    
                  '<s1:ValueString>' +                                                              
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A36.ValueString)                                            
                     : %addr(curValueType_A36.ValueString: *DATA)                                   
                     : %len(curValueType_A36.ValueString)                                           
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:ValueString>' +                                                             
                  '<s1:DataType>' +                                                                 
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A36.DataType)                                               
                     : %addr(curValueType_A36.DataType: *DATA)                                      
                     : %len(curValueType_A36.DataType)                                              
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:DataType>' +                                                                
                  '<s1:UnitOfMeasure>' +                                                            
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A36.UnitOfMeasure)                                          
                     : %addr(curValueType_A36.UnitOfMeasure: *DATA)                                 
                     : %len(curValueType_A36.UnitOfMeasure)                                         
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:UnitOfMeasure>' +                                                           
                  '<s1:Key>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curValueType_A36.Key)                                                    
                     : %addr(curValueType_A36.Key: *DATA)                                           
                     : %len(curValueType_A36.Key)                                                   
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:Key>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                                                                                                    
                  for X_A12 = 1 to curValueType_A36.Any.x;                                          
                     curAnyRef4_A12 = curValueType_A36.Any.item(X_A12);                             
                                                                                                    
                     request = request +                                                            
                     '<s1:Any>' +                                                                   
                     '<s1:any>' +                                                                   
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                     Marshaller_toAnyV6(                                                            
                        %addr(curAnyRef4_A12.any)                                                   
                        : %addr(curAnyRef4_A12.any: *DATA)                                          
                        : %len(curAnyRef4_A12.any)                                                  
                        : hOutStream);                                                              
                                                                                                    
                     request = request +                                                            
                     '</s1:any>' +                                                                  
                     '</s1:Any>' +                                                                  
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                  endfor;                                                                           
                                                                                                    
                  request = request +                                                               
                  '</s1:Value>' +                                                                   
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A30 = 1 to curMaterialLotPropertyType_A27.QAMateria...                         
                                lTestSpecificationID.x;                                             
                  curString_of_string11_A30 =                                                       
                     curMaterialLotPropertyType_A27.QAMaterialTestSpecificati...                    
                     onID.string(X_A30);                                                            
                                                                                                    
                  request = request +                                                               
                  '<s1:QAMaterialTestSpecificationID>' +                                            
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curString_of_string11_A30)                                               
                     : %addr(curString_of_string11_A30: *DATA)                                      
                     : %len(curString_of_string11_A30)                                              
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:QAMaterialTestSpecificationID>' +                                           
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A31 = 1 to curMaterialLotPropertyType_A27.TestResult.x                         
                                ;                                                                   
                  curTestResultType_A31 =                                                           
                     curMaterialLotPropertyType_A27.TestResult.TestResultType...                    
                     (X_A31);                                                                       
                                                                                                    
                  request = request +                                                               
                  '<s1:TestResult>' +                                                               
                  '<s1:ID>' +                                                                       
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curTestResultType_A31.ID)                                                
                     : %addr(curTestResultType_A31.ID: *DATA)                                       
                     : %len(curTestResultType_A31.ID)                                               
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:ID>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                                                                                                    
                  for X_A33 = 1 to curTestResultType_A31.Description.x;                             
                     curString_of_string15_A33 =                                                    
                        curTestResultType_A31.Description.string(X_A33);                            
                                                                                                    
                     request = request +                                                            
                     '<s1:Description>' +                                                           
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                     Marshaller_toStringV6(                                                         
                        %addr(curString_of_string15_A33)                                            
                        : %addr(curString_of_string15_A33: *DATA)                                   
                        : %len(curString_of_string15_A33)                                           
                        : hOutStream);                                                              
                                                                                                    
                     request = request +                                                            
                     '</s1:Description>' +                                                          
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                  endfor;                                                                           
                                                                                                    
                  request = request +                                                               
                  '<s1:TestDateTime>' +                                                             
                  Marshaller_toDateTime(                                                            
                     curTestResultType_A31.TestDateTime                                             
                     ) +                                                                            
                  '</s1:TestDateTime>' +                                                            
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                                                                                                    
                  for X_A34 = 1 to curTestResultType_A31.Result.x;                                  
                     curResultType_A34 =                                                            
                        curTestResultType_A31.Result.ResultType(X_A34);                             
                                                                                                    
                     request = request +                                                            
                     '<s1:Result>' +                                                                
                     '<s1:ValueString>' +                                                           
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                     Marshaller_toStringV6(                                                         
                        %addr(curResultType_A34.ValueString)                                        
                        : %addr(curResultType_A34.ValueString: *DATA)                               
                        : %len(curResultType_A34.ValueString)                                       
                        : hOutStream);                                                              
                                                                                                    
                     request = request +                                                            
                     '</s1:ValueString>' +                                                          
                     '<s1:DataType>' +                                                              
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                     Marshaller_toStringV6(                                                         
                        %addr(curResultType_A34.DataType)                                           
                        : %addr(curResultType_A34.DataType: *DATA)                                  
                        : %len(curResultType_A34.DataType)                                          
                        : hOutStream);                                                              
                                                                                                    
                     request = request +                                                            
                     '</s1:DataType>' +                                                             
                     '<s1:UnitOfMeasure>' +                                                         
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                     Marshaller_toStringV6(                                                         
                        %addr(curResultType_A34.UnitOfMeasure)                                      
                        : %addr(curResultType_A34.UnitOfMeasure: *DATA)                             
                        : %len(curResultType_A34.UnitOfMeasure)                                     
                        : hOutStream);                                                              
                                                                                                    
                     request = request +                                                            
                     '</s1:UnitOfMeasure>' +                                                        
                     '<s1:Key>' +                                                                   
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                     Marshaller_toStringV6(                                                         
                        %addr(curResultType_A34.Key)                                                
                        : %addr(curResultType_A34.Key: *DATA)                                       
                        : %len(curResultType_A34.Key)                                               
                        : hOutStream);                                                              
                                                                                                    
                     request = request +                                                            
                     '</s1:Key>' +                                                                  
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                                                                                                    
                     for X_A35 = 1 to curResultType_A34.Any.x;                                      
                        curAnyRef10_A35 = curResultType_A34.Any.item(X_A35);                        
                                                                                                    
                        request = request +                                                         
                        '<s1:Any>' +                                                                
                        '<s1:any>' +                                                                
                           '';                                                                      
                                                                                                    
                        if (%len(request) > 0);                                                     
                           // Add previous bytes of request message to output                       
                           // stream                                                                
                           ManagedMemoryDataSource_OutputStream_write(hOutStr...                    
                           eam: %addr(request: *DATA): %len(request));                              
                           clear request;                                                           
                        endif;                                                                      
                        Marshaller_toAnyV6(                                                         
                           %addr(curAnyRef10_A35.any)                                               
                           : %addr(curAnyRef10_A35.any: *DATA)                                      
                           : %len(curAnyRef10_A35.any)                                              
                           : hOutStream);                                                           
                                                                                                    
                        request = request +                                                         
                        '</s1:any>' +                                                               
                        '</s1:Any>' +                                                               
                           '';                                                                      
                                                                                                    
                        if (%len(request) > 0);                                                     
                           // Add previous bytes of request message to output                       
                           // stream                                                                
                           ManagedMemoryDataSource_OutputStream_write(hOutStr...                    
                           eam: %addr(request: *DATA): %len(request));                              
                           clear request;                                                           
                        endif;                                                                      
                     endfor;                                                                        
                                                                                                    
                     request = request +                                                            
                     '</s1:Result>' +                                                               
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                  endfor;                                                                           
                                                                                                    
                  request = request +                                                               
                  '<s1:ExpirationTime>' +                                                           
                  Marshaller_toDateTime(                                                            
                     curTestResultType_A31.ExpirationTime                                           
                     ) +                                                                            
                  '</s1:ExpirationTime>' +                                                          
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                                                                                                    
                  for X_A32 = 1 to curTestResultType_A31.Any.x;                                     
                     curAnyRef9_A32 = curTestResultType_A31.Any.item(X_A32);                        
                                                                                                    
                     request = request +                                                            
                     '<s1:Any>' +                                                                   
                     '<s1:any>' +                                                                   
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                     Marshaller_toAnyV6(                                                            
                        %addr(curAnyRef9_A32.any)                                                   
                        : %addr(curAnyRef9_A32.any: *DATA)                                          
                        : %len(curAnyRef9_A32.any)                                                  
                        : hOutStream);                                                              
                                                                                                    
                     request = request +                                                            
                     '</s1:any>' +                                                                  
                     '</s1:Any>' +                                                                  
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                  endfor;                                                                           
                                                                                                    
                  request = request +                                                               
                  '</s1:TestResult>' +                                                              
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A28 = 1 to curMaterialLotPropertyType_A27.Any.x;                               
                  curAnyRef8_A28 =                                                                  
                     curMaterialLotPropertyType_A27.Any.item(X_A28);                                
                                                                                                    
                  request = request +                                                               
                  '<s1:Any>' +                                                                      
                  '<s1:any>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toAnyV6(                                                               
                     %addr(curAnyRef8_A28.any)                                                      
                     : %addr(curAnyRef8_A28.any: *DATA)                                             
                     : %len(curAnyRef8_A28.any)                                                     
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:any>' +                                                                     
                  '</s1:Any>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialLotProperty>' +                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A37 = 1 to curMaterialLotType_A24.MaterialSubLot.x;                               
               curMaterialSubLotType_A37 =                                                          
                  curMaterialLotType_A24.MaterialSubLot.MaterialSubLotType(                         
                  X_A37);                                                                           
                                                                                                    
               request = request +                                                                  
               '<s1:MaterialSubLot>' +                                                              
               '<s1:ID>' +                                                                          
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curMaterialSubLotType_A37.ID)                                               
                  : %addr(curMaterialSubLotType_A37.ID: *DATA)                                      
                  : %len(curMaterialSubLotType_A37.ID)                                              
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:ID>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A39 = 1 to curMaterialSubLotType_A37.Description.x;                            
                  curString_of_string13_A39 =                                                       
                     curMaterialSubLotType_A37.Description.string(X_A39);                           
                                                                                                    
                  request = request +                                                               
                  '<s1:Description>' +                                                              
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curString_of_string13_A39)                                               
                     : %addr(curString_of_string13_A39: *DATA)                                      
                     : %len(curString_of_string13_A39)                                              
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:Description>' +                                                             
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '<s1:Status>' +                                                                      
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curMaterialSubLotType_A37.Status)                                           
                  : %addr(curMaterialSubLotType_A37.Status: *DATA)                                  
                  : %len(curMaterialSubLotType_A37.Status)                                          
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:Status>' +                                                                     
               '<s1:StorageLocation>' +                                                             
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curMaterialSubLotType_A37.StorageLocation)                                  
                  : %addr(curMaterialSubLotType_A37.StorageLocation: *DATA)                         
                  : %len(curMaterialSubLotType_A37.StorageLocation)                                 
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:StorageLocation>' +                                                            
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A40 = 1 to curMaterialSubLotType_A37.Quantity.x;                               
                  curQuantityType_A40 =                                                             
                     curMaterialSubLotType_A37.Quantity.QuantityType(X_A40);                        
                                                                                                    
                  request = request +                                                               
                  '<s1:Quantity>' +                                                                 
                  '<s1:QuantityString>' +                                                           
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curQuantityType_A40.QuantityString)                                      
                     : %addr(curQuantityType_A40.QuantityString: *DATA)                             
                     : %len(curQuantityType_A40.QuantityString)                                     
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:QuantityString>' +                                                          
                  '<s1:DataType>' +                                                                 
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curQuantityType_A40.DataType)                                            
                     : %addr(curQuantityType_A40.DataType: *DATA)                                   
                     : %len(curQuantityType_A40.DataType)                                           
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:DataType>' +                                                                
                  '<s1:UnitOfMeasure>' +                                                            
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curQuantityType_A40.UnitOfMeasure)                                       
                     : %addr(curQuantityType_A40.UnitOfMeasure: *DATA)                              
                     : %len(curQuantityType_A40.UnitOfMeasure)                                      
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:UnitOfMeasure>' +                                                           
                  '<s1:Key>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toStringV6(                                                            
                     %addr(curQuantityType_A40.Key)                                                 
                     : %addr(curQuantityType_A40.Key: *DATA)                                        
                     : %len(curQuantityType_A40.Key)                                                
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:Key>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                                                                                                    
                  for X_A41 = 1 to curQuantityType_A40.Any.x;                                       
                     curAnyRef12_A41 = curQuantityType_A40.Any.item(X_A41);                         
                                                                                                    
                     request = request +                                                            
                     '<s1:Any>' +                                                                   
                     '<s1:any>' +                                                                   
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                     Marshaller_toAnyV6(                                                            
                        %addr(curAnyRef12_A41.any)                                                  
                        : %addr(curAnyRef12_A41.any: *DATA)                                         
                        : %len(curAnyRef12_A41.any)                                                 
                        : hOutStream);                                                              
                                                                                                    
                     request = request +                                                            
                     '</s1:any>' +                                                                  
                     '</s1:Any>' +                                                                  
                        '';                                                                         
                                                                                                    
                     if (%len(request) > 0);                                                        
                        // Add previous bytes of request message to output                          
                        // stream                                                                   
                        ManagedMemoryDataSource_OutputStream_write(hOutStream:                      
                        %addr(request: *DATA): %len(request));                                      
                        clear request;                                                              
                     endif;                                                                         
                  endfor;                                                                           
                                                                                                    
                  request = request +                                                               
                  '</s1:Quantity>' +                                                                
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '<s1:MaterialLotID>' +                                                               
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curMaterialSubLotType_A37.MaterialLotID)                                    
                  : %addr(curMaterialSubLotType_A37.MaterialLotID: *DATA)                           
                  : %len(curMaterialSubLotType_A37.MaterialLotID)                                   
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialLotID>' +                                                              
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A38 = 1 to curMaterialSubLotType_A37.Any.x;                                    
                  curAnyRef11_A38 = curMaterialSubLotType_A37.Any.item(X_A38);                      
                                                                                                    
                  request = request +                                                               
                  '<s1:Any>' +                                                                      
                  '<s1:any>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toAnyV6(                                                               
                     %addr(curAnyRef11_A38.any)                                                     
                     : %addr(curAnyRef11_A38.any: *DATA)                                            
                     : %len(curAnyRef11_A38.any)                                                    
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:any>' +                                                                     
                  '</s1:Any>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialSubLot>' +                                                             
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '<s1:Location>' +                                                                       
            '<s1:EquipmentID>' +                                                                    
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.Location.EquipmentID)                                   
               : %addr(curMaterialLotType_A24.Location.EquipmentID: *DATA)                          
               : %len(curMaterialLotType_A24.Location.EquipmentID)                                  
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:EquipmentID>' +                                                                   
            '<s1:EquipmentElementLevel>' +                                                          
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.Location.EquipmentElementLevel)                         
               : %addr(curMaterialLotType_A24.Location.EquipmentElementLevel:                       
               *DATA)                                                                               
               : %len(curMaterialLotType_A24.Location.EquipmentElementLevel)                        
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:EquipmentElementLevel>' +                                                         
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A3 = 1 to curMaterialLotType_A24.Location.Any.x;                                  
               curAnyRef1_A3 = curMaterialLotType_A24.Location.Any.item(X_A3);                      
                                                                                                    
               request = request +                                                                  
               '<s1:Any>' +                                                                         
               '<s1:any>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toAnyV6(                                                                  
                  %addr(curAnyRef1_A3.any)                                                          
                  : %addr(curAnyRef1_A3.any: *DATA)                                                 
                  : %len(curAnyRef1_A3.any)                                                         
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:any>' +                                                                        
               '</s1:Any>' +                                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '</s1:Location>' +                                                                      
            '<s1:StorageLocation>' +                                                                
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.StorageLocation)                                        
               : %addr(curMaterialLotType_A24.StorageLocation: *DATA)                               
               : %len(curMaterialLotType_A24.StorageLocation)                                       
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:StorageLocation>' +                                                               
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A42 = 1 to curMaterialLotType_A24.Quantity.x;                                     
               curQuantityType_A42 =                                                                
                  curMaterialLotType_A24.Quantity.QuantityType(X_A42);                              
                                                                                                    
               request = request +                                                                  
               '<s1:Quantity>' +                                                                    
               '<s1:QuantityString>' +                                                              
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curQuantityType_A42.QuantityString)                                         
                  : %addr(curQuantityType_A42.QuantityString: *DATA)                                
                  : %len(curQuantityType_A42.QuantityString)                                        
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:QuantityString>' +                                                             
               '<s1:DataType>' +                                                                    
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curQuantityType_A42.DataType)                                               
                  : %addr(curQuantityType_A42.DataType: *DATA)                                      
                  : %len(curQuantityType_A42.DataType)                                              
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:DataType>' +                                                                   
               '<s1:UnitOfMeasure>' +                                                               
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curQuantityType_A42.UnitOfMeasure)                                          
                  : %addr(curQuantityType_A42.UnitOfMeasure: *DATA)                                 
                  : %len(curQuantityType_A42.UnitOfMeasure)                                         
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:UnitOfMeasure>' +                                                              
               '<s1:Key>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curQuantityType_A42.Key)                                                    
                  : %addr(curQuantityType_A42.Key: *DATA)                                           
                  : %len(curQuantityType_A42.Key)                                                   
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:Key>' +                                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A41 = 1 to curQuantityType_A42.Any.x;                                          
                  curAnyRef12_A41 = curQuantityType_A42.Any.item(X_A41);                            
                                                                                                    
                  request = request +                                                               
                  '<s1:Any>' +                                                                      
                  '<s1:any>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toAnyV6(                                                               
                     %addr(curAnyRef12_A41.any)                                                     
                     : %addr(curAnyRef12_A41.any: *DATA)                                            
                     : %len(curAnyRef12_A41.any)                                                    
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:any>' +                                                                     
                  '</s1:Any>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '</s1:Quantity>' +                                                                   
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '<s2:MessageType>' +                                                                    
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.MessageType)                                            
               : %addr(curMaterialLotType_A24.MessageType: *DATA)                                   
               : %len(curMaterialLotType_A24.MessageType)                                           
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:MessageType>' +                                                                   
            '<s2:Action>' +                                                                         
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.Action)                                                 
               : %addr(curMaterialLotType_A24.Action: *DATA)                                        
               : %len(curMaterialLotType_A24.Action)                                                
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:Action>' +                                                                        
            '<s2:ConfirmOption>' +                                                                  
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.ConfirmOption)                                          
               : %addr(curMaterialLotType_A24.ConfirmOption: *DATA)                                 
               : %len(curMaterialLotType_A24.ConfirmOption)                                         
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ConfirmOption>' +                                                                 
            '<s2:ProcessingStatus>' +                                                               
            '<s2:ReturnValue>' +                                                                    
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.ProcessingStatus.ReturnValue)                           
               : %addr(curMaterialLotType_A24.ProcessingStatus.ReturnValue:                         
               *DATA)                                                                               
               : %len(curMaterialLotType_A24.ProcessingStatus.ReturnValue)                          
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ReturnValue>' +                                                                   
            '<s2:ReturnDescription>' +                                                              
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.ProcessingStatus.ReturnDescriptio...                    
               n)                                                                                   
               : %addr(curMaterialLotType_A24.ProcessingStatus.ReturnDescript...                    
               ion: *DATA)                                                                          
               : %len(curMaterialLotType_A24.ProcessingStatus.ReturnDescripti...                    
               on)                                                                                  
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ReturnDescription>' +                                                             
            '<s2:ReturnCode>' +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialLotType_A24.ProcessingStatus.ReturnCode)                            
               : %addr(curMaterialLotType_A24.ProcessingStatus.ReturnCode:                          
               *DATA)                                                                               
               : %len(curMaterialLotType_A24.ProcessingStatus.ReturnCode)                           
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s2:ReturnCode>' +                                                                    
            '</s2:ProcessingStatus>' +                                                              
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A25 = 1 to curMaterialLotType_A24.Any.x;                                          
               curAnyRef7_A25 = curMaterialLotType_A24.Any.item(X_A25);                             
                                                                                                    
               request = request +                                                                  
               '<s1:Any>' +                                                                         
               '<s1:any>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toAnyV6(                                                                  
                  %addr(curAnyRef7_A25.any)                                                         
                  : %addr(curAnyRef7_A25.any: *DATA)                                                
                  : %len(curAnyRef7_A25.any)                                                        
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:any>' +                                                                        
               '</s1:Any>' +                                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '</s1:MaterialLot>' +                                                                   
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
         endfor;                                                                                    
                                                                                                    
         request = request +                                                                        
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
                                                                                                    
         for X_A43 = 1 to i_tns_ProcessMaterialInformation.MaterialInfor...                         
                          mation.MaterialSubLot.x;                                                  
            curMaterialSubLotType_A43 =                                                             
               i_tns_ProcessMaterialInformation.MaterialInformation.MaterialS...                    
               ubLot.MaterialSubLotType(X_A43);                                                     
                                                                                                    
            request = request +                                                                     
            '<s1:MaterialSubLot>' +                                                                 
            '<s1:ID>' +                                                                             
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialSubLotType_A43.ID)                                                  
               : %addr(curMaterialSubLotType_A43.ID: *DATA)                                         
               : %len(curMaterialSubLotType_A43.ID)                                                 
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:ID>' +                                                                            
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A39 = 1 to curMaterialSubLotType_A43.Description.x;                               
               curString_of_string13_A39 =                                                          
                  curMaterialSubLotType_A43.Description.string(X_A39);                              
                                                                                                    
               request = request +                                                                  
               '<s1:Description>' +                                                                 
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curString_of_string13_A39)                                                  
                  : %addr(curString_of_string13_A39: *DATA)                                         
                  : %len(curString_of_string13_A39)                                                 
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:Description>' +                                                                
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '<s1:Status>' +                                                                         
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialSubLotType_A43.Status)                                              
               : %addr(curMaterialSubLotType_A43.Status: *DATA)                                     
               : %len(curMaterialSubLotType_A43.Status)                                             
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:Status>' +                                                                        
            '<s1:StorageLocation>' +                                                                
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialSubLotType_A43.StorageLocation)                                     
               : %addr(curMaterialSubLotType_A43.StorageLocation: *DATA)                            
               : %len(curMaterialSubLotType_A43.StorageLocation)                                    
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:StorageLocation>' +                                                               
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A40 = 1 to curMaterialSubLotType_A43.Quantity.x;                                  
               curQuantityType_A40 =                                                                
                  curMaterialSubLotType_A43.Quantity.QuantityType(X_A40);                           
                                                                                                    
               request = request +                                                                  
               '<s1:Quantity>' +                                                                    
               '<s1:QuantityString>' +                                                              
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curQuantityType_A40.QuantityString)                                         
                  : %addr(curQuantityType_A40.QuantityString: *DATA)                                
                  : %len(curQuantityType_A40.QuantityString)                                        
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:QuantityString>' +                                                             
               '<s1:DataType>' +                                                                    
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curQuantityType_A40.DataType)                                               
                  : %addr(curQuantityType_A40.DataType: *DATA)                                      
                  : %len(curQuantityType_A40.DataType)                                              
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:DataType>' +                                                                   
               '<s1:UnitOfMeasure>' +                                                               
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curQuantityType_A40.UnitOfMeasure)                                          
                  : %addr(curQuantityType_A40.UnitOfMeasure: *DATA)                                 
                  : %len(curQuantityType_A40.UnitOfMeasure)                                         
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:UnitOfMeasure>' +                                                              
               '<s1:Key>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curQuantityType_A40.Key)                                                    
                  : %addr(curQuantityType_A40.Key: *DATA)                                           
                  : %len(curQuantityType_A40.Key)                                                   
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:Key>' +                                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A41 = 1 to curQuantityType_A40.Any.x;                                          
                  curAnyRef12_A41 = curQuantityType_A40.Any.item(X_A41);                            
                                                                                                    
                  request = request +                                                               
                  '<s1:Any>' +                                                                      
                  '<s1:any>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toAnyV6(                                                               
                     %addr(curAnyRef12_A41.any)                                                     
                     : %addr(curAnyRef12_A41.any: *DATA)                                            
                     : %len(curAnyRef12_A41.any)                                                    
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:any>' +                                                                     
                  '</s1:Any>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '</s1:Quantity>' +                                                                   
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '<s1:MaterialLotID>' +                                                                  
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curMaterialSubLotType_A43.MaterialLotID)                                       
               : %addr(curMaterialSubLotType_A43.MaterialLotID: *DATA)                              
               : %len(curMaterialSubLotType_A43.MaterialLotID)                                      
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:MaterialLotID>' +                                                                 
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A38 = 1 to curMaterialSubLotType_A43.Any.x;                                       
               curAnyRef11_A38 = curMaterialSubLotType_A43.Any.item(X_A38);                         
                                                                                                    
               request = request +                                                                  
               '<s1:Any>' +                                                                         
               '<s1:any>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toAnyV6(                                                                  
                  %addr(curAnyRef11_A38.any)                                                        
                  : %addr(curAnyRef11_A38.any: *DATA)                                               
                  : %len(curAnyRef11_A38.any)                                                       
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:any>' +                                                                        
               '</s1:Any>' +                                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '</s1:MaterialSubLot>' +                                                                
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
         endfor;                                                                                    
                                                                                                    
         request = request +                                                                        
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
                                                                                                    
         for X_A44 = 1 to i_tns_ProcessMaterialInformation.MaterialInfor...                         
                          mation.QAMaterialTestSpecification.x;                                     
            curQAMaterialTestSpecificationType_A44 =                                                
               i_tns_ProcessMaterialInformation.MaterialInformation.QAMateria...                    
               lTestSpecification.QAMaterialTestSpecificationType(X_A44);                           
                                                                                                    
            request = request +                                                                     
            '<s1:QAMaterialTestSpecification>' +                                                    
            '<s1:Name>' +                                                                           
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curQAMaterialTestSpecificationType_A44.Name)                                   
               : %addr(curQAMaterialTestSpecificationType_A44.Name: *DATA)                          
               : %len(curQAMaterialTestSpecificationType_A44.Name)                                  
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:Name>' +                                                                          
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A46 = 1 to curQAMaterialTestSpecificationType_A44.Desc...                         
                             ription.x;                                                             
               curString_of_string14_A46 =                                                          
                  curQAMaterialTestSpecificationType_A44.Description.string(                        
                  X_A46);                                                                           
                                                                                                    
               request = request +                                                                  
               '<s1:Description>' +                                                                 
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curString_of_string14_A46)                                                  
                  : %addr(curString_of_string14_A46: *DATA)                                         
                  : %len(curString_of_string14_A46)                                                 
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:Description>' +                                                                
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '<s1:Version>' +                                                                        
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toStringV6(                                                                  
               %addr(curQAMaterialTestSpecificationType_A44.Version)                                
               : %addr(curQAMaterialTestSpecificationType_A44.Version: *DATA)                       
               : %len(curQAMaterialTestSpecificationType_A44.Version)                               
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:Version>' +                                                                       
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A47 = 1 to curQAMaterialTestSpecificationType_A44.Test...                         
                             edMaterialClassProperty.x;                                             
               curTestedMaterialClassPropertyType_A47 =                                             
                  curQAMaterialTestSpecificationType_A44.TestedMaterialClassP...                    
                  roperty.TestedMaterialClassPropertyType(X_A47);                                   
                                                                                                    
               request = request +                                                                  
               '<s1:TestedMaterialClassProperty>' +                                                 
               '<s1:MaterialClassID>' +                                                             
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curTestedMaterialClassPropertyType_A47.MaterialClassI...                    
                  D)                                                                                
                  : %addr(curTestedMaterialClassPropertyType_A47.MaterialClas...                    
                  sID: *DATA)                                                                       
                  : %len(curTestedMaterialClassPropertyType_A47.MaterialClass...                    
                  ID)                                                                               
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialClassID>' +                                                            
               '<s1:PropertyID>' +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curTestedMaterialClassPropertyType_A47.PropertyID)                          
                  : %addr(curTestedMaterialClassPropertyType_A47.PropertyID:                        
                  *DATA)                                                                            
                  : %len(curTestedMaterialClassPropertyType_A47.PropertyID)                         
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:PropertyID>' +                                                                 
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A48 = 1 to curTestedMaterialClassPropertyType_A47.A...                         
                                ny.x;                                                               
                  curAnyRef14_A48 =                                                                 
                     curTestedMaterialClassPropertyType_A47.Any.item(X_A48);                        
                                                                                                    
                  request = request +                                                               
                  '<s1:Any>' +                                                                      
                  '<s1:any>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toAnyV6(                                                               
                     %addr(curAnyRef14_A48.any)                                                     
                     : %addr(curAnyRef14_A48.any: *DATA)                                            
                     : %len(curAnyRef14_A48.any)                                                    
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:any>' +                                                                     
                  '</s1:Any>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '</s1:TestedMaterialClassProperty>' +                                                
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A49 = 1 to curQAMaterialTestSpecificationType_A44.Test...                         
                             edMaterialDefinitionProperty.x;                                        
               curTestedMaterialDefinitionPropertyType_A49 =                                        
                  curQAMaterialTestSpecificationType_A44.TestedMaterialDefini...                    
                  tionProperty.TestedMaterialDefinitionPropertyType(X_A49);                         
                                                                                                    
               request = request +                                                                  
               '<s1:TestedMaterialDefinitionProperty>' +                                            
               '<s1:MaterialDefinitionID>' +                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curTestedMaterialDefinitionPropertyType_A49.MaterialD...                    
                  efinitionID)                                                                      
                  : %addr(curTestedMaterialDefinitionPropertyType_A49.Materia...                    
                  lDefinitionID: *DATA)                                                             
                  : %len(curTestedMaterialDefinitionPropertyType_A49.Material...                    
                  DefinitionID)                                                                     
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialDefinitionID>' +                                                       
               '<s1:PropertyID>' +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curTestedMaterialDefinitionPropertyType_A49.PropertyI...                    
                  D)                                                                                
                  : %addr(curTestedMaterialDefinitionPropertyType_A49.Propert...                    
                  yID: *DATA)                                                                       
                  : %len(curTestedMaterialDefinitionPropertyType_A49.Property...                    
                  ID)                                                                               
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:PropertyID>' +                                                                 
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A50 = 1 to curTestedMaterialDefinitionPropertyType_...                         
                                A49.Any.x;                                                          
                  curAnyRef15_A50 =                                                                 
                     curTestedMaterialDefinitionPropertyType_A49.Any.item(                          
                     X_A50);                                                                        
                                                                                                    
                  request = request +                                                               
                  '<s1:Any>' +                                                                      
                  '<s1:any>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toAnyV6(                                                               
                     %addr(curAnyRef15_A50.any)                                                     
                     : %addr(curAnyRef15_A50.any: *DATA)                                            
                     : %len(curAnyRef15_A50.any)                                                    
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:any>' +                                                                     
                  '</s1:Any>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '</s1:TestedMaterialDefinitionProperty>' +                                           
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A51 = 1 to curQAMaterialTestSpecificationType_A44.Test...                         
                             edMaterialLotProperty.x;                                               
               curTestedMaterialLotPropertyType_A51 =                                               
                  curQAMaterialTestSpecificationType_A44.TestedMaterialLotPro...                    
                  perty.TestedMaterialLotPropertyType(X_A51);                                       
                                                                                                    
               request = request +                                                                  
               '<s1:TestedMaterialLotProperty>' +                                                   
               '<s1:MaterialLotID>' +                                                               
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curTestedMaterialLotPropertyType_A51.MaterialLotID)                         
                  : %addr(curTestedMaterialLotPropertyType_A51.MaterialLotID:                       
                  *DATA)                                                                            
                  : %len(curTestedMaterialLotPropertyType_A51.MaterialLotID)                        
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:MaterialLotID>' +                                                              
               '<s1:PropertyID>' +                                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toStringV6(                                                               
                  %addr(curTestedMaterialLotPropertyType_A51.PropertyID)                            
                  : %addr(curTestedMaterialLotPropertyType_A51.PropertyID:                          
                  *DATA)                                                                            
                  : %len(curTestedMaterialLotPropertyType_A51.PropertyID)                           
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:PropertyID>' +                                                                 
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
                                                                                                    
               for X_A52 = 1 to curTestedMaterialLotPropertyType_A51.Any.x;                         
                  curAnyRef16_A52 =                                                                 
                     curTestedMaterialLotPropertyType_A51.Any.item(X_A52);                          
                                                                                                    
                  request = request +                                                               
                  '<s1:Any>' +                                                                      
                  '<s1:any>' +                                                                      
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
                  Marshaller_toAnyV6(                                                               
                     %addr(curAnyRef16_A52.any)                                                     
                     : %addr(curAnyRef16_A52.any: *DATA)                                            
                     : %len(curAnyRef16_A52.any)                                                    
                     : hOutStream);                                                                 
                                                                                                    
                  request = request +                                                               
                  '</s1:any>' +                                                                     
                  '</s1:Any>' +                                                                     
                     '';                                                                            
                                                                                                    
                  if (%len(request) > 0);                                                           
                     // Add previous bytes of request message to output stream                      
                     ManagedMemoryDataSource_OutputStream_write(hOutStream:                         
                     %addr(request: *DATA): %len(request));                                         
                     clear request;                                                                 
                  endif;                                                                            
               endfor;                                                                              
                                                                                                    
               request = request +                                                                  
               '</s1:TestedMaterialLotProperty>' +                                                  
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
                                                                                                    
            for X_A45 = 1 to curQAMaterialTestSpecificationType_A44.Any.x;                          
               curAnyRef13_A45 =                                                                    
                  curQAMaterialTestSpecificationType_A44.Any.item(X_A45);                           
                                                                                                    
               request = request +                                                                  
               '<s1:Any>' +                                                                         
               '<s1:any>' +                                                                         
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
               Marshaller_toAnyV6(                                                                  
                  %addr(curAnyRef13_A45.any)                                                        
                  : %addr(curAnyRef13_A45.any: *DATA)                                               
                  : %len(curAnyRef13_A45.any)                                                       
                  : hOutStream);                                                                    
                                                                                                    
               request = request +                                                                  
               '</s1:any>' +                                                                        
               '</s1:Any>' +                                                                        
                  '';                                                                               
                                                                                                    
               if (%len(request) > 0);                                                              
                  // Add previous bytes of request message to output stream                         
                  ManagedMemoryDataSource_OutputStream_write(hOutStream:                            
                  %addr(request: *DATA): %len(request));                                            
                  clear request;                                                                    
               endif;                                                                               
            endfor;                                                                                 
                                                                                                    
            request = request +                                                                     
            '</s1:QAMaterialTestSpecification>' +                                                   
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
         endfor;                                                                                    
                                                                                                    
         request = request +                                                                        
         '<s2:ProcessingStatus>' +                                                                  
         '<s2:ReturnValue>' +                                                                       
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
         Marshaller_toStringV6(                                                                     
            %addr(i_tns_ProcessMaterialInformation.MaterialInformation.Proces...                    
            singStatus.ReturnValue)                                                                 
            : %addr(i_tns_ProcessMaterialInformation.MaterialInformation.Proc...                    
            essingStatus.ReturnValue: *DATA)                                                        
            : %len(i_tns_ProcessMaterialInformation.MaterialInformation.Proce...                    
            ssingStatus.ReturnValue)                                                                
            : hOutStream);                                                                          
                                                                                                    
         request = request +                                                                        
         '</s2:ReturnValue>' +                                                                      
         '<s2:ReturnDescription>' +                                                                 
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
         Marshaller_toStringV6(                                                                     
            %addr(i_tns_ProcessMaterialInformation.MaterialInformation.Proces...                    
            singStatus.ReturnDescription)                                                           
            : %addr(i_tns_ProcessMaterialInformation.MaterialInformation.Proc...                    
            essingStatus.ReturnDescription: *DATA)                                                  
            : %len(i_tns_ProcessMaterialInformation.MaterialInformation.Proce...                    
            ssingStatus.ReturnDescription)                                                          
            : hOutStream);                                                                          
                                                                                                    
         request = request +                                                                        
         '</s2:ReturnDescription>' +                                                                
         '<s2:ReturnCode>' +                                                                        
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
         Marshaller_toStringV6(                                                                     
            %addr(i_tns_ProcessMaterialInformation.MaterialInformation.Proces...                    
            singStatus.ReturnCode)                                                                  
            : %addr(i_tns_ProcessMaterialInformation.MaterialInformation.Proc...                    
            essingStatus.ReturnCode: *DATA)                                                         
            : %len(i_tns_ProcessMaterialInformation.MaterialInformation.Proce...                    
            ssingStatus.ReturnCode)                                                                 
            : hOutStream);                                                                          
                                                                                                    
         request = request +                                                                        
         '</s2:ReturnCode>' +                                                                       
         '</s2:ProcessingStatus>' +                                                                 
            '';                                                                                     
                                                                                                    
         if (%len(request) > 0);                                                                    
            // Add previous bytes of request message to output stream                               
            ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(requ...                    
            est: *DATA): %len(request));                                                            
            clear request;                                                                          
         endif;                                                                                     
                                                                                                    
         for X_A1 = 1 to i_tns_ProcessMaterialInformation.MaterialInform...                         
                         ation.Any.x;                                                               
            curAnyRef_A1 =                                                                          
               i_tns_ProcessMaterialInformation.MaterialInformation.Any.item(                       
               X_A1);                                                                               
                                                                                                    
            request = request +                                                                     
            '<s1:Any>' +                                                                            
            '<s1:any>' +                                                                            
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
            Marshaller_toAnyV6(                                                                     
               %addr(curAnyRef_A1.any)                                                              
               : %addr(curAnyRef_A1.any: *DATA)                                                     
               : %len(curAnyRef_A1.any)                                                             
               : hOutStream);                                                                       
                                                                                                    
            request = request +                                                                     
            '</s1:any>' +                                                                           
            '</s1:Any>' +                                                                           
               '';                                                                                  
                                                                                                    
            if (%len(request) > 0);                                                                 
               // Add previous bytes of request message to output stream                            
               ManagedMemoryDataSource_OutputStream_write(hOutStream: %addr(                        
               request: *DATA): %len(request));                                                     
               clear request;                                                                       
            endif;                                                                                  
         endfor;                                                                                    
                                                                                                    
         request = request +                                                                        
         '</s1:MaterialInformation>' +                                                              
         '</tns:ProcessMaterialInformation>' +                                                      
               '</soapenv:Body>'                                            +                       
               '</soapenv:Envelope>';                                                               
                                                                                                    
            // Add remaining bytes of request message to output stream                              
 B01        if (%len(request) > 0);                                                                 
               ManagedMemoryDataSource_OutputStream_write(                                          
                     hOutStream: %addr(request) + 2: %len(request));                                
 E01        endif;                                                                                  
                                                                                                    
            // Close output stream and finish the request message                                   
            ManagedMemoryDataSource_OutputStream_close(hOutStream);                                 
                                                                                                    
            // Open input stream                                                                    
            hInpStream = ManagedMemoryDataSource_InputStream_open(hDataSource);                     
                                                                                                    
            // Clear error code                                                                     
            MaterialInformationSoap_Port_clearErrors(                                               
                  g_errors);                                                                        
                                                                                                    
            // HTTPAPI: Enables additional headers                                                  
            http_xproc(HTTP_POINT_ADDL_HEADER                                                       
                       : %paddr('HTTP_setContentTypeAndSOAPAction')                                 
                       : %addr(headers));                                                           
                                                                                                    
            headers.contentType =                                                                   
                  ManagedMemoryDataSource_getContentType(hDataSource);                              
            headers.soapAction  = '"http://siemens.siplace.facts/ProcessMa+                         
                                  terialInformation"';                                              
                                                                                                    
            // ---------------------------------------                                              
            //   Post request and parse response                                                    
            // ---------------------------------------                                              
                                                                                                    
            // Create parser (callbacks style: HTTP API)                                            
            XMLSAXParser_new(hSAXParser: cTrue);                                                    
            XMLSAXParser_setDoNamespaces(hSAXParser: cTrue);                                        
            XMLSAXParser_registerCallback(hSAXParser                                                
               : cXML_CB_SAX_STARTELEMENT                                                           
               : %paddr('SOAPMessage_Envelope'));                                                   
            XMLSAXParser_prepareParse(hSAXParser: %addr(userData));                                 
                                                                                                    
            // Create MIME parser in case we need it                                                
            hMIMEParser = MIMEParser_new();                                                         
            MIMEParser_setDecodeData(hMIMEParser: cTrue);                                           
            http_mime_DataSink_initialize(hMIMEParser                                               
                                          : *NULL                                                   
                                          : %paddr('HTTPDataSink_startPart')                        
                                          : %paddr('HTTPDataSink_bodyData')                         
                                          : %paddr('HTTPDataSink_endPart'));                        
                                                                                                    
            // Make parser available for HTTP_receiveResponse()                                     
            g_hSAXParser    = hSAXParser;                                                           
            g_hMIMEParser   = hMIMEParser;                                                          
            g_isMimeMessage = cFalse;                                                               
            g_HTTP_isInit   = cFalse;                                                               
            g_SOAPMessageID = '';                                                                   
            g_doParseSOAPMessage = cFalse;                                                          
            g_SOAPMessage_done   = cFalse;                                                          
            g_BodyPart_counter   = 0;                                                               
                                                                                                    
            // Make SOAP response header available to SOAPMessage_Envelope                          
            g_pRespSoapHeader = *NULL;                                                              
                                                                                                    
            // eXpat: Post request and parse response                                               
            url = MaterialInformationSoap_Port_getEndpoint();                                       
 B01        dou (err <> HTTP_NDAUTH and err <> HTTP_PXNDAUTH);                                      
               // Get document from server and handle http redirects                                
               //   301 Moved Permanently                                                           
               //   302 Found                                                                       
               //   303 See Other                                                                   
               //   307 Temporary Redirect                                                          
 B02           dou (not isRedirect);                                                                
                  http_DebugLog_appendText(                                                         
                  '** ' + %char(%timestamp()) + ': Sending request to server');                     
                  rc = http_url_post_raw2(                                                          
                     url                                                                            
                     : hInpStream                                                                   
                     : %paddr(                                                                      
                          'WSDL2R87_ManagedMemoryDataSource_InputStream_read')                      
                     : ManagedMemoryDataSource_getSize(hDataSource)                                 
                     : 0                                                                            
                     : %paddr('HTTP_receiveResponse')                                               
                     : HTTP_TIMEOUT                                                                 
                     : HTTP_USERAGENT                                                               
                     : '');                                                                         
 B03              if (rc = 301 or rc = 302 or rc = 303 or rc = 307);                                
                     url = http_redir_loc();                                                        
                     // Reopen data stream                                                          
                     hInpStream = reOpenInputStream(hDataSource: hInpStream);                       
                     isRedirect = cTrue;                                                            
 X03              else;                                                                             
                     isRedirect = cFalse;                                                           
 E03              endif;                                                                            
 E02           enddo;                                                                               
                                                                                                    
               // The first time we request a document that requires user/password                  
               // it will return a HTTP_NDAUTH error.                                               
 B02           if (rc <> 1);                                                                        
                  http_error(err);                                                                  
 B03              if (err = HTTP_NDAUTH or err = HTTP_PXNDAUTH);                                    
 B04                 if (not MaterialInformationSoap_Port_hasLoginCallback());                      
                        leave;                                                                      
 E04                 endif;                                                                         
                                                                                                    
 B04                 if (err <> lastErr);                                                           
                        lastErr = err;                                                              
                        numAttempts = 0;                                                            
 E04                 endif;                                                                         
                     numAttempts = numAttempts + 1;                                                 
                                                                                                    
 B04                 if (login(err: numAttempts) <> 1);                                             
                        leave;                                                                      
 E04                 endif;                                                                         
                                                                                                    
                     // Reopen data stream                                                          
                     hInpStream = reOpenInputStream(hDataSource: hInpStream);                       
 E03              endif;                                                                            
 X02           else;                                                                                
                  MultiRef_finalize();                                                              
                  err = 0;                                                                          
 E02           endif;                                                                               
 E01        enddo;                                                                                  
                                                                                                    
            // Preserve parser error code and message text                                          
 B01        if (err = HTTP_RDWERR);                                                                 
               g_errors.xmlError.code = XMLToolkit_getError(                                        
                                              hSAXParser                                            
                                              : g_errors.xmlError.text                              
                                              : g_errors.xmlError.line                              
                                              : g_errors.xmlError.column);                          
 E01        endif;                                                                                  
                                                                                                    
            XMLSAXParser_endParse(hSAXParser);                                                      
                                                                                                    
 B01        if (g_isMimeMessage);                                                                   
               MIMEParser_endParse(hMIMEParser);                                                    
               g_isMimeMessage = cFalse;                                                            
 E01        endif;                                                                                  
                                                                                                    
            g_HTTP_isInit = cFalse;                                                                 
                                                                                                    
         on-error;                                                                                  
            isUnexpectedError = cTrue;                                                              
            rcvm0200 = f_rcvPgmMsg(cMsg_Any: *: cMsg_Act_Same: 0                                    
                                   : cMsg_Same: cMsg_ToMyself);                                     
            http_DebugLog_appendRcvMsg(rcvm0200);                                                   
            msg = f_cvtRcvMsgToMsg(rcvm0200);                                                       
            g_errors.errType        = WSDL_HTTP_ERROR_UNEXPECTED;                                   
            g_errors.httpError.no   = WSDL_HTTP_ERROR_UNEXPECTED;                                   
            g_errors.httpError.text = f_rtvMsgText(msg);                                            
            rc    = g_errors.httpError.no;                                                          
            o_msg = g_errors.httpError.text;                                                        
         endmon;                                                                                    
                                                                                                    
         g_hSAXParser  = *NULL;                                                                     
         g_hMIMEParser = *NULL;                                                                     
                                                                                                    
 B01     if (not isUnexpectedError);                                                                
 B02        if (err <> 0);                                                                          
               g_errors.errType = WSDL_HTTP_ERROR;                                                  
                                                                                                    
               // Set http error code and message text                                              
               g_errors.httpError.no   = err;                                                       
               g_errors.httpError.text = http_error();                                              
                                                                                                    
               // Return error message text to caller                                               
 B03           if (g_errors.httpError.text <> '');                                                  
                  o_msg = g_errors.httpError.text;                                                  
 X03           else;                                                                                
                  o_msg = MaterialInformationSoap_SoapError_getText();                              
 E03           endif;                                                                               
               clear rtnValue;                                                                      
            else;                                                                                   
               o_msg = '';                                                                          
               rtnValue = userData;                                                                 
            endif;                                                                                  
 E02     endif;                                                                                     
                                                                                                    
 B02     if (not XMLSAXParser_isNull(hSAXParser));                                                  
            XMLSAXParser_delete(hSAXParser);                                                        
 E02     endif;                                                                                     
                                                                                                    
 B02     if (not MIMEParser_isNull(hMIMEParser));                                                   
            MIMEParser_delete(hMIMEParser);                                                         
 E02     endif;                                                                                     
                                                                                                    
 B02     if (not ManagedMemoryDataSource_isNull(hDataSource));                                      
 B03        if (ManagedMemoryDataSource_Stream_isOpen(hInpStream));                                 
               ManagedMemoryDataSource_InputStream_close(hInpStream);                               
 E03        endif;                                                                                  
 B03        if (ManagedMemoryDataSource_Stream_isOpen(hOutStream));                                 
               ManagedMemoryDataSource_OutputStream_close(hOutStream);                              
 E03        endif;                                                                                  
            ManagedMemoryDataSource_delete(hDataSource);                                            
 E02     endif;                                                                                     
                                                                                                    
 B02     if (not MultiRef_isNull());                                                                
            MultiRef_delete();                                                                      
 E02     endif;                                                                                     
                                                                                                    
 B02     if (http_DebugLog_isOpen());                                                               
            http_DebugLog_close();                                                                  
 E02     endif;                                                                                     
                                                                                                    
         // Set error information of last service call                                              
         MaterialInformationSoap_Port_setErrors(                                                    
               g_errors);                                                                           
                                                                                                    
         return rtnValue;                                                                           
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P MaterialInformationSoap_ProcessMaterialInform...                                             
     P ation...                                                                                     
     P                 E                                                                            
      *                                                                                             
      *                                                                                             
      * ==================================================================                          
      * Return value: tns:ProcessMaterialInformationResponse                                        
      * ==================================================================                          
     P tns_ProcessMaterialInformationResponseStart...                                               
     P                 B                                                                            
     D tns_ProcessMaterialInformationResponseStart...                                               
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D currentItem     DS                  likeds(tns_ProcessMaterialInformat...                    
     D                                     ionResponse_t)                                           
     D                                     based(pCurrentItem)                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current item                                                              
         pCurrentItem = userdata;                                                                   
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'ProcessMaterialInformationResponse'                                         
                and                                                                                 
                namespace = 'http://siemens.siplace.facts/');                                       
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialInformation'                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialInformation)                                               
               : %paddr('s1_MaterialInformationStart')                                              
               : %paddr('s1_MaterialInformationEnd')                                                
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P tns_ProcessMaterialInformationResponseStart...                                               
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: tns:ProcessMaterialInformationResponse                                        
      * ==================================================================                          
     P tns_ProcessMaterialInformationResponseEnd...                                                 
     P                 B                                                                            
     D tns_ProcessMaterialInformationResponseEnd...                                                 
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D currentItem     DS                  likeds(tns_ProcessMaterialInformat...                    
     D                                     ionResponse_t)                                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current item                                                              
         pCurrentItem = userdata;                                                                   
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P tns_ProcessMaterialInformationResponseEnd...                                                 
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialInformation                                                        
      * ==================================================================                          
     P s1_MaterialInformationStart...                                                               
     P                 B                                                                            
     D s1_MaterialInformationStart...                                                               
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialInformationType_t)                     
     D                                     based(pCurrentItem)                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current item                                                              
         pCurrentItem = userdata;                                                                   
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialInformation'                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem.ID)                                                           
                  : %size(currentItem.ID)                                                           
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_string9Start_of_s1_MaterialInformation')                     
               : %paddr('xsd_string_of_string9End_of_s1_MaterialInformation')                       
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Location'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Location)                                                          
               : %paddr('s1_LocationStart')                                                         
               : %paddr('s1_LocationEnd')                                                           
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'PublishedDate'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem.PublishedDate)                                                
                  : %size(currentItem.PublishedDate)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialClass'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialClass)                                                     
               : %paddr('s1_MaterialClassTypeStart_of_s1_MaterialInformation')                      
               : %paddr('s1_MaterialClassTypeEnd_of_s1_MaterialInformation')                        
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialDefinition'                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialDefinition)                                                
               : %paddr('s1_MaterialDefinitionTypeStart_of_s1_MaterialInformati+                    
               on')                                                                                 
               : %paddr('s1_MaterialDefinitionTypeEnd_of_s1_MaterialInformation+                    
               ')                                                                                   
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialLot'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialLot)                                                       
               : %paddr('s1_MaterialLotTypeStart_of_s1_MaterialInformation')                        
               : %paddr('s1_MaterialLotTypeEnd_of_s1_MaterialInformation')                          
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialSubLot'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialSubLot)                                                    
               : %paddr('s1_MaterialSubLotTypeStart_of_s1_MaterialInformation')                     
               : %paddr('s1_MaterialSubLotTypeEnd_of_s1_MaterialInformation')                       
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'QAMaterialTestSpecification'                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.QAMaterialTestSpecification)                                       
               : %paddr('s1_QAMaterialTestSpecificationTypeStart_of_s1_Material+                    
               Information')                                                                        
               : %paddr('s1_QAMaterialTestSpecificationTypeEnd_of_s1_MaterialIn+                    
               formation')                                                                          
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ProcessingStatus'                                                           
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.ProcessingStatus)                                                  
               : %paddr('s2_ProcessingStatusStart')                                                 
               : %paddr('s2_ProcessingStatusEnd')                                                   
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRefStart_of_s1_MaterialInformation')                                 
               : %paddr('s1_AnyRefEnd_of_s1_MaterialInformation')                                   
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialInformationStart...                                                               
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialInformation                                                        
      * ==================================================================                          
     P s1_MaterialInformationEnd...                                                                 
     P                 B                                                                            
     D s1_MaterialInformationEnd...                                                                 
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialInformationType_t)                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current item                                                              
         pCurrentItem = userdata;                                                                   
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ID)                                                             
                  : %addr(currentItem.ID: *DATA)                                                    
                  : %size(currentItem.ID)                                                           
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'PublishedDate'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               currentItem.PublishedDate =                                                          
                  UnMarshaller_toDateTime(value);                                                   
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialInformationEnd...                                                                 
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s2:ProcessingStatus                                                           
      * ==================================================================                          
     P s2_ProcessingStatusStart...                                                                  
     P                 B                                                                            
     D s2_ProcessingStatusStart...                                                                  
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D currentItem     DS                  likeds(s2_ProcessingStatusType_t)                        
     D                                     based(pCurrentItem)                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current item                                                              
         pCurrentItem = userdata;                                                                   
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'ProcessingStatus'                                                           
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ReturnValue'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem.ReturnValue)                                                  
                  : %size(currentItem.ReturnValue)                                                  
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ReturnDescription'                                                          
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem.ReturnDescription)                                            
                  : %size(currentItem.ReturnDescription)                                            
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ReturnCode'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem.ReturnCode)                                                   
                  : %size(currentItem.ReturnCode)                                                   
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s2_ProcessingStatusStart...                                                                  
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s2:ProcessingStatus                                                           
      * ==================================================================                          
     P s2_ProcessingStatusEnd...                                                                    
     P                 B                                                                            
     D s2_ProcessingStatusEnd...                                                                    
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D currentItem     DS                  likeds(s2_ProcessingStatusType_t)                        
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current item                                                              
         pCurrentItem = userdata;                                                                   
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ReturnValue'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ReturnValue)                                                    
                  : %addr(currentItem.ReturnValue: *DATA)                                           
                  : %size(currentItem.ReturnValue)                                                  
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ReturnDescription'                                                          
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ReturnDescription)                                              
                  : %addr(currentItem.ReturnDescription: *DATA)                                     
                  : %size(currentItem.ReturnDescription)                                            
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ReturnCode'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ReturnCode)                                                     
                  : %addr(currentItem.ReturnCode: *DATA)                                            
                  : %size(currentItem.ReturnCode)                                                   
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s2_ProcessingStatusEnd...                                                                    
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRefStart_of_s1_MaterialInformation...                                                  
     P                 B                                                                            
     D s1_AnyRefStart_of_s1_MaterialInformation...                                                  
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny_t)                               
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRefStart_of_s1_MaterialInformation...                                                  
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRefEnd_of_s1_MaterialInformation...                                                    
     P                 B                                                                            
     D s1_AnyRefEnd_of_s1_MaterialInformation...                                                    
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny_t)                               
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRefEnd_of_s1_MaterialInformation...                                                    
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string9Start_of_s1_MaterialInfo...                                             
     P rmation...                                                                                   
     P                 B                                                                            
     D xsd_string_of_string9Start_of_s1_MaterialInfo...                                             
     D rmation...                                                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription_t)                       
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string9_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string9_t)                            
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Description.x = s1_Description.x + 1;                                             
            endif;                                                                                  
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string9Start_of_s1_MaterialInfo...                                             
     P rmation...                                                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string9End_of_s1_MaterialInform...                                             
     P ation...                                                                                     
     P                 B                                                                            
     D xsd_string_of_string9End_of_s1_MaterialInform...                                             
     D ation...                                                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription_t)                       
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string9_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialInformation'                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string9End_of_s1_MaterialInform...                                             
     P ation...                                                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Location                                                                   
      * ==================================================================                          
     P s1_LocationStart...                                                                          
     P                 B                                                                            
     D s1_LocationStart...                                                                          
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D currentItem     DS                  likeds(s1_LocationType_t)                                
     D                                     based(pCurrentItem)                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current item                                                              
         pCurrentItem = userdata;                                                                   
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Location'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'EquipmentID'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem.EquipmentID)                                                  
                  : %size(currentItem.EquipmentID)                                                  
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'EquipmentElementLevel'                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : *omit                                                                           
                  : %addr(currentItem.EquipmentElementLevel)                                        
                  : %size(currentItem.EquipmentElementLevel)                                        
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef1Start_of_s1_Location')                                           
               : %paddr('s1_AnyRef1End_of_s1_Location')                                             
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_LocationStart...                                                                          
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Location                                                                   
      * ==================================================================                          
     P s1_LocationEnd  B                                                                            
     D s1_LocationEnd  PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D currentItem     DS                  likeds(s1_LocationType_t)                                
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current item                                                              
         pCurrentItem = userdata;                                                                   
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'EquipmentID'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.EquipmentID)                                                    
                  : %addr(currentItem.EquipmentID: *DATA)                                           
                  : %size(currentItem.EquipmentID)                                                  
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'EquipmentElementLevel'                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.EquipmentElementLevel)                                          
                  : %addr(currentItem.EquipmentElementLevel: *DATA)                                 
                  : %size(currentItem.EquipmentElementLevel)                                        
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_LocationEnd  E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef1Start_of_s1_Location...                                                            
     P                 B                                                                            
     D s1_AnyRef1Start_of_s1_Location...                                                            
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny1_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef1Start_of_s1_Location...                                                            
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef1End_of_s1_Location...                                                              
     P                 B                                                                            
     D s1_AnyRef1End_of_s1_Location...                                                              
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny1_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef1End_of_s1_Location...                                                              
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialClass                                                              
      * ==================================================================                          
     P s1_MaterialClassTypeStart_of_s1_MaterialInfor...                                             
     P mation...                                                                                    
     P                 B                                                                            
     D s1_MaterialClassTypeStart_of_s1_MaterialInfor...                                             
     D mation...                                                                                    
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialClass...                                                                          
     D                 DS                  likeds(s1_RpgArrayOfMaterialClass_t)                     
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialClassType_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_MaterialClassType_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialClass.x = s1_MaterialClass.x + 1;                                         
            endif;                                                                                  
            x = s1_MaterialClass.x;                                                                 
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialClass.MaterialClassType(x));                               
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialClass'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ID)                                                           
                  : %size(currentItem.ID)                                                           
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_string2Start_of_s1_MaterialClassType')                       
               : %paddr('xsd_string_of_string2End_of_s1_MaterialClassType')                         
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialClassProperty'                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialClassProperty)                                             
               : %paddr('s1_MaterialClassPropertyTypeStart_of_s1_MaterialClassT+                    
               ype')                                                                                
               : %paddr('s1_MaterialClassPropertyTypeEnd_of_s1_MaterialClassTyp+                    
               e')                                                                                  
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialDefinitionID'                                                       
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialDefinitionID)                                              
               : %paddr('xsd_string_of_string3Start_of_s1_MaterialClassType')                       
               : %paddr('xsd_string_of_string3End_of_s1_MaterialClassType')                         
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MessageType'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.MessageType)                                                  
                  : %size(currentItem.MessageType)                                                  
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Action'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Action)                                                       
                  : %size(currentItem.Action)                                                       
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ConfirmOption'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ConfirmOption)                                                
                  : %size(currentItem.ConfirmOption)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ProcessingStatus'                                                           
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.ProcessingStatus)                                                  
               : %paddr('s2_ProcessingStatusStart')                                                 
               : %paddr('s2_ProcessingStatusEnd')                                                   
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef2Start_of_s1_MaterialClassType')                                  
               : %paddr('s1_AnyRef2End_of_s1_MaterialClassType')                                    
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialClassTypeStart_of_s1_MaterialInfor...                                             
     P mation...                                                                                    
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialClass                                                              
      * ==================================================================                          
     P s1_MaterialClassTypeEnd_of_s1_MaterialInforma...                                             
     P tion...                                                                                      
     P                 B                                                                            
     D s1_MaterialClassTypeEnd_of_s1_MaterialInforma...                                             
     D tion...                                                                                      
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialClass...                                                                          
     D                 DS                  likeds(s1_RpgArrayOfMaterialClass_t)                     
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialClassType_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialClass.x;                                                                 
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialClass.MaterialClassType(x));                               
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ID)                                                             
                  : %addr(currentItem.ID: *DATA)                                                    
                  : %size(currentItem.ID)                                                           
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MessageType'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.MessageType)                                                    
                  : %addr(currentItem.MessageType: *DATA)                                           
                  : %size(currentItem.MessageType)                                                  
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Action'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Action)                                                         
                  : %addr(currentItem.Action: *DATA)                                                
                  : %size(currentItem.Action)                                                       
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ConfirmOption'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ConfirmOption)                                                  
                  : %addr(currentItem.ConfirmOption: *DATA)                                         
                  : %size(currentItem.ConfirmOption)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialClassTypeEnd_of_s1_MaterialInforma...                                             
     P tion...                                                                                      
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef2Start_of_s1_MaterialClassType...                                                   
     P                 B                                                                            
     D s1_AnyRef2Start_of_s1_MaterialClassType...                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny2_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef2Start_of_s1_MaterialClassType...                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef2End_of_s1_MaterialClassType...                                                     
     P                 B                                                                            
     D s1_AnyRef2End_of_s1_MaterialClassType...                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny2_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef2End_of_s1_MaterialClassType...                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string2Start_of_s1_MaterialClas...                                             
     P sType...                                                                                     
     P                 B                                                                            
     D xsd_string_of_string2Start_of_s1_MaterialClas...                                             
     D sType...                                                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription1_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string2_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string2_t)                            
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Description.x = s1_Description.x + 1;                                             
            endif;                                                                                  
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string2Start_of_s1_MaterialClas...                                             
     P sType...                                                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string2End_of_s1_MaterialClassType...                                          
     P                 B                                                                            
     D xsd_string_of_string2End_of_s1_MaterialClassType...                                          
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription1_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string2_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialClass'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string2End_of_s1_MaterialClassType...                                          
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialClassProperty                                                      
      * ==================================================================                          
     P s1_MaterialClassPropertyTypeStart_of_s1_Mater...                                             
     P ialClassType...                                                                              
     P                 B                                                                            
     D s1_MaterialClassPropertyTypeStart_of_s1_Mater...                                             
     D ialClassType...                                                                              
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialClassProperty...                                                                  
     D                 DS                  likeds(s1_RpgArrayOfMaterialClassP...                    
     D                                     roperty_t)                                               
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialClassPropertyTyp...                    
     D                                     e_t)                                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_MaterialClassPropertyTyp...                    
     D                                     e_t)                                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialClassProperty.x = s1_MaterialClassProperty.x + 1;                         
            endif;                                                                                  
            x = s1_MaterialClassProperty.x;                                                         
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_MaterialClassProperty.MaterialClassPropertyType(x));                           
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialClassProperty'                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ID)                                                           
                  : %size(currentItem.ID)                                                           
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_stringStart_of_s1_MaterialClassPropertyT+                    
               ype')                                                                                
               : %paddr('xsd_string_of_stringEnd_of_s1_MaterialClassPropertyTyp+                    
               e')                                                                                  
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Value'                                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Value)                                                             
               : %paddr('s1_ValueTypeStart_of_s1_MaterialClassPropertyType')                        
               : %paddr('s1_ValueTypeEnd_of_s1_MaterialClassPropertyType')                          
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'QAMaterialTestSpecificationID'                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.QAMaterialTestSpecificationID)                                     
               : %paddr('xsd_string_of_string1Start_of_s1_MaterialClassProperty+                    
               Type')                                                                               
               : %paddr('xsd_string_of_string1End_of_s1_MaterialClassPropertyTy+                    
               pe')                                                                                 
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef3Start_of_s1_MaterialClassPropertyType')                          
               : %paddr('s1_AnyRef3End_of_s1_MaterialClassPropertyType')                            
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialClassPropertyTypeStart_of_s1_Mater...                                             
     P ialClassType...                                                                              
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialClassProperty                                                      
      * ==================================================================                          
     P s1_MaterialClassPropertyTypeEnd_of_s1_Materia...                                             
     P lClassType...                                                                                
     P                 B                                                                            
     D s1_MaterialClassPropertyTypeEnd_of_s1_Materia...                                             
     D lClassType...                                                                                
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialClassProperty...                                                                  
     D                 DS                  likeds(s1_RpgArrayOfMaterialClassP...                    
     D                                     roperty_t)                                               
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialClassPropertyTyp...                    
     D                                     e_t)                                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialClassProperty.x;                                                         
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_MaterialClassProperty.MaterialClassPropertyType(x));                           
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ID)                                                             
                  : %addr(currentItem.ID: *DATA)                                                    
                  : %size(currentItem.ID)                                                           
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialClassPropertyTypeEnd_of_s1_Materia...                                             
     P lClassType...                                                                                
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef3Start_of_s1_MaterialClassPropertyType...                                           
     P                 B                                                                            
     D s1_AnyRef3Start_of_s1_MaterialClassPropertyType...                                           
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny3_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef3Start_of_s1_MaterialClassPropertyType...                                           
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef3End_of_s1_MaterialClassPropertyType...                                             
     P                 B                                                                            
     D s1_AnyRef3End_of_s1_MaterialClassPropertyType...                                             
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny3_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef3End_of_s1_MaterialClassPropertyType...                                             
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_stringStart_of_s1_MaterialClass...                                             
     P PropertyType...                                                                              
     P                 B                                                                            
     D xsd_string_of_stringStart_of_s1_MaterialClass...                                             
     D PropertyType...                                                                              
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription2_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string_t)                             
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string_t)                             
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Description.x = s1_Description.x + 1;                                             
            endif;                                                                                  
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_stringStart_of_s1_MaterialClass...                                             
     P PropertyType...                                                                              
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_stringEnd_of_s1_MaterialClassPr...                                             
     P opertyType...                                                                                
     P                 B                                                                            
     D xsd_string_of_stringEnd_of_s1_MaterialClassPr...                                             
     D opertyType...                                                                                
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription2_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string_t)                             
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialClassProperty'                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_stringEnd_of_s1_MaterialClassPr...                                             
     P opertyType...                                                                                
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:QAMaterialTestSpecificationID                                              
      * ==================================================================                          
     P xsd_string_of_string1Start_of_s1_MaterialClas...                                             
     P sPropertyType...                                                                             
     P                 B                                                                            
     D xsd_string_of_string1Start_of_s1_MaterialClas...                                             
     D sPropertyType...                                                                             
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_QAMaterialTestSpecificationID...                                                          
     D                 DS                  likeds(s1_RpgArrayOfQAMaterialTest...                    
     D                                     SpecificationID_t)                                       
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string1_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string1_t)                            
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_QAMaterialTestSpecificationID.x =                                                 
                  s1_QAMaterialTestSpecificationID.x + 1;                                           
            endif;                                                                                  
            x = s1_QAMaterialTestSpecificationID.x;                                                 
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_QAMaterialTestSpecificationID.string(x));                          
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'QAMaterialTestSpecificationID'                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string1Start_of_s1_MaterialClas...                                             
     P sPropertyType...                                                                             
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:QAMaterialTestSpecificationID                                              
      * ==================================================================                          
     P xsd_string_of_string1End_of_s1_MaterialClassP...                                             
     P ropertyType...                                                                               
     P                 B                                                                            
     D xsd_string_of_string1End_of_s1_MaterialClassP...                                             
     D ropertyType...                                                                               
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_QAMaterialTestSpecificationID...                                                          
     D                 DS                  likeds(s1_RpgArrayOfQAMaterialTest...                    
     D                                     SpecificationID_t)                                       
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string1_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_QAMaterialTestSpecificationID.x;                                                 
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_QAMaterialTestSpecificationID.string(x));                          
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialClassProperty'                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'QAMaterialTestSpecificationID'                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string1End_of_s1_MaterialClassP...                                             
     P ropertyType...                                                                               
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Value                                                                      
      * ==================================================================                          
     P s1_ValueTypeStart_of_s1_MaterialClassProperty...                                             
     P Type...                                                                                      
     P                 B                                                                            
     D s1_ValueTypeStart_of_s1_MaterialClassProperty...                                             
     D Type...                                                                                      
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Value        DS                  likeds(s1_RpgArrayOfValue_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_ValueType_t)                                   
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_ValueType_t)                                   
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Value.x = s1_Value.x + 1;                                                         
            endif;                                                                                  
            x = s1_Value.x;                                                                         
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Value.ValueType(x));                                               
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Value'                                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ValueString'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ValueString)                                                  
                  : %size(currentItem.ValueString)                                                  
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.DataType)                                                     
                  : %size(currentItem.DataType)                                                     
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.UnitOfMeasure)                                                
                  : %size(currentItem.UnitOfMeasure)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Key)                                                          
                  : %size(currentItem.Key)                                                          
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef4Start_of_s1_ValueType')                                          
               : %paddr('s1_AnyRef4End_of_s1_ValueType')                                            
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_ValueTypeStart_of_s1_MaterialClassProperty...                                             
     P Type...                                                                                      
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Value                                                                      
      * ==================================================================                          
     P s1_ValueTypeEnd_of_s1_MaterialClassPropertyType...                                           
     P                 B                                                                            
     D s1_ValueTypeEnd_of_s1_MaterialClassPropertyType...                                           
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Value        DS                  likeds(s1_RpgArrayOfValue_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_ValueType_t)                                   
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Value.x;                                                                         
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Value.ValueType(x));                                               
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ValueString'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ValueString)                                                    
                  : %addr(currentItem.ValueString: *DATA)                                           
                  : %size(currentItem.ValueString)                                                  
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.DataType)                                                       
                  : %addr(currentItem.DataType: *DATA)                                              
                  : %size(currentItem.DataType)                                                     
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.UnitOfMeasure)                                                  
                  : %addr(currentItem.UnitOfMeasure: *DATA)                                         
                  : %size(currentItem.UnitOfMeasure)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Key)                                                            
                  : %addr(currentItem.Key: *DATA)                                                   
                  : %size(currentItem.Key)                                                          
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_ValueTypeEnd_of_s1_MaterialClassPropertyType...                                           
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef4Start_of_s1_ValueType...                                                           
     P                 B                                                                            
     D s1_AnyRef4Start_of_s1_ValueType...                                                           
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny4_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef4Start_of_s1_ValueType...                                                           
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef4End_of_s1_ValueType...                                                             
     P                 B                                                                            
     D s1_AnyRef4End_of_s1_ValueType...                                                             
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny4_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef4End_of_s1_ValueType...                                                             
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialDefinitionID                                                       
      * ==================================================================                          
     P xsd_string_of_string3Start_of_s1_MaterialClas...                                             
     P sType...                                                                                     
     P                 B                                                                            
     D xsd_string_of_string3Start_of_s1_MaterialClas...                                             
     D sType...                                                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialDefinitionID...                                                                   
     D                 DS                  likeds(s1_RpgArrayOfMaterialDefini...                    
     D                                     tionID_t)                                                
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string3_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string3_t)                            
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialDefinitionID.x = s1_MaterialDefinitionID.x + 1;                           
            endif;                                                                                  
            x = s1_MaterialDefinitionID.x;                                                          
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialDefinitionID.string(x));                                   
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialDefinitionID'                                                       
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string3Start_of_s1_MaterialClas...                                             
     P sType...                                                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialDefinitionID                                                       
      * ==================================================================                          
     P xsd_string_of_string3End_of_s1_MaterialClassType...                                          
     P                 B                                                                            
     D xsd_string_of_string3End_of_s1_MaterialClassType...                                          
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialDefinitionID...                                                                   
     D                 DS                  likeds(s1_RpgArrayOfMaterialDefini...                    
     D                                     tionID_t)                                                
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string3_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialDefinitionID.x;                                                          
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialDefinitionID.string(x));                                   
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialClass'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'MaterialDefinitionID'                                                       
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string3End_of_s1_MaterialClassType...                                          
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialDefinition                                                         
      * ==================================================================                          
     P s1_MaterialDefinitionTypeStart_of_s1_Material...                                             
     P Information...                                                                               
     P                 B                                                                            
     D s1_MaterialDefinitionTypeStart_of_s1_Material...                                             
     D Information...                                                                               
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialDefinition...                                                                     
     D                 DS                  likeds(s1_RpgArrayOfMaterialDefini...                    
     D                                     tion_t)                                                  
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialDefinitionType_t)                      
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_MaterialDefinitionType_t)                      
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialDefinition.x = s1_MaterialDefinition.x + 1;                               
            endif;                                                                                  
            x = s1_MaterialDefinition.x;                                                            
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialDefinition.MaterialDefinitionType(x));                     
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialDefinition'                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ID)                                                           
                  : %size(currentItem.ID)                                                           
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_string6Start_of_s1_MaterialDefinitionTyp+                    
               e')                                                                                  
               : %paddr('xsd_string_of_string6End_of_s1_MaterialDefinitionType')                    
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialDefinitionProperty'                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialDefinitionProperty)                                        
               : %paddr('s1_MaterialDefinitionPropertyTypeStart_of_s1_MaterialD+                    
               efinitionType')                                                                      
               : %paddr('s1_MaterialDefinitionPropertyTypeEnd_of_s1_MaterialDef+                    
               initionType')                                                                        
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialClassID'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialClassID)                                                   
               : %paddr('xsd_string_of_string7Start_of_s1_MaterialDefinitionTyp+                    
               e')                                                                                  
               : %paddr('xsd_string_of_string7End_of_s1_MaterialDefinitionType')                    
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialLotID'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialLotID)                                                     
               : %paddr('xsd_string_of_string8Start_of_s1_MaterialDefinitionTyp+                    
               e')                                                                                  
               : %paddr('xsd_string_of_string8End_of_s1_MaterialDefinitionType')                    
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MessageType'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.MessageType)                                                  
                  : %size(currentItem.MessageType)                                                  
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Action'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Action)                                                       
                  : %size(currentItem.Action)                                                       
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ConfirmOption'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ConfirmOption)                                                
                  : %size(currentItem.ConfirmOption)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ProcessingStatus'                                                           
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.ProcessingStatus)                                                  
               : %paddr('s2_ProcessingStatusStart')                                                 
               : %paddr('s2_ProcessingStatusEnd')                                                   
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef5Start_of_s1_MaterialDefinitionType')                             
               : %paddr('s1_AnyRef5End_of_s1_MaterialDefinitionType')                               
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialDefinitionTypeStart_of_s1_Material...                                             
     P Information...                                                                               
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialDefinition                                                         
      * ==================================================================                          
     P s1_MaterialDefinitionTypeEnd_of_s1_MaterialIn...                                             
     P formation...                                                                                 
     P                 B                                                                            
     D s1_MaterialDefinitionTypeEnd_of_s1_MaterialIn...                                             
     D formation...                                                                                 
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialDefinition...                                                                     
     D                 DS                  likeds(s1_RpgArrayOfMaterialDefini...                    
     D                                     tion_t)                                                  
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialDefinitionType_t)                      
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialDefinition.x;                                                            
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialDefinition.MaterialDefinitionType(x));                     
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ID)                                                             
                  : %addr(currentItem.ID: *DATA)                                                    
                  : %size(currentItem.ID)                                                           
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MessageType'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.MessageType)                                                    
                  : %addr(currentItem.MessageType: *DATA)                                           
                  : %size(currentItem.MessageType)                                                  
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Action'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Action)                                                         
                  : %addr(currentItem.Action: *DATA)                                                
                  : %size(currentItem.Action)                                                       
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ConfirmOption'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ConfirmOption)                                                  
                  : %addr(currentItem.ConfirmOption: *DATA)                                         
                  : %size(currentItem.ConfirmOption)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialDefinitionTypeEnd_of_s1_MaterialIn...                                             
     P formation...                                                                                 
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef5Start_of_s1_MaterialDefinitionType...                                              
     P                 B                                                                            
     D s1_AnyRef5Start_of_s1_MaterialDefinitionType...                                              
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny5_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef5Start_of_s1_MaterialDefinitionType...                                              
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef5End_of_s1_MaterialDefinitionType...                                                
     P                 B                                                                            
     D s1_AnyRef5End_of_s1_MaterialDefinitionType...                                                
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny5_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef5End_of_s1_MaterialDefinitionType...                                                
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string6Start_of_s1_MaterialDefi...                                             
     P nitionType...                                                                                
     P                 B                                                                            
     D xsd_string_of_string6Start_of_s1_MaterialDefi...                                             
     D nitionType...                                                                                
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription3_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string6_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string6_t)                            
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Description.x = s1_Description.x + 1;                                             
            endif;                                                                                  
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string6Start_of_s1_MaterialDefi...                                             
     P nitionType...                                                                                
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string6End_of_s1_MaterialDefini...                                             
     P tionType...                                                                                  
     P                 B                                                                            
     D xsd_string_of_string6End_of_s1_MaterialDefini...                                             
     D tionType...                                                                                  
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription3_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string6_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialDefinition'                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string6End_of_s1_MaterialDefini...                                             
     P tionType...                                                                                  
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialClassID                                                            
      * ==================================================================                          
     P xsd_string_of_string7Start_of_s1_MaterialDefi...                                             
     P nitionType...                                                                                
     P                 B                                                                            
     D xsd_string_of_string7Start_of_s1_MaterialDefi...                                             
     D nitionType...                                                                                
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialClassID...                                                                        
     D                 DS                  likeds(s1_RpgArrayOfMaterialClassI...                    
     D                                     D_t)                                                     
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string7_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string7_t)                            
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialClassID.x = s1_MaterialClassID.x + 1;                                     
            endif;                                                                                  
            x = s1_MaterialClassID.x;                                                               
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialClassID.string(x));                                        
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialClassID'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string7Start_of_s1_MaterialDefi...                                             
     P nitionType...                                                                                
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialClassID                                                            
      * ==================================================================                          
     P xsd_string_of_string7End_of_s1_MaterialDefini...                                             
     P tionType...                                                                                  
     P                 B                                                                            
     D xsd_string_of_string7End_of_s1_MaterialDefini...                                             
     D tionType...                                                                                  
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialClassID...                                                                        
     D                 DS                  likeds(s1_RpgArrayOfMaterialClassI...                    
     D                                     D_t)                                                     
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string7_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialClassID.x;                                                               
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialClassID.string(x));                                        
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialDefinition'                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'MaterialClassID'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string7End_of_s1_MaterialDefini...                                             
     P tionType...                                                                                  
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialDefinitionProperty                                                 
      * ==================================================================                          
     P s1_MaterialDefinitionPropertyTypeStart_of_s1_...                                             
     P MaterialDefinitionType...                                                                    
     P                 B                                                                            
     D s1_MaterialDefinitionPropertyTypeStart_of_s1_...                                             
     D MaterialDefinitionType...                                                                    
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialDefinitionProperty...                                                             
     D                 DS                  likeds(s1_RpgArrayOfMaterialDefini...                    
     D                                     tionProperty_t)                                          
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialDefinitionProper...                    
     D                                     tyType_t)                                                
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_MaterialDefinitionProper...                    
     D                                     tyType_t)                                                
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialDefinitionProperty.x =                                                    
                  s1_MaterialDefinitionProperty.x + 1;                                              
            endif;                                                                                  
            x = s1_MaterialDefinitionProperty.x;                                                    
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_MaterialDefinitionProperty.MaterialDefinitionPropertyTyp...                    
            e(x));                                                                                  
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialDefinitionProperty'                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ID)                                                           
                  : %size(currentItem.ID)                                                           
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_string4Start_of_s1_MaterialDefinitionPro+                    
               pertyType')                                                                          
               : %paddr('xsd_string_of_string4End_of_s1_MaterialDefinitionPrope+                    
               rtyType')                                                                            
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Value'                                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Value)                                                             
               : %paddr('s1_ValueTypeStart_of_s1_MaterialDefinitionPropertyType+                    
               ')                                                                                   
               : %paddr('s1_ValueTypeEnd_of_s1_MaterialDefinitionPropertyType')                     
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'QAMaterialTestSpecificationID'                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.QAMaterialTestSpecificationID)                                     
               : %paddr('xsd_string_of_string5Start_of_s1_MaterialDefinitionPro+                    
               pertyType')                                                                          
               : %paddr('xsd_string_of_string5End_of_s1_MaterialDefinitionPrope+                    
               rtyType')                                                                            
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef6Start_of_s1_MaterialDefinitionPropertyType')                     
               : %paddr('s1_AnyRef6End_of_s1_MaterialDefinitionPropertyType')                       
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialDefinitionPropertyTypeStart_of_s1_...                                             
     P MaterialDefinitionType...                                                                    
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialDefinitionProperty                                                 
      * ==================================================================                          
     P s1_MaterialDefinitionPropertyTypeEnd_of_s1_Ma...                                             
     P terialDefinitionType...                                                                      
     P                 B                                                                            
     D s1_MaterialDefinitionPropertyTypeEnd_of_s1_Ma...                                             
     D terialDefinitionType...                                                                      
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialDefinitionProperty...                                                             
     D                 DS                  likeds(s1_RpgArrayOfMaterialDefini...                    
     D                                     tionProperty_t)                                          
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialDefinitionProper...                    
     D                                     tyType_t)                                                
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialDefinitionProperty.x;                                                    
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_MaterialDefinitionProperty.MaterialDefinitionPropertyTyp...                    
            e(x));                                                                                  
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ID)                                                             
                  : %addr(currentItem.ID: *DATA)                                                    
                  : %size(currentItem.ID)                                                           
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialDefinitionPropertyTypeEnd_of_s1_Ma...                                             
     P terialDefinitionType...                                                                      
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef6Start_of_s1_MaterialDefinitionPrope...                                             
     P rtyType...                                                                                   
     P                 B                                                                            
     D s1_AnyRef6Start_of_s1_MaterialDefinitionPrope...                                             
     D rtyType...                                                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny6_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef6Start_of_s1_MaterialDefinitionPrope...                                             
     P rtyType...                                                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef6End_of_s1_MaterialDefinitionPropert...                                             
     P yType...                                                                                     
     P                 B                                                                            
     D s1_AnyRef6End_of_s1_MaterialDefinitionPropert...                                             
     D yType...                                                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny6_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef6End_of_s1_MaterialDefinitionPropert...                                             
     P yType...                                                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string4Start_of_s1_MaterialDefi...                                             
     P nitionPropertyType...                                                                        
     P                 B                                                                            
     D xsd_string_of_string4Start_of_s1_MaterialDefi...                                             
     D nitionPropertyType...                                                                        
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription4_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string4_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string4_t)                            
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Description.x = s1_Description.x + 1;                                             
            endif;                                                                                  
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string4Start_of_s1_MaterialDefi...                                             
     P nitionPropertyType...                                                                        
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string4End_of_s1_MaterialDefini...                                             
     P tionPropertyType...                                                                          
     P                 B                                                                            
     D xsd_string_of_string4End_of_s1_MaterialDefini...                                             
     D tionPropertyType...                                                                          
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription4_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string4_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialDefinitionProperty'                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string4End_of_s1_MaterialDefini...                                             
     P tionPropertyType...                                                                          
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:QAMaterialTestSpecificationID                                              
      * ==================================================================                          
     P xsd_string_of_string5Start_of_s1_MaterialDefi...                                             
     P nitionPropertyType...                                                                        
     P                 B                                                                            
     D xsd_string_of_string5Start_of_s1_MaterialDefi...                                             
     D nitionPropertyType...                                                                        
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_QAMaterialTestSpecificationID...                                                          
     D                 DS                  likeds(s1_RpgArrayOfQAMaterialTest...                    
     D                                     SpecificationID1_t)                                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string5_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string5_t)                            
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_QAMaterialTestSpecificationID.x =                                                 
                  s1_QAMaterialTestSpecificationID.x + 1;                                           
            endif;                                                                                  
            x = s1_QAMaterialTestSpecificationID.x;                                                 
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_QAMaterialTestSpecificationID.string(x));                          
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'QAMaterialTestSpecificationID'                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string5Start_of_s1_MaterialDefi...                                             
     P nitionPropertyType...                                                                        
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:QAMaterialTestSpecificationID                                              
      * ==================================================================                          
     P xsd_string_of_string5End_of_s1_MaterialDefini...                                             
     P tionPropertyType...                                                                          
     P                 B                                                                            
     D xsd_string_of_string5End_of_s1_MaterialDefini...                                             
     D tionPropertyType...                                                                          
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_QAMaterialTestSpecificationID...                                                          
     D                 DS                  likeds(s1_RpgArrayOfQAMaterialTest...                    
     D                                     SpecificationID1_t)                                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string5_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_QAMaterialTestSpecificationID.x;                                                 
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_QAMaterialTestSpecificationID.string(x));                          
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialDefinitionProperty'                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'QAMaterialTestSpecificationID'                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string5End_of_s1_MaterialDefini...                                             
     P tionPropertyType...                                                                          
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Value                                                                      
      * ==================================================================                          
     P s1_ValueTypeStart_of_s1_MaterialDefinitionPro...                                             
     P pertyType...                                                                                 
     P                 B                                                                            
     D s1_ValueTypeStart_of_s1_MaterialDefinitionPro...                                             
     D pertyType...                                                                                 
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Value        DS                  likeds(s1_RpgArrayOfValue1_t)                            
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_ValueType_t)                                   
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_ValueType_t)                                   
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Value.x = s1_Value.x + 1;                                                         
            endif;                                                                                  
            x = s1_Value.x;                                                                         
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Value.ValueType(x));                                               
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Value'                                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ValueString'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ValueString)                                                  
                  : %size(currentItem.ValueString)                                                  
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.DataType)                                                     
                  : %size(currentItem.DataType)                                                     
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.UnitOfMeasure)                                                
                  : %size(currentItem.UnitOfMeasure)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Key)                                                          
                  : %size(currentItem.Key)                                                          
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef4Start_of_s1_ValueType')                                          
               : %paddr('s1_AnyRef4End_of_s1_ValueType')                                            
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_ValueTypeStart_of_s1_MaterialDefinitionPro...                                             
     P pertyType...                                                                                 
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Value                                                                      
      * ==================================================================                          
     P s1_ValueTypeEnd_of_s1_MaterialDefinitionPrope...                                             
     P rtyType...                                                                                   
     P                 B                                                                            
     D s1_ValueTypeEnd_of_s1_MaterialDefinitionPrope...                                             
     D rtyType...                                                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Value        DS                  likeds(s1_RpgArrayOfValue1_t)                            
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_ValueType_t)                                   
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Value.x;                                                                         
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Value.ValueType(x));                                               
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ValueString'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ValueString)                                                    
                  : %addr(currentItem.ValueString: *DATA)                                           
                  : %size(currentItem.ValueString)                                                  
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.DataType)                                                       
                  : %addr(currentItem.DataType: *DATA)                                              
                  : %size(currentItem.DataType)                                                     
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.UnitOfMeasure)                                                  
                  : %addr(currentItem.UnitOfMeasure: *DATA)                                         
                  : %size(currentItem.UnitOfMeasure)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Key)                                                            
                  : %addr(currentItem.Key: *DATA)                                                   
                  : %size(currentItem.Key)                                                          
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_ValueTypeEnd_of_s1_MaterialDefinitionPrope...                                             
     P rtyType...                                                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialLotID                                                              
      * ==================================================================                          
     P xsd_string_of_string8Start_of_s1_MaterialDefi...                                             
     P nitionType...                                                                                
     P                 B                                                                            
     D xsd_string_of_string8Start_of_s1_MaterialDefi...                                             
     D nitionType...                                                                                
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialLotID...                                                                          
     D                 DS                  likeds(s1_RpgArrayOfMaterialLotID_t)                     
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string8_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string8_t)                            
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialLotID.x = s1_MaterialLotID.x + 1;                                         
            endif;                                                                                  
            x = s1_MaterialLotID.x;                                                                 
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialLotID.string(x));                                          
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialLotID'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string8Start_of_s1_MaterialDefi...                                             
     P nitionType...                                                                                
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialLotID                                                              
      * ==================================================================                          
     P xsd_string_of_string8End_of_s1_MaterialDefini...                                             
     P tionType...                                                                                  
     P                 B                                                                            
     D xsd_string_of_string8End_of_s1_MaterialDefini...                                             
     D tionType...                                                                                  
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialLotID...                                                                          
     D                 DS                  likeds(s1_RpgArrayOfMaterialLotID_t)                     
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string8_t)                            
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialLotID.x;                                                                 
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialLotID.string(x));                                          
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialDefinition'                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'MaterialLotID'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string8End_of_s1_MaterialDefini...                                             
     P tionType...                                                                                  
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialLot                                                                
      * ==================================================================                          
     P s1_MaterialLotTypeStart_of_s1_MaterialInforma...                                             
     P tion...                                                                                      
     P                 B                                                                            
     D s1_MaterialLotTypeStart_of_s1_MaterialInforma...                                             
     D tion...                                                                                      
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialLot  DS                  likeds(s1_RpgArrayOfMaterialLot_t)                       
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialLotType_t)                             
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_MaterialLotType_t)                             
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialLot.x = s1_MaterialLot.x + 1;                                             
            endif;                                                                                  
            x = s1_MaterialLot.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialLot.MaterialLotType(x));                                   
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialLot'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ID)                                                           
                  : %size(currentItem.ID)                                                           
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_string12Start_of_s1_MaterialLotType')                        
               : %paddr('xsd_string_of_string12End_of_s1_MaterialLotType')                          
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialDefinitionID'                                                       
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.MaterialDefinitionID)                                         
                  : %size(currentItem.MaterialDefinitionID)                                         
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Status'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Status)                                                       
                  : %size(currentItem.Status)                                                       
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialLotProperty'                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialLotProperty)                                               
               : %paddr('s1_MaterialLotPropertyTypeStart_of_s1_MaterialLotType')                    
               : %paddr('s1_MaterialLotPropertyTypeEnd_of_s1_MaterialLotType')                      
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialSubLot'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.MaterialSubLot)                                                    
               : %paddr('s1_MaterialSubLotTypeStart_of_s1_MaterialLotType')                         
               : %paddr('s1_MaterialSubLotTypeEnd_of_s1_MaterialLotType')                           
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Location'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Location)                                                          
               : %paddr('s1_LocationStart')                                                         
               : %paddr('s1_LocationEnd')                                                           
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'StorageLocation'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.StorageLocation)                                              
                  : %size(currentItem.StorageLocation)                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Quantity'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Quantity)                                                          
               : %paddr('s1_QuantityTypeStart_of_s1_MaterialLotType')                               
               : %paddr('s1_QuantityTypeEnd_of_s1_MaterialLotType')                                 
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MessageType'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.MessageType)                                                  
                  : %size(currentItem.MessageType)                                                  
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Action'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Action)                                                       
                  : %size(currentItem.Action)                                                       
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ConfirmOption'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ConfirmOption)                                                
                  : %size(currentItem.ConfirmOption)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ProcessingStatus'                                                           
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.ProcessingStatus)                                                  
               : %paddr('s2_ProcessingStatusStart')                                                 
               : %paddr('s2_ProcessingStatusEnd')                                                   
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef7Start_of_s1_MaterialLotType')                                    
               : %paddr('s1_AnyRef7End_of_s1_MaterialLotType')                                      
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialLotTypeStart_of_s1_MaterialInforma...                                             
     P tion...                                                                                      
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialLot                                                                
      * ==================================================================                          
     P s1_MaterialLotTypeEnd_of_s1_MaterialInformation...                                           
     P                 B                                                                            
     D s1_MaterialLotTypeEnd_of_s1_MaterialInformation...                                           
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialLot  DS                  likeds(s1_RpgArrayOfMaterialLot_t)                       
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialLotType_t)                             
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialLot.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialLot.MaterialLotType(x));                                   
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ID)                                                             
                  : %addr(currentItem.ID: *DATA)                                                    
                  : %size(currentItem.ID)                                                           
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialDefinitionID'                                                       
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.MaterialDefinitionID)                                           
                  : %addr(currentItem.MaterialDefinitionID: *DATA)                                  
                  : %size(currentItem.MaterialDefinitionID)                                         
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Status'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Status)                                                         
                  : %addr(currentItem.Status: *DATA)                                                
                  : %size(currentItem.Status)                                                       
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'StorageLocation'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.StorageLocation)                                                
                  : %addr(currentItem.StorageLocation: *DATA)                                       
                  : %size(currentItem.StorageLocation)                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MessageType'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.MessageType)                                                    
                  : %addr(currentItem.MessageType: *DATA)                                           
                  : %size(currentItem.MessageType)                                                  
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Action'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Action)                                                         
                  : %addr(currentItem.Action: *DATA)                                                
                  : %size(currentItem.Action)                                                       
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ConfirmOption'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300-extensions');                       
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ConfirmOption)                                                  
                  : %addr(currentItem.ConfirmOption: *DATA)                                         
                  : %size(currentItem.ConfirmOption)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialLotTypeEnd_of_s1_MaterialInformation...                                           
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef7Start_of_s1_MaterialLotType...                                                     
     P                 B                                                                            
     D s1_AnyRef7Start_of_s1_MaterialLotType...                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny7_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef7Start_of_s1_MaterialLotType...                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef7End_of_s1_MaterialLotType...                                                       
     P                 B                                                                            
     D s1_AnyRef7End_of_s1_MaterialLotType...                                                       
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny7_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef7End_of_s1_MaterialLotType...                                                       
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string12Start_of_s1_MaterialLot...                                             
     P Type...                                                                                      
     P                 B                                                                            
     D xsd_string_of_string12Start_of_s1_MaterialLot...                                             
     D Type...                                                                                      
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription5_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string12_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string12_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Description.x = s1_Description.x + 1;                                             
            endif;                                                                                  
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string12Start_of_s1_MaterialLot...                                             
     P Type...                                                                                      
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string12End_of_s1_MaterialLotType...                                           
     P                 B                                                                            
     D xsd_string_of_string12End_of_s1_MaterialLotType...                                           
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription5_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string12_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialLot'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string12End_of_s1_MaterialLotType...                                           
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialLotProperty                                                        
      * ==================================================================                          
     P s1_MaterialLotPropertyTypeStart_of_s1_Materia...                                             
     P lLotType...                                                                                  
     P                 B                                                                            
     D s1_MaterialLotPropertyTypeStart_of_s1_Materia...                                             
     D lLotType...                                                                                  
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialLotProperty...                                                                    
     D                 DS                  likeds(s1_RpgArrayOfMaterialLotPro...                    
     D                                     perty_t)                                                 
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialLotPropertyType_t)                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_MaterialLotPropertyType_t)                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialLotProperty.x = s1_MaterialLotProperty.x + 1;                             
            endif;                                                                                  
            x = s1_MaterialLotProperty.x;                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_MaterialLotProperty.MaterialLotPropertyType(x));                               
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialLotProperty'                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ID)                                                           
                  : %size(currentItem.ID)                                                           
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_string10Start_of_s1_MaterialLotPropertyT+                    
               ype')                                                                                
               : %paddr('xsd_string_of_string10End_of_s1_MaterialLotPropertyTyp+                    
               e')                                                                                  
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Value'                                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Value)                                                             
               : %paddr('s1_ValueTypeStart_of_s1_MaterialLotPropertyType')                          
               : %paddr('s1_ValueTypeEnd_of_s1_MaterialLotPropertyType')                            
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'QAMaterialTestSpecificationID'                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.QAMaterialTestSpecificationID)                                     
               : %paddr('xsd_string_of_string11Start_of_s1_MaterialLotPropertyT+                    
               ype')                                                                                
               : %paddr('xsd_string_of_string11End_of_s1_MaterialLotPropertyTyp+                    
               e')                                                                                  
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'TestResult'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.TestResult)                                                        
               : %paddr('s1_TestResultTypeStart_of_s1_MaterialLotPropertyType')                     
               : %paddr('s1_TestResultTypeEnd_of_s1_MaterialLotPropertyType')                       
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef8Start_of_s1_MaterialLotPropertyType')                            
               : %paddr('s1_AnyRef8End_of_s1_MaterialLotPropertyType')                              
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialLotPropertyTypeStart_of_s1_Materia...                                             
     P lLotType...                                                                                  
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialLotProperty                                                        
      * ==================================================================                          
     P s1_MaterialLotPropertyTypeEnd_of_s1_MaterialL...                                             
     P otType...                                                                                    
     P                 B                                                                            
     D s1_MaterialLotPropertyTypeEnd_of_s1_MaterialL...                                             
     D otType...                                                                                    
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialLotProperty...                                                                    
     D                 DS                  likeds(s1_RpgArrayOfMaterialLotPro...                    
     D                                     perty_t)                                                 
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialLotPropertyType_t)                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialLotProperty.x;                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_MaterialLotProperty.MaterialLotPropertyType(x));                               
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ID)                                                             
                  : %addr(currentItem.ID: *DATA)                                                    
                  : %size(currentItem.ID)                                                           
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialLotPropertyTypeEnd_of_s1_MaterialL...                                             
     P otType...                                                                                    
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef8Start_of_s1_MaterialLotPropertyType...                                             
     P                 B                                                                            
     D s1_AnyRef8Start_of_s1_MaterialLotPropertyType...                                             
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny8_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef8Start_of_s1_MaterialLotPropertyType...                                             
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef8End_of_s1_MaterialLotPropertyType...                                               
     P                 B                                                                            
     D s1_AnyRef8End_of_s1_MaterialLotPropertyType...                                               
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny8_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef8End_of_s1_MaterialLotPropertyType...                                               
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string10Start_of_s1_MaterialLot...                                             
     P PropertyType...                                                                              
     P                 B                                                                            
     D xsd_string_of_string10Start_of_s1_MaterialLot...                                             
     D PropertyType...                                                                              
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription6_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string10_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string10_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Description.x = s1_Description.x + 1;                                             
            endif;                                                                                  
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string10Start_of_s1_MaterialLot...                                             
     P PropertyType...                                                                              
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string10End_of_s1_MaterialLotPr...                                             
     P opertyType...                                                                                
     P                 B                                                                            
     D xsd_string_of_string10End_of_s1_MaterialLotPr...                                             
     D opertyType...                                                                                
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription6_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string10_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialLotProperty'                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string10End_of_s1_MaterialLotPr...                                             
     P opertyType...                                                                                
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:QAMaterialTestSpecificationID                                              
      * ==================================================================                          
     P xsd_string_of_string11Start_of_s1_MaterialLot...                                             
     P PropertyType...                                                                              
     P                 B                                                                            
     D xsd_string_of_string11Start_of_s1_MaterialLot...                                             
     D PropertyType...                                                                              
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_QAMaterialTestSpecificationID...                                                          
     D                 DS                  likeds(s1_RpgArrayOfQAMaterialTest...                    
     D                                     SpecificationID2_t)                                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string11_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string11_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_QAMaterialTestSpecificationID.x =                                                 
                  s1_QAMaterialTestSpecificationID.x + 1;                                           
            endif;                                                                                  
            x = s1_QAMaterialTestSpecificationID.x;                                                 
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_QAMaterialTestSpecificationID.string(x));                          
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'QAMaterialTestSpecificationID'                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string11Start_of_s1_MaterialLot...                                             
     P PropertyType...                                                                              
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:QAMaterialTestSpecificationID                                              
      * ==================================================================                          
     P xsd_string_of_string11End_of_s1_MaterialLotPr...                                             
     P opertyType...                                                                                
     P                 B                                                                            
     D xsd_string_of_string11End_of_s1_MaterialLotPr...                                             
     D opertyType...                                                                                
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_QAMaterialTestSpecificationID...                                                          
     D                 DS                  likeds(s1_RpgArrayOfQAMaterialTest...                    
     D                                     SpecificationID2_t)                                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string11_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_QAMaterialTestSpecificationID.x;                                                 
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_QAMaterialTestSpecificationID.string(x));                          
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialLotProperty'                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'QAMaterialTestSpecificationID'                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string11End_of_s1_MaterialLotPr...                                             
     P opertyType...                                                                                
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:TestResult                                                                 
      * ==================================================================                          
     P s1_TestResultTypeStart_of_s1_MaterialLotPrope...                                             
     P rtyType...                                                                                   
     P                 B                                                                            
     D s1_TestResultTypeStart_of_s1_MaterialLotPrope...                                             
     D rtyType...                                                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_TestResult   DS                  likeds(s1_RpgArrayOfTestResult_t)                        
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_TestResultType_t)                              
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_TestResultType_t)                              
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_TestResult.x = s1_TestResult.x + 1;                                               
            endif;                                                                                  
            x = s1_TestResult.x;                                                                    
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_TestResult.TestResultType(x));                                     
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'TestResult'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ID)                                                           
                  : %size(currentItem.ID)                                                           
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_string15Start_of_s1_TestResultType')                         
               : %paddr('xsd_string_of_string15End_of_s1_TestResultType')                           
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'TestDateTime'                                                               
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.TestDateTime)                                                 
                  : %size(currentItem.TestDateTime)                                                 
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Result'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Result)                                                            
               : %paddr('s1_ResultTypeStart_of_s1_TestResultType')                                  
               : %paddr('s1_ResultTypeEnd_of_s1_TestResultType')                                    
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ExpirationTime'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ExpirationTime)                                               
                  : %size(currentItem.ExpirationTime)                                               
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef9Start_of_s1_TestResultType')                                     
               : %paddr('s1_AnyRef9End_of_s1_TestResultType')                                       
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_TestResultTypeStart_of_s1_MaterialLotPrope...                                             
     P rtyType...                                                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:TestResult                                                                 
      * ==================================================================                          
     P s1_TestResultTypeEnd_of_s1_MaterialLotPropert...                                             
     P yType...                                                                                     
     P                 B                                                                            
     D s1_TestResultTypeEnd_of_s1_MaterialLotPropert...                                             
     D yType...                                                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_TestResult   DS                  likeds(s1_RpgArrayOfTestResult_t)                        
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_TestResultType_t)                              
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_TestResult.x;                                                                    
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_TestResult.TestResultType(x));                                     
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ID)                                                             
                  : %addr(currentItem.ID: *DATA)                                                    
                  : %size(currentItem.ID)                                                           
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'TestDateTime'                                                               
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               currentItem.TestDateTime =                                                           
                  UnMarshaller_toDateTime(value);                                                   
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ExpirationTime'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               currentItem.ExpirationTime =                                                         
                  UnMarshaller_toDateTime(value);                                                   
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_TestResultTypeEnd_of_s1_MaterialLotPropert...                                             
     P yType...                                                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef9Start_of_s1_TestResultType...                                                      
     P                 B                                                                            
     D s1_AnyRef9Start_of_s1_TestResultType...                                                      
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny9_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef9Start_of_s1_TestResultType...                                                      
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef9End_of_s1_TestResultType...                                                        
     P                 B                                                                            
     D s1_AnyRef9End_of_s1_TestResultType...                                                        
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny9_t)                              
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef9End_of_s1_TestResultType...                                                        
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string15Start_of_s1_TestResultType...                                          
     P                 B                                                                            
     D xsd_string_of_string15Start_of_s1_TestResultType...                                          
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription7_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string15_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string15_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Description.x = s1_Description.x + 1;                                             
            endif;                                                                                  
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string15Start_of_s1_TestResultType...                                          
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string15End_of_s1_TestResultType...                                            
     P                 B                                                                            
     D xsd_string_of_string15End_of_s1_TestResultType...                                            
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription7_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string15_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'TestResult'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string15End_of_s1_TestResultType...                                            
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Result                                                                     
      * ==================================================================                          
     P s1_ResultTypeStart_of_s1_TestResultType...                                                   
     P                 B                                                                            
     D s1_ResultTypeStart_of_s1_TestResultType...                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Result       DS                  likeds(s1_RpgArrayOfResult_t)                            
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_ResultType_t)                                  
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_ResultType_t)                                  
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Result.x = s1_Result.x + 1;                                                       
            endif;                                                                                  
            x = s1_Result.x;                                                                        
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Result.ResultType(x));                                             
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Result'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ValueString'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ValueString)                                                  
                  : %size(currentItem.ValueString)                                                  
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.DataType)                                                     
                  : %size(currentItem.DataType)                                                     
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.UnitOfMeasure)                                                
                  : %size(currentItem.UnitOfMeasure)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Key)                                                          
                  : %size(currentItem.Key)                                                          
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef10Start_of_s1_ResultType')                                        
               : %paddr('s1_AnyRef10End_of_s1_ResultType')                                          
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_ResultTypeStart_of_s1_TestResultType...                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Result                                                                     
      * ==================================================================                          
     P s1_ResultTypeEnd_of_s1_TestResultType...                                                     
     P                 B                                                                            
     D s1_ResultTypeEnd_of_s1_TestResultType...                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Result       DS                  likeds(s1_RpgArrayOfResult_t)                            
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_ResultType_t)                                  
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Result.x;                                                                        
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Result.ResultType(x));                                             
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ValueString'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ValueString)                                                    
                  : %addr(currentItem.ValueString: *DATA)                                           
                  : %size(currentItem.ValueString)                                                  
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.DataType)                                                       
                  : %addr(currentItem.DataType: *DATA)                                              
                  : %size(currentItem.DataType)                                                     
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.UnitOfMeasure)                                                  
                  : %addr(currentItem.UnitOfMeasure: *DATA)                                         
                  : %size(currentItem.UnitOfMeasure)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Key)                                                            
                  : %addr(currentItem.Key: *DATA)                                                   
                  : %size(currentItem.Key)                                                          
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_ResultTypeEnd_of_s1_TestResultType...                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef10Start_of_s1_ResultType...                                                         
     P                 B                                                                            
     D s1_AnyRef10Start_of_s1_ResultType...                                                         
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny10_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef10Start_of_s1_ResultType...                                                         
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef10End_of_s1_ResultType...                                                           
     P                 B                                                                            
     D s1_AnyRef10End_of_s1_ResultType...                                                           
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny10_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef10End_of_s1_ResultType...                                                           
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Value                                                                      
      * ==================================================================                          
     P s1_ValueTypeStart_of_s1_MaterialLotPropertyType...                                           
     P                 B                                                                            
     D s1_ValueTypeStart_of_s1_MaterialLotPropertyType...                                           
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Value        DS                  likeds(s1_RpgArrayOfValue2_t)                            
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_ValueType_t)                                   
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_ValueType_t)                                   
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Value.x = s1_Value.x + 1;                                                         
            endif;                                                                                  
            x = s1_Value.x;                                                                         
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Value.ValueType(x));                                               
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Value'                                                                      
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ValueString'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ValueString)                                                  
                  : %size(currentItem.ValueString)                                                  
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.DataType)                                                     
                  : %size(currentItem.DataType)                                                     
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.UnitOfMeasure)                                                
                  : %size(currentItem.UnitOfMeasure)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Key)                                                          
                  : %size(currentItem.Key)                                                          
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef4Start_of_s1_ValueType')                                          
               : %paddr('s1_AnyRef4End_of_s1_ValueType')                                            
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_ValueTypeStart_of_s1_MaterialLotPropertyType...                                           
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Value                                                                      
      * ==================================================================                          
     P s1_ValueTypeEnd_of_s1_MaterialLotPropertyType...                                             
     P                 B                                                                            
     D s1_ValueTypeEnd_of_s1_MaterialLotPropertyType...                                             
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Value        DS                  likeds(s1_RpgArrayOfValue2_t)                            
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_ValueType_t)                                   
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Value.x;                                                                         
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Value.ValueType(x));                                               
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ValueString'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ValueString)                                                    
                  : %addr(currentItem.ValueString: *DATA)                                           
                  : %size(currentItem.ValueString)                                                  
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.DataType)                                                       
                  : %addr(currentItem.DataType: *DATA)                                              
                  : %size(currentItem.DataType)                                                     
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.UnitOfMeasure)                                                  
                  : %addr(currentItem.UnitOfMeasure: *DATA)                                         
                  : %size(currentItem.UnitOfMeasure)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Key)                                                            
                  : %addr(currentItem.Key: *DATA)                                                   
                  : %size(currentItem.Key)                                                          
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_ValueTypeEnd_of_s1_MaterialLotPropertyType...                                             
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialSubLot                                                             
      * ==================================================================                          
     P s1_MaterialSubLotTypeStart_of_s1_MaterialLotType...                                          
     P                 B                                                                            
     D s1_MaterialSubLotTypeStart_of_s1_MaterialLotType...                                          
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialSubLot...                                                                         
     D                 DS                  likeds(s1_RpgArrayOfMaterialSubLot...                    
     D                                     1_t)                                                     
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialSubLotType_t)                          
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_MaterialSubLotType_t)                          
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialSubLot.x = s1_MaterialSubLot.x + 1;                                       
            endif;                                                                                  
            x = s1_MaterialSubLot.x;                                                                
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialSubLot.MaterialSubLotType(x));                             
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialSubLot'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ID)                                                           
                  : %size(currentItem.ID)                                                           
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_string13Start_of_s1_MaterialSubLotType')                     
               : %paddr('xsd_string_of_string13End_of_s1_MaterialSubLotType')                       
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Status'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Status)                                                       
                  : %size(currentItem.Status)                                                       
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'StorageLocation'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.StorageLocation)                                              
                  : %size(currentItem.StorageLocation)                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Quantity'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Quantity)                                                          
               : %paddr('s1_QuantityTypeStart_of_s1_MaterialSubLotType')                            
               : %paddr('s1_QuantityTypeEnd_of_s1_MaterialSubLotType')                              
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialLotID'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.MaterialLotID)                                                
                  : %size(currentItem.MaterialLotID)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef11Start_of_s1_MaterialSubLotType')                                
               : %paddr('s1_AnyRef11End_of_s1_MaterialSubLotType')                                  
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialSubLotTypeStart_of_s1_MaterialLotType...                                          
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialSubLot                                                             
      * ==================================================================                          
     P s1_MaterialSubLotTypeEnd_of_s1_MaterialLotType...                                            
     P                 B                                                                            
     D s1_MaterialSubLotTypeEnd_of_s1_MaterialLotType...                                            
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialSubLot...                                                                         
     D                 DS                  likeds(s1_RpgArrayOfMaterialSubLot...                    
     D                                     1_t)                                                     
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialSubLotType_t)                          
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialSubLot.x;                                                                
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialSubLot.MaterialSubLotType(x));                             
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ID)                                                             
                  : %addr(currentItem.ID: *DATA)                                                    
                  : %size(currentItem.ID)                                                           
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Status'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Status)                                                         
                  : %addr(currentItem.Status: *DATA)                                                
                  : %size(currentItem.Status)                                                       
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'StorageLocation'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.StorageLocation)                                                
                  : %addr(currentItem.StorageLocation: *DATA)                                       
                  : %size(currentItem.StorageLocation)                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialLotID'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.MaterialLotID)                                                  
                  : %addr(currentItem.MaterialLotID: *DATA)                                         
                  : %size(currentItem.MaterialLotID)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialSubLotTypeEnd_of_s1_MaterialLotType...                                            
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef11Start_of_s1_MaterialSubLotType...                                                 
     P                 B                                                                            
     D s1_AnyRef11Start_of_s1_MaterialSubLotType...                                                 
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny11_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef11Start_of_s1_MaterialSubLotType...                                                 
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef11End_of_s1_MaterialSubLotType...                                                   
     P                 B                                                                            
     D s1_AnyRef11End_of_s1_MaterialSubLotType...                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny11_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef11End_of_s1_MaterialSubLotType...                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string13Start_of_s1_MaterialSub...                                             
     P LotType...                                                                                   
     P                 B                                                                            
     D xsd_string_of_string13Start_of_s1_MaterialSub...                                             
     D LotType...                                                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription8_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string13_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string13_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Description.x = s1_Description.x + 1;                                             
            endif;                                                                                  
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string13Start_of_s1_MaterialSub...                                             
     P LotType...                                                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string13End_of_s1_MaterialSubLo...                                             
     P tType...                                                                                     
     P                 B                                                                            
     D xsd_string_of_string13End_of_s1_MaterialSubLo...                                             
     D tType...                                                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription8_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string13_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'MaterialSubLot'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string13End_of_s1_MaterialSubLo...                                             
     P tType...                                                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Quantity                                                                   
      * ==================================================================                          
     P s1_QuantityTypeStart_of_s1_MaterialSubLotType...                                             
     P                 B                                                                            
     D s1_QuantityTypeStart_of_s1_MaterialSubLotType...                                             
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Quantity     DS                  likeds(s1_RpgArrayOfQuantity1_t)                         
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_QuantityType_t)                                
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_QuantityType_t)                                
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Quantity.x = s1_Quantity.x + 1;                                                   
            endif;                                                                                  
            x = s1_Quantity.x;                                                                      
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Quantity.QuantityType(x));                                         
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Quantity'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'QuantityString'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.QuantityString)                                               
                  : %size(currentItem.QuantityString)                                               
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.DataType)                                                     
                  : %size(currentItem.DataType)                                                     
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.UnitOfMeasure)                                                
                  : %size(currentItem.UnitOfMeasure)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Key)                                                          
                  : %size(currentItem.Key)                                                          
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef12Start_of_s1_QuantityType')                                      
               : %paddr('s1_AnyRef12End_of_s1_QuantityType')                                        
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_QuantityTypeStart_of_s1_MaterialSubLotType...                                             
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Quantity                                                                   
      * ==================================================================                          
     P s1_QuantityTypeEnd_of_s1_MaterialSubLotType...                                               
     P                 B                                                                            
     D s1_QuantityTypeEnd_of_s1_MaterialSubLotType...                                               
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Quantity     DS                  likeds(s1_RpgArrayOfQuantity1_t)                         
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_QuantityType_t)                                
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Quantity.x;                                                                      
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Quantity.QuantityType(x));                                         
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'QuantityString'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.QuantityString)                                                 
                  : %addr(currentItem.QuantityString: *DATA)                                        
                  : %size(currentItem.QuantityString)                                               
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.DataType)                                                       
                  : %addr(currentItem.DataType: *DATA)                                              
                  : %size(currentItem.DataType)                                                     
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.UnitOfMeasure)                                                  
                  : %addr(currentItem.UnitOfMeasure: *DATA)                                         
                  : %size(currentItem.UnitOfMeasure)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Key)                                                            
                  : %addr(currentItem.Key: *DATA)                                                   
                  : %size(currentItem.Key)                                                          
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_QuantityTypeEnd_of_s1_MaterialSubLotType...                                               
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef12Start_of_s1_QuantityType...                                                       
     P                 B                                                                            
     D s1_AnyRef12Start_of_s1_QuantityType...                                                       
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny12_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef12Start_of_s1_QuantityType...                                                       
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef12End_of_s1_QuantityType...                                                         
     P                 B                                                                            
     D s1_AnyRef12End_of_s1_QuantityType...                                                         
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny12_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef12End_of_s1_QuantityType...                                                         
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Quantity                                                                   
      * ==================================================================                          
     P s1_QuantityTypeStart_of_s1_MaterialLotType...                                                
     P                 B                                                                            
     D s1_QuantityTypeStart_of_s1_MaterialLotType...                                                
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Quantity     DS                  likeds(s1_RpgArrayOfQuantity_t)                          
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_QuantityType_t)                                
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_QuantityType_t)                                
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Quantity.x = s1_Quantity.x + 1;                                                   
            endif;                                                                                  
            x = s1_Quantity.x;                                                                      
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Quantity.QuantityType(x));                                         
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Quantity'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'QuantityString'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.QuantityString)                                               
                  : %size(currentItem.QuantityString)                                               
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.DataType)                                                     
                  : %size(currentItem.DataType)                                                     
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.UnitOfMeasure)                                                
                  : %size(currentItem.UnitOfMeasure)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Key)                                                          
                  : %size(currentItem.Key)                                                          
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef12Start_of_s1_QuantityType')                                      
               : %paddr('s1_AnyRef12End_of_s1_QuantityType')                                        
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_QuantityTypeStart_of_s1_MaterialLotType...                                                
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Quantity                                                                   
      * ==================================================================                          
     P s1_QuantityTypeEnd_of_s1_MaterialLotType...                                                  
     P                 B                                                                            
     D s1_QuantityTypeEnd_of_s1_MaterialLotType...                                                  
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Quantity     DS                  likeds(s1_RpgArrayOfQuantity_t)                          
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_QuantityType_t)                                
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Quantity.x;                                                                      
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Quantity.QuantityType(x));                                         
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'QuantityString'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.QuantityString)                                                 
                  : %addr(currentItem.QuantityString: *DATA)                                        
                  : %size(currentItem.QuantityString)                                               
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'DataType'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.DataType)                                                       
                  : %addr(currentItem.DataType: *DATA)                                              
                  : %size(currentItem.DataType)                                                     
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'UnitOfMeasure'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.UnitOfMeasure)                                                  
                  : %addr(currentItem.UnitOfMeasure: *DATA)                                         
                  : %size(currentItem.UnitOfMeasure)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Key'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Key)                                                            
                  : %addr(currentItem.Key: *DATA)                                                   
                  : %size(currentItem.Key)                                                          
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_QuantityTypeEnd_of_s1_MaterialLotType...                                                  
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialSubLot                                                             
      * ==================================================================                          
     P s1_MaterialSubLotTypeStart_of_s1_MaterialInfo...                                             
     P rmation...                                                                                   
     P                 B                                                                            
     D s1_MaterialSubLotTypeStart_of_s1_MaterialInfo...                                             
     D rmation...                                                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialSubLot...                                                                         
     D                 DS                  likeds(s1_RpgArrayOfMaterialSubLot_t)                    
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialSubLotType_t)                          
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_MaterialSubLotType_t)                          
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_MaterialSubLot.x = s1_MaterialSubLot.x + 1;                                       
            endif;                                                                                  
            x = s1_MaterialSubLot.x;                                                                
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialSubLot.MaterialSubLotType(x));                             
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'MaterialSubLot'                                                             
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.ID)                                                           
                  : %size(currentItem.ID)                                                           
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_string13Start_of_s1_MaterialSubLotType')                     
               : %paddr('xsd_string_of_string13End_of_s1_MaterialSubLotType')                       
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Status'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Status)                                                       
                  : %size(currentItem.Status)                                                       
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'StorageLocation'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.StorageLocation)                                              
                  : %size(currentItem.StorageLocation)                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Quantity'                                                                   
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Quantity)                                                          
               : %paddr('s1_QuantityTypeStart_of_s1_MaterialSubLotType')                            
               : %paddr('s1_QuantityTypeEnd_of_s1_MaterialSubLotType')                              
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialLotID'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.MaterialLotID)                                                
                  : %size(currentItem.MaterialLotID)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef11Start_of_s1_MaterialSubLotType')                                
               : %paddr('s1_AnyRef11End_of_s1_MaterialSubLotType')                                  
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialSubLotTypeStart_of_s1_MaterialInfo...                                             
     P rmation...                                                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:MaterialSubLot                                                             
      * ==================================================================                          
     P s1_MaterialSubLotTypeEnd_of_s1_MaterialInform...                                             
     P ation...                                                                                     
     P                 B                                                                            
     D s1_MaterialSubLotTypeEnd_of_s1_MaterialInform...                                             
     D ation...                                                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_MaterialSubLot...                                                                         
     D                 DS                  likeds(s1_RpgArrayOfMaterialSubLot_t)                    
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_MaterialSubLotType_t)                          
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_MaterialSubLot.x;                                                                
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_MaterialSubLot.MaterialSubLotType(x));                             
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'ID'                                                                         
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.ID)                                                             
                  : %addr(currentItem.ID: *DATA)                                                    
                  : %size(currentItem.ID)                                                           
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Status'                                                                     
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Status)                                                         
                  : %addr(currentItem.Status: *DATA)                                                
                  : %size(currentItem.Status)                                                       
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'StorageLocation'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.StorageLocation)                                                
                  : %addr(currentItem.StorageLocation: *DATA)                                       
                  : %size(currentItem.StorageLocation)                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialLotID'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.MaterialLotID)                                                  
                  : %addr(currentItem.MaterialLotID: *DATA)                                         
                  : %size(currentItem.MaterialLotID)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_MaterialSubLotTypeEnd_of_s1_MaterialInform...                                             
     P ation...                                                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:QAMaterialTestSpecification                                                
      * ==================================================================                          
     P s1_QAMaterialTestSpecificationTypeStart_of_s1...                                             
     P _MaterialInformation...                                                                      
     P                 B                                                                            
     D s1_QAMaterialTestSpecificationTypeStart_of_s1...                                             
     D _MaterialInformation...                                                                      
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_QAMaterialTestSpecification...                                                            
     D                 DS                  likeds(s1_RpgArrayOfQAMaterialTest...                    
     D                                     Specification_t)                                         
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_QAMaterialTestSpecificat...                    
     D                                     ionType_t)                                               
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_QAMaterialTestSpecificat...                    
     D                                     ionType_t)                                               
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_QAMaterialTestSpecification.x =                                                   
                  s1_QAMaterialTestSpecification.x + 1;                                             
            endif;                                                                                  
            x = s1_QAMaterialTestSpecification.x;                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_QAMaterialTestSpecification.QAMaterialTestSpecificationT...                    
            ype(x));                                                                                
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'QAMaterialTestSpecification'                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Name'                                                                       
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Name)                                                         
                  : %size(currentItem.Name)                                                         
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Description)                                                       
               : %paddr('xsd_string_of_string14Start_of_s1_QAMaterialTestSpecif+                    
               icationType')                                                                        
               : %paddr('xsd_string_of_string14End_of_s1_QAMaterialTestSpecific+                    
               ationType')                                                                          
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Version'                                                                    
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.Version)                                                      
                  : %size(currentItem.Version)                                                      
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'TestedMaterialClassProperty'                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.TestedMaterialClassProperty)                                       
               : %paddr('s1_TestedMaterialClassPropertyTypeStart_of_s1_QAMateri+                    
               alTestSpecificationType')                                                            
               : %paddr('s1_TestedMaterialClassPropertyTypeEnd_of_s1_QAMaterial+                    
               TestSpecificationType')                                                              
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'TestedMaterialDefinitionProperty'                                           
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.TestedMaterialDefinitionProperty)                                  
               : %paddr('s1_TestedMaterialDefinitionPropertyTypeStart_of_s1_QAM+                    
               aterialTestSpecificationType')                                                       
               : %paddr('s1_TestedMaterialDefinitionPropertyTypeEnd_of_s1_QAMat+                    
               erialTestSpecificationType')                                                         
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'TestedMaterialLotProperty'                                                  
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.TestedMaterialLotProperty)                                         
               : %paddr('s1_TestedMaterialLotPropertyTypeStart_of_s1_QAMaterial+                    
               TestSpecificationType')                                                              
               : %paddr('s1_TestedMaterialLotPropertyTypeEnd_of_s1_QAMaterialTe+                    
               stSpecificationType')                                                                
               );                                                                                   
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef13Start_of_s1_QAMaterialTestSpecificationType+                    
               ')                                                                                   
               : %paddr('s1_AnyRef13End_of_s1_QAMaterialTestSpecificationType')                     
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_QAMaterialTestSpecificationTypeStart_of_s1...                                             
     P _MaterialInformation...                                                                      
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:QAMaterialTestSpecification                                                
      * ==================================================================                          
     P s1_QAMaterialTestSpecificationTypeEnd_of_s1_M...                                             
     P aterialInformation...                                                                        
     P                 B                                                                            
     D s1_QAMaterialTestSpecificationTypeEnd_of_s1_M...                                             
     D aterialInformation...                                                                        
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_QAMaterialTestSpecification...                                                            
     D                 DS                  likeds(s1_RpgArrayOfQAMaterialTest...                    
     D                                     Specification_t)                                         
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_QAMaterialTestSpecificat...                    
     D                                     ionType_t)                                               
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_QAMaterialTestSpecification.x;                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_QAMaterialTestSpecification.QAMaterialTestSpecificationT...                    
            ype(x));                                                                                
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Name'                                                                       
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Name)                                                           
                  : %addr(currentItem.Name: *DATA)                                                  
                  : %size(currentItem.Name)                                                         
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Version'                                                                    
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.Version)                                                        
                  : %addr(currentItem.Version: *DATA)                                               
                  : %size(currentItem.Version)                                                      
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_QAMaterialTestSpecificationTypeEnd_of_s1_M...                                             
     P aterialInformation...                                                                        
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef13Start_of_s1_QAMaterialTestSpecific...                                             
     P ationType...                                                                                 
     P                 B                                                                            
     D s1_AnyRef13Start_of_s1_QAMaterialTestSpecific...                                             
     D ationType...                                                                                 
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny13_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef13Start_of_s1_QAMaterialTestSpecific...                                             
     P ationType...                                                                                 
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef13End_of_s1_QAMaterialTestSpecificat...                                             
     P ionType...                                                                                   
     P                 B                                                                            
     D s1_AnyRef13End_of_s1_QAMaterialTestSpecificat...                                             
     D ionType...                                                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny13_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef13End_of_s1_QAMaterialTestSpecificat...                                             
     P ionType...                                                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string14Start_of_s1_QAMaterialT...                                             
     P estSpecificationType...                                                                      
     P                 B                                                                            
     D xsd_string_of_string14Start_of_s1_QAMaterialT...                                             
     D estSpecificationType...                                                                      
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription9_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string14_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       S                   like(xsd_string_of_string14_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Description.x = s1_Description.x + 1;                                             
            endif;                                                                                  
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string14Start_of_s1_QAMaterialT...                                             
     P estSpecificationType...                                                                      
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Description                                                                
      * ==================================================================                          
     P xsd_string_of_string14End_of_s1_QAMaterialTes...                                             
     P tSpecificationType...                                                                        
     P                 B                                                                            
     D xsd_string_of_string14End_of_s1_QAMaterialTes...                                             
     D tSpecificationType...                                                                        
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Description  DS                  likeds(s1_RpgArrayOfDescription9_t)                      
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     S                   like(xsd_string_of_string14_t)                           
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Description.x;                                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Description.string(x));                                            
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (g_isAXIS_2095                                                                        
                and                                                                                 
                name = 'QAMaterialTestSpecification'                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300')                                   
                or (not g_isAXIS_2095                                                               
                and                                                                                 
                name = 'Description'                                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem)                                                                
                  : %addr(currentItem: *DATA)                                                       
                  : %size(currentItem)                                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P xsd_string_of_string14End_of_s1_QAMaterialTes...                                             
     P tSpecificationType...                                                                        
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:TestedMaterialClassProperty                                                
      * ==================================================================                          
     P s1_TestedMaterialClassPropertyTypeStart_of_s1...                                             
     P _QAMaterialTestSpecificationType...                                                          
     P                 B                                                                            
     D s1_TestedMaterialClassPropertyTypeStart_of_s1...                                             
     D _QAMaterialTestSpecificationType...                                                          
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_TestedMaterialClassProperty...                                                            
     D                 DS                  likeds(s1_RpgArrayOfTestedMaterial...                    
     D                                     ClassProperty_t)                                         
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_TestedMaterialClassPrope...                    
     D                                     rtyType_t)                                               
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_TestedMaterialClassPrope...                    
     D                                     rtyType_t)                                               
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_TestedMaterialClassProperty.x =                                                   
                  s1_TestedMaterialClassProperty.x + 1;                                             
            endif;                                                                                  
            x = s1_TestedMaterialClassProperty.x;                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_TestedMaterialClassProperty.TestedMaterialClassPropertyT...                    
            ype(x));                                                                                
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'TestedMaterialClassProperty'                                                
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialClassID'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.MaterialClassID)                                              
                  : %size(currentItem.MaterialClassID)                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'PropertyID'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.PropertyID)                                                   
                  : %size(currentItem.PropertyID)                                                   
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef14Start_of_s1_TestedMaterialClassPropertyType+                    
               ')                                                                                   
               : %paddr('s1_AnyRef14End_of_s1_TestedMaterialClassPropertyType')                     
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_TestedMaterialClassPropertyTypeStart_of_s1...                                             
     P _QAMaterialTestSpecificationType...                                                          
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:TestedMaterialClassProperty                                                
      * ==================================================================                          
     P s1_TestedMaterialClassPropertyTypeEnd_of_s1_Q...                                             
     P AMaterialTestSpecificationType...                                                            
     P                 B                                                                            
     D s1_TestedMaterialClassPropertyTypeEnd_of_s1_Q...                                             
     D AMaterialTestSpecificationType...                                                            
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_TestedMaterialClassProperty...                                                            
     D                 DS                  likeds(s1_RpgArrayOfTestedMaterial...                    
     D                                     ClassProperty_t)                                         
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_TestedMaterialClassPrope...                    
     D                                     rtyType_t)                                               
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_TestedMaterialClassProperty.x;                                                   
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_TestedMaterialClassProperty.TestedMaterialClassPropertyT...                    
            ype(x));                                                                                
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialClassID'                                                            
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.MaterialClassID)                                                
                  : %addr(currentItem.MaterialClassID: *DATA)                                       
                  : %size(currentItem.MaterialClassID)                                              
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'PropertyID'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.PropertyID)                                                     
                  : %addr(currentItem.PropertyID: *DATA)                                            
                  : %size(currentItem.PropertyID)                                                   
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_TestedMaterialClassPropertyTypeEnd_of_s1_Q...                                             
     P AMaterialTestSpecificationType...                                                            
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef14Start_of_s1_TestedMaterialClassPro...                                             
     P pertyType...                                                                                 
     P                 B                                                                            
     D s1_AnyRef14Start_of_s1_TestedMaterialClassPro...                                             
     D pertyType...                                                                                 
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny14_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef14Start_of_s1_TestedMaterialClassPro...                                             
     P pertyType...                                                                                 
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef14End_of_s1_TestedMaterialClassPrope...                                             
     P rtyType...                                                                                   
     P                 B                                                                            
     D s1_AnyRef14End_of_s1_TestedMaterialClassPrope...                                             
     D rtyType...                                                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny14_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef14End_of_s1_TestedMaterialClassPrope...                                             
     P rtyType...                                                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:TestedMaterialDefinitionProperty                                           
      * ==================================================================                          
     P s1_TestedMaterialDefinitionPropertyTypeStart_...                                             
     P of_s1_QAMaterialTestSpecificationType...                                                     
     P                 B                                                                            
     D s1_TestedMaterialDefinitionPropertyTypeStart_...                                             
     D of_s1_QAMaterialTestSpecificationType...                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_TestedMaterialDefinitionProperty...                                                       
     D                 DS                  likeds(s1_RpgArrayOfTestedMaterial...                    
     D                                     DefinitionProperty_t)                                    
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_TestedMaterialDefinition...                    
     D                                     PropertyType_t)                                          
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_TestedMaterialDefinition...                    
     D                                     PropertyType_t)                                          
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_TestedMaterialDefinitionProperty.x =                                              
                  s1_TestedMaterialDefinitionProperty.x + 1;                                        
            endif;                                                                                  
            x = s1_TestedMaterialDefinitionProperty.x;                                              
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_TestedMaterialDefinitionProperty.TestedMaterialDefinitio...                    
            nPropertyType(x));                                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'TestedMaterialDefinitionProperty'                                           
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialDefinitionID'                                                       
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.MaterialDefinitionID)                                         
                  : %size(currentItem.MaterialDefinitionID)                                         
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'PropertyID'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.PropertyID)                                                   
                  : %size(currentItem.PropertyID)                                                   
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef15Start_of_s1_TestedMaterialDefinitionPropert+                    
               yType')                                                                              
               : %paddr('s1_AnyRef15End_of_s1_TestedMaterialDefinitionPropertyT+                    
               ype')                                                                                
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_TestedMaterialDefinitionPropertyTypeStart_...                                             
     P of_s1_QAMaterialTestSpecificationType...                                                     
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:TestedMaterialDefinitionProperty                                           
      * ==================================================================                          
     P s1_TestedMaterialDefinitionPropertyTypeEnd_of...                                             
     P _s1_QAMaterialTestSpecificationType...                                                       
     P                 B                                                                            
     D s1_TestedMaterialDefinitionPropertyTypeEnd_of...                                             
     D _s1_QAMaterialTestSpecificationType...                                                       
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_TestedMaterialDefinitionProperty...                                                       
     D                 DS                  likeds(s1_RpgArrayOfTestedMaterial...                    
     D                                     DefinitionProperty_t)                                    
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_TestedMaterialDefinition...                    
     D                                     PropertyType_t)                                          
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_TestedMaterialDefinitionProperty.x;                                              
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_TestedMaterialDefinitionProperty.TestedMaterialDefinitio...                    
            nPropertyType(x));                                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialDefinitionID'                                                       
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.MaterialDefinitionID)                                           
                  : %addr(currentItem.MaterialDefinitionID: *DATA)                                  
                  : %size(currentItem.MaterialDefinitionID)                                         
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'PropertyID'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.PropertyID)                                                     
                  : %addr(currentItem.PropertyID: *DATA)                                            
                  : %size(currentItem.PropertyID)                                                   
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_TestedMaterialDefinitionPropertyTypeEnd_of...                                             
     P _s1_QAMaterialTestSpecificationType...                                                       
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef15Start_of_s1_TestedMaterialDefiniti...                                             
     P onPropertyType...                                                                            
     P                 B                                                                            
     D s1_AnyRef15Start_of_s1_TestedMaterialDefiniti...                                             
     D onPropertyType...                                                                            
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny15_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef15Start_of_s1_TestedMaterialDefiniti...                                             
     P onPropertyType...                                                                            
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef15End_of_s1_TestedMaterialDefinition...                                             
     P PropertyType...                                                                              
     P                 B                                                                            
     D s1_AnyRef15End_of_s1_TestedMaterialDefinition...                                             
     D PropertyType...                                                                              
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny15_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef15End_of_s1_TestedMaterialDefinition...                                             
     P PropertyType...                                                                              
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:TestedMaterialLotProperty                                                  
      * ==================================================================                          
     P s1_TestedMaterialLotPropertyTypeStart_of_s1_Q...                                             
     P AMaterialTestSpecificationType...                                                            
     P                 B                                                                            
     D s1_TestedMaterialLotPropertyTypeStart_of_s1_Q...                                             
     D AMaterialTestSpecificationType...                                                            
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_TestedMaterialLotProperty...                                                              
     D                 DS                  likeds(s1_RpgArrayOfTestedMaterial...                    
     D                                     LotProperty_t)                                           
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_TestedMaterialLotPropert...                    
     D                                     yType_t)                                                 
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_TestedMaterialLotPropert...                    
     D                                     yType_t)                                                 
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_TestedMaterialLotProperty.x =                                                     
                  s1_TestedMaterialLotProperty.x + 1;                                               
            endif;                                                                                  
            x = s1_TestedMaterialLotProperty.x;                                                     
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_TestedMaterialLotProperty.TestedMaterialLotPropertyType(                       
            x));                                                                                    
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'TestedMaterialLotProperty'                                                  
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialLotID'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.MaterialLotID)                                                
                  : %size(currentItem.MaterialLotID)                                                
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'PropertyID'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            // Value is retrieved in corresponding END procedure                                    
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem.PropertyID)                                                   
                  : %size(currentItem.PropertyID)                                                   
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(currentItem.Any)                                                               
               : %paddr('s1_AnyRef16Start_of_s1_TestedMaterialLotPropertyType')                     
               : %paddr('s1_AnyRef16End_of_s1_TestedMaterialLotPropertyType')                       
               );                                                                                   
            return;                                                                                 
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_TestedMaterialLotPropertyTypeStart_of_s1_Q...                                             
     P AMaterialTestSpecificationType...                                                            
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:TestedMaterialLotProperty                                                  
      * ==================================================================                          
     P s1_TestedMaterialLotPropertyTypeEnd_of_s1_QAM...                                             
     P aterialTestSpecificationType...                                                              
     P                 B                                                                            
     D s1_TestedMaterialLotPropertyTypeEnd_of_s1_QAM...                                             
     D aterialTestSpecificationType...                                                              
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_TestedMaterialLotProperty...                                                              
     D                 DS                  likeds(s1_RpgArrayOfTestedMaterial...                    
     D                                     LotProperty_t)                                           
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_TestedMaterialLotPropert...                    
     D                                     yType_t)                                                 
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_TestedMaterialLotProperty.x;                                                     
         endif;                                                                                     
                                                                                                    
         pCurrentItem =                                                                             
            %addr(s1_TestedMaterialLotProperty.TestedMaterialLotPropertyType(                       
            x));                                                                                    
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'MaterialLotID'                                                              
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.MaterialLotID)                                                  
                  : %addr(currentItem.MaterialLotID: *DATA)                                         
                  : %size(currentItem.MaterialLotID)                                                
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'PropertyID'                                                                 
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (not Value_isNil(attrs));                                                            
               UnMarshaller_toStringV6(                                                             
                  %addr(currentItem.PropertyID)                                                     
                  : %addr(currentItem.PropertyID: *DATA)                                            
                  : %size(currentItem.PropertyID)                                                   
                  : itemValue.pData                                                                 
                  : itemValue.size);                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_TestedMaterialLotPropertyTypeEnd_of_s1_QAM...                                             
     P aterialTestSpecificationType...                                                              
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef16Start_of_s1_TestedMaterialLotPrope...                                             
     P rtyType...                                                                                   
     P                 B                                                                            
     D s1_AnyRef16Start_of_s1_TestedMaterialLotPrope...                                             
     D rtyType...                                                                                   
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny16_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D emptyItem       DS                  likeds(s1_AnyType_t)                                     
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            if (depth = 1);                                                                         
               s1_Any.x = s1_Any.x + 1;                                                             
            endif;                                                                                  
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         select;                                                                                    
         when (depth = 1                                                                            
                and                                                                                 
                name = 'Any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
            if (MultiRef_isReference(attrs));                                                       
               MultiRef_put(                                                                        
                  attrs                                                                             
                  : XMLSAXParser_getUserData()                                                      
                  : depth                                                                           
                  : namespace                                                                       
                  : name                                                                            
                  : path                                                                            
                  : XMLSAXParser_getStartCallback()                                                 
                  : XMLSAXParser_getEndCallback()                                                   
                  : x                                                                               
                  : %addr(currentItem)                                                              
                  : %size(currentItem)                                                              
                  );                                                                                
            endif;                                                                                  
            return;                                                                                 
                                                                                                    
         other;                                                                                     
            // process elements because of the                                                      
            // <any> element in the wsdl file:                                                      
            if (depth = 2);                                                                         
               Any_initializeV6(                                                                    
                  %addr(currentItem.any)                                                            
                  : %addr(currentItem.any: *DATA)                                                   
                  : %size(currentItem.any));                                                        
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(currentItem.any)                                                            
                  : %paddr('WSDL2R98_Any_start')                                                    
                  : %paddr('WSDL2R98_Any_end')                                                      
                  );                                                                                
            endif;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef16Start_of_s1_TestedMaterialLotPrope...                                             
     P rtyType...                                                                                   
     P                 E                                                                            
      *                                                                                             
      * ==================================================================                          
      * Return value: s1:Any                                                                        
      * ==================================================================                          
     P s1_AnyRef16End_of_s1_TestedMaterialLotPropert...                                             
     P yType...                                                                                     
     P                 B                                                                            
     D s1_AnyRef16End_of_s1_TestedMaterialLotPropert...                                             
     D yType...                                                                                     
     D                 PI                                                                           
     D  userdata                       *   value                                                    
     D  depth                        10I 0 value                                                    
     D  namespace                  1024A   varying const                                            
     D  name                       1024A   varying const                                            
     D  path                      24576A   varying const                                            
     D  value                     65535A   varying                                                  
     D  attrs                          *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D x               S             10I 0 inz                                                      
      *                                                                                             
     D s1_Any          DS                  likeds(s1_RpgArrayOfAny16_t)                             
     D                                     based(userdata)                                          
      *                                                                                             
     D currentItem     DS                  likeds(s1_AnyType_t)                                     
     D                                     based(pCurrentItem)                                      
      *                                                                                             
     D itemValue       DS                  likeds(wsdl_fullElementData_t)                           
     D                                     inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                           
      /free                                                                                         
                                                                                                    
         // Get access to current array item                                                        
         if (MultiRef_doCaptureData() and MultiRef_hasItemIndex());                                 
            x = MultiRef_getItemIndex();                                                            
         else;                                                                                      
            x = s1_Any.x;                                                                           
         endif;                                                                                     
                                                                                                    
         pCurrentItem = %addr(s1_Any.item(x));                                                      
                                                                                                    
         // Get full element data                                                                   
         itemValue = XMLSAXParser_getFullElementData();                                             
                                                                                                    
         select;                                                                                    
         when (depth = 2                                                                            
                and                                                                                 
                name = 'any'                                                                        
                and                                                                                 
                namespace = 'http://www.wbf.org/xml/b2mml-v0300');                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P s1_AnyRef16End_of_s1_TestedMaterialLotPropert...                                             
     P yType...                                                                                     
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Reopens a given input stream in order to send it over                                     
      *   the wire again.                                                                           
      * =====================================================================                       
     P reOpenInputStream...                                                                         
 ERR P                 B                                                                            
      *                                                                                             
     D reOpenInputStream...                                                                         
     D                 PI                         like(wsdl_hStream_t    )                          
     D  i_hDataSource                      const  like(wsdl_hDataSource_t)                          
     D  i_hInpStream                       value  like(wsdl_hStream_t    )                          
      *                                                                                             
      *  Return value                                                                               
     D hInpStream      S                   like(wsdl_hStream_t       ) inz                          
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         ManagedMemoryDataSource_InputStream_close(i_hInpStream);                                   
         hInpStream =                                                                               
               ManagedMemoryDataSource_InputStream_open(i_hDataSource);                             
                                                                                                    
         return hInpStream;                                                                         
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P reOpenInputStream...                                                                         
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Login in to proxy server or http server.                                                  
      * =====================================================================                       
     P login...                                                                                     
     P                 B                                                                            
      *                                                                                             
     D login...                                                                                     
     D                 PI            10I 0                                                          
     D  i_http_err                   10I 0 value                                                    
     D  i_numAttempts                10I 0 value                                                    
      *                                                                                             
      *  Return value                                                                               
     D rc              S             10I 0 inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         http_DebugLog_appendText(                                                                  
         '** ' + %char(%timestamp()) + ': Requesting user name and password');                      
                                                                                                    
         rc = MaterialInformationSoap_Port_login(                                                   
                    i_http_err: i_numAttempts);                                                     
                                                                                                    
         return rc;                                                                                 
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P login...                                                                                     
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Sets the content type and the SOAP action of the POST message.                            
      * =====================================================================                       
     P HTTP_setContentTypeAndSOAPAction...                                                          
     P                 B                                                                            
      *                                                                                             
     D HTTP_setContentTypeAndSOAPAction...                                                          
     D                 PI                                                                           
     D  o_addlHdrs                 1024A          varying                                           
     D  i_pUserData                    *   value                                                    
      *                                                                                             
      *  User Data                                                                                  
     D headers         DS                  likeds(headers_t) based(i_pUserData)                     
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         o_addlHdrs = cHTTP_HEADER_CONTENT_TYPE + ': ' +                                            
                      headers.contentType + cEBCDIC_CRLF +                                          
                      cHTTP_HEADER_SOAP_ACTION + ': ' +                                             
                      headers.soapAction + cEBCDIC_CRLF;                                            
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P HTTP_setContentTypeAndSOAPAction...                                                          
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Receice response of HTTP post operation.                                                  
      * =====================================================================                       
     P HTTP_receiveResponse...                                                                      
     P                 B                                                                            
      *                                                                                             
     D HTTP_receiveResponse...                                                                      
     D                 PI            10I 0                                                          
     D  i_hStream                    10I 0 value                                                    
     D  i_data                         *   value                                                    
     D  i_length                     10I 0 value                                                    
      *                                                                                             
     D rc              S             10I 0 inz(-1)                                                  
     D contentType     S           1024A   inz                                                      
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         http_DebugLog_appendText(                                                                  
         '** ' + %char(%timestamp()) + ': Entering ' + f_this() + '()');                            
                                                                                                    
         if (not g_HTTP_isInit);                                                                    
            select;                                                                                 
            when (http_getContentType() = 'text');                                                  
               if (http_getContentSubType() = 'html');                                              
                  if (f_exist('WSDL2RPG': '*LIBL': '*MSGF'));                                       
                     clear USR0030;                                                                 
                     USR00301 = getPortName();                                                      
                     AppMsg_sendCancelMsg(AppMsg_newError('USR0030': USR0030));                     
                  else;                                                                             
                     AppMsg_sendCancelMsg(                                                          
                        f_newMsg('CPF9898'                                                          
                              : 'Unexpected HTML data received from web service'                    
                              : '*ESCAPE'                                                           
                              : 'QCPFMSG'));                                                        
                  endif;                                                                            
               endif;                                                                               
            when (http_getContentType() = 'multipart');                                             
               contentType = %trim(http_header('content-type'));                                    
               MIMEParser_beginParse(g_hMIMEParser);                                                
               MIMEParser_setContentType(g_hMIMEParser: contentType);                               
               g_SOAPMessageID = http_getContentTypeAttr('start': cTrue);                           
               g_isMimeMessage = cTrue;                                                             
               http_DebugLog_appendText(                                                            
               '** ' + %char(%timestamp()) + ': Detected MIME message');                            
            endsl;                                                                                  
            g_HTTP_isInit = cTrue;                                                                  
         endif;                                                                                     
                                                                                                    
         if (g_isMimeMessage);                                                                      
            if (MIMEParser_parse(g_hMIMEParser: i_data: i_length) = cTrue);                         
               rc = i_length;                                                                       
            else;                                                                                   
               rc = -1;                                                                             
               http_DebugLog_appendText(                                                            
               '** '+ %char(%timestamp()) +': Failed parsing MIME message');                        
            endif;                                                                                  
         else;                                                                                      
            if (XMLSAXParser_parse(g_hSAXParser: i_data: i_length) = cTrue);                        
               rc = i_length;                                                                       
            else;                                                                                   
               rc = -1;                                                                             
               http_DebugLog_appendText(                                                            
               '** '+ %char(%timestamp()) +': Failed parsing XML message');                         
            endif;                                                                                  
         endif;                                                                                     
                                                                                                    
         http_DebugLog_appendText(                                                                  
         '** ' + %char(%timestamp()) + ': Leaving ' + f_this() + '()');                             
                                                                                                    
         return rc;                                                                                 
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P HTTP_receiveResponse...                                                                      
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Starts a MIME body part.                                                                  
      *   This procedure is called whenever a new part is started.                                  
      * =====================================================================                       
      *   Parameters:                                                                               
      *     i_pPart            Handle of the current part.                                          
      *     i_pUserData        Pointer to user data as specified at                                 
      *                        http_mime_DataSink_initialize().                                     
      * =====================================================================                       
     P HTTPDataSink_startPart...                                                                    
     P                 B                                                                            
      *                                                                                             
     D HTTPDataSink_startPart...                                                                    
     D                 PI                                                                           
     D  i_pPart                        *   const                                                    
     D  i_pUserData                    *   const                                                    
      *                                                                                             
     D contentID       S            512A   varying inz                                              
     D contentSubType  S             16A   varying inz                                              
      *                                                                                             
      * -------------------------------------------                                                 
      *  TODO: Add fields to open                                                                   
      *        the file and to store the                                                            
      *        file descriptor.                                                                     
      * -------------------------------------------                                                 
      /IF DEFINED(DEFAULT_ATTACHMENT_HANDLING)                                                      
     D contentType     S             10I 0 inz                                                      
     D fileName        S           1024A   varying inz                                              
     D fileExt         S             10A   varying inz                                              
      *                                                                                             
     D partUserData    DS                  likeds(partUserData_t )                                  
     D                                     based(pPartUserData)                                     
      /ENDIF                                                                                        
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         if (http_mime_Part_getType(i_pPart) <> cMIME_BASICPART);                                   
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         g_BodyPart_counter = g_BodyPart_counter + 1;                                               
                                                                                                    
         contentID      = http_mime_Part_getContentID(i_pPart);                                     
         contentSubType = http_mime_Part_getContentSubType(i_pPart);                                
                                                                                                    
         if (not g_SOAPMessage_done);                                                               
            if (g_SOAPMessageID <> '');                                                             
               if (contentSubType = 'xml' and contentID = g_SOAPMessageID);                         
                  g_doParseSOAPMessage = cTrue;                                                     
                  return;                                                                           
               endif;                                                                               
            else;                                                                                   
               if (g_BodyPart_counter = 1);                                                         
                  g_doParseSOAPMessage = cTrue;                                                     
                  return;                                                                           
               endif;                                                                               
            endif;                                                                                  
         endif;                                                                                     
                                                                                                    
         // -----------------------------------------                                               
         // TODO:                                                                                   
         // Add your code to handle attachments here!                                               
         // E.g.: Open output file.                                                                 
         // -----------------------------------------                                               
      /IF DEFINED(DEFAULT_ATTACHMENT_HANDLING)                                                      
                                                                                                    
         // Ignore all attachments that are not a BasicPart                                         
         if (http_mime_Part_getType(i_pPart) <> cMIME_BASICPART);                                   
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         fileName       = http_mime_Part_getFileName(i_pPart);                                      
         contentID      = http_mime_Part_getContentID(i_pPart);                                     
         contentType    = http_mime_Part_getContentType(i_pPart);                                   
         contentSubType = http_mime_Part_getContentSubType(i_pPart);                                
                                                                                                    
         if (contentType = cMIME_TYPE_TEXT);                                                        
            fileExt = 'txt';                                                                        
         else;                                                                                      
            fileExt = contentSubType;                                                               
         endif;                                                                                     
                                                                                                    
         fileName = MaterialInformationSoap_Attachments_getFolder()                                 
                    + %char(%timestamp()) + '_' + contentID + '_'                                   
                    + fileName  + '.' + fileExt;                                                    
         fileName = %xlate(':<>': '___': fileName);                                                 
                                                                                                    
         // Assign filename to content-ID and put it into the list of attachments                   
         MaterialInformationSoap_Attachments_put(                                                   
               contentID                                                                            
               : fileName                                                                           
               : getOperationUuid());                                                               
                                                                                                    
         // Produce the user data of that Part to                                                   
         // store the file descriptor of the open file.                                             
         pPartUserData = %alloc(%size(partUserData_t));                                             
         clear partUserData;                                                                        
                                                                                                    
         partUserData.FD = open(fileName                                                            
                                : O_CREAT + O_EXCL +                                                
                                  O_SHARE_RDONLY + O_WRONLY + O_CCSID                               
                                : S_IRWXU + S_IRWXG + S_IRWXO                                       
                                : 819);   // CCSID does not matter because                          
                                          // we write binary data                                   
                                                                                                    
         // Set user data of the current Part.                                                      
         http_mime_Part_setUserData(i_pPart: pPartUserData);                                        
      /ENDIF                                                                                        
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P HTTPDataSink_startPart...                                                                    
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Receices MIME part body data.                                                             
      *   This procedure is called whenever new body data is available.                             
      * =====================================================================                       
      *   Parameters:                                                                               
      *     i_pPart            Handle of the current part.                                          
      *     i_pUserData        Pointer to user data as specified at                                 
      *                        http_mime_DataSink_initialize().                                     
      *     i_data             Pointer to decoded body data.                                        
      *     i_size             Size of decoded body data.                                           
      * =====================================================================                       
     P HTTPDataSink_bodyData...                                                                     
     P                 B                                                                            
      *                                                                                             
     D HTTPDataSink_bodyData...                                                                     
     D                 PI                                                                           
     D  i_pPart                        *   const                                                    
     D  i_pUserData                    *   const                                                    
     D  i_data                         *   const                                                    
     D  i_size                       10I 0 const                                                    
      *                                                                                             
      * -------------------------------------------                                                 
      *  TODO: Add fields to write                                                                  
      *        the attachment to the file                                                           
      *        opened in HTTPDataSink_startPart().                                                  
      * -------------------------------------------                                                 
      /IF DEFINED(DEFAULT_ATTACHMENT_HANDLING)                                                      
     D rc              S             10I 0 inz                                                      
      *                                                                                             
     D partUserData    DS                  likeds(partUserData_t )                                  
     D                                     based(pPartUserData)                                     
      /ENDIF                                                                                        
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         if (g_doParseSOAPMessage);                                                                 
            XMLSAXParser_parse(g_hSAXParser: i_data: i_size);                                       
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         // -----------------------------------------                                               
         // TODO:                                                                                   
         // Add your code to handle attachments here!                                               
         // E.g.: Write received data to output file.                                               
         // -----------------------------------------                                               
                                                                                                    
      /IF DEFINED(DEFAULT_ATTACHMENT_HANDLING)                                                      
         // Gain access to the user data of the current Part.                                       
         pPartUserData = http_mime_Part_getUserData(i_pPart);                                       
         if (pPartUserData = *NULL);                                                                
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         // Return to caller if no file is open.                                                    
         if (partUserData.FD <= 0);                                                                 
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         // Append attachment data to the file.                                                     
         rc = write(partUserData.FD: i_data: i_size);                                               
      /ENDIF                                                                                        
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P HTTPDataSink_bodyData...                                                                     
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Ends a MIME body part.                                                                    
      *   This procedure is called whenever a new part ends.                                        
      * =====================================================================                       
      *   Parameters:                                                                               
      *     i_pPart            Handle of the current part.                                          
      *     i_pUserData        Pointer to user data as specified at                                 
      *                        http_mime_DataSink_initialize().                                     
      * =====================================================================                       
     P HTTPDataSink_endPart...                                                                      
     P                 B                                                                            
      *                                                                                             
     D HTTPDataSink_endPart...                                                                      
     D                 PI                                                                           
     D  i_pPart                        *   const                                                    
     D  i_pUserData                    *   const                                                    
      *                                                                                             
      * -------------------------------------------                                                 
      *  TODO: Add fields to close the file                                                         
      *        opened in HTTPDataSink_startPart().                                                  
      * -------------------------------------------                                                 
      /IF DEFINED(DEFAULT_ATTACHMENT_HANDLING)                                                      
     D rc              S             10I 0 inz                                                      
      *                                                                                             
     D partUserData    DS                  likeds(partUserData_t )                                  
     D                                     based(pPartUserData)                                     
      /ENDIF                                                                                        
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         if (http_mime_Part_getType(i_pPart) <> cMIME_BASICPART);                                   
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         if (g_doParseSOAPMessage);                                                                 
            g_doParseSOAPMessage = cFalse;                                                          
            g_SOAPMessage_done   = cTrue;                                                           
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         // -----------------------------------------                                               
         // TODO:                                                                                   
         // Add your code to handle attachments here!                                               
         // E.g.: Close output file.                                                                
         // -----------------------------------------                                               
      /IF DEFINED(DEFAULT_ATTACHMENT_HANDLING)                                                      
                                                                                                    
         // Gain access to the user data of the current Part.                                       
         pPartUserData = http_mime_Part_getUserData(i_pPart);                                       
         if (pPartUserData = *NULL);                                                                
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         // Return to caller if no file is open.                                                    
         if (partUserData.FD <= 0);                                                                 
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         // Close the file.                                                                         
         callp close(partUserData.FD);                                                              
         partUserData.FD = 0;                                                                       
                                                                                                    
         // Free memory allocated in HTTPDataSink_startPart()                                       
         dealloc(N) pPartUserData;                                                                  
      /ENDIF                                                                                        
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P HTTPDataSink_endPart...                                                                      
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   SOAP message: Envelope                                                                    
      * =====================================================================                       
     P SOAPMessage_Envelope...                                                                      
     P                 B                                                                            
      *                                                                                             
     D SOAPMessage_Envelope...                                                                      
     D                 PI                                                                           
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         if (depth = 1 and f_lcase(name) = 'html');                                                 
            if (f_exist('WSDL2RPG': '*LIBL': '*MSGF'));                                             
               clear USR0030;                                                                       
               USR00301 = getPortName();                                                            
               AppMsg_sendCancelMsg(AppMsg_newError('USR0030': USR0030));                           
            else;                                                                                   
               AppMsg_sendCancelMsg(                                                                
                     f_newMsg('CPF9898'                                                             
                              : 'Unexpected HTML data received from web service'                    
                              : '*ESCAPE'                                                           
                              : 'QCPFMSG'));                                                        
            endif;                                                                                  
         endif;                                                                                     
                                                                                                    
         select;                                                                                    
         when (path = '/Envelope/Header');                                                          
            XMLSAXParser_delegateElementProcessing(                                                 
               g_pRespSoapHeader                                                                    
               : %paddr('SOAPMessage_unexpectedElementStart')                                       
               : %paddr('SOAPMessage_unexpectedElementEnd'));                                       
           return;                                                                                  
                                                                                                    
         when (path = '/Envelope/Body');                                                            
                                                                                                    
            select;                                                                                 
            when (name = 'Fault');                                                                  
               XMLSAXParser_delegateElementProcessing(                                              
                  %addr(g_errors.soapFault)                                                         
                  : %paddr('SOAPMessage_FaultStart')                                                
                  : %paddr('SOAPMessage_FaultEnd'));                                                
              return;                                                                               
                                                                                                    
            when (MultiRef_isData(attrs));                                                          
               XMLSAXParser_delegateElementProcessing(                                              
                  *NULL                                                                             
                  : MultiRef_getStartCallback()                                                     
                  : MultiRef_getEndCallback());                                                     
               return;                                                                              
                                                                                                    
            other;                                                                                  
               XMLSAXParser_delegateElementProcessing(                                              
                  userdata                                                                          
                  : %paddr('tns_ProcessMaterialInformationResponseStart')                           
                  : %paddr('tns_ProcessMaterialInformationResponseEnd'));                           
              return;                                                                               
            endsl;                                                                                  
                                                                                                    
         endsl;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P SOAPMessage_Envelope...                                                                      
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   SOAP message: fault information                                                           
      * =====================================================================                       
     P SOAPMessage_FaultStart...                                                                    
     P                 B                                                                            
      *                                                                                             
     D SOAPMessage_FaultStart...                                                                    
     D                 PI                                                                           
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D fault...                                                                                     
     D                 DS                  based(userdata)                                          
     D                                     likeds(wsdl_soapFault_t )                                
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         if (depth = 1);                                                                            
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         select;                                                                                    
         when (name = 'detail');                                                                    
            XMLSAXParser_delegateElementProcessing(                                                 
               %addr(fault.detail)                                                                  
               : %paddr('SOAPMessage_FaultDetailStart')                                             
               : %paddr('SOAPMessage_FaultDetailEnd'));                                             
         endsl;                                                                                     
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P SOAPMessage_FaultStart...                                                                    
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   SOAP message: fault information                                                           
      * =====================================================================                       
     P SOAPMessage_FaultEnd...                                                                      
     P                 B                                                                            
      *                                                                                             
     D SOAPMessage_FaultEnd...                                                                      
     D                 PI                                                                           
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   value                    65535A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D fault...                                                                                     
     D                 DS                  based(userdata)                                          
     D                                     likeds(wsdl_soapFault_t )                                
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         if (depth = 1);                                                                            
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         select;                                                                                    
         when (name = 'faultcode');                                                                 
            fault.code = value;                                                                     
         when (name = 'faultstring');                                                               
            fault.string = value;                                                                   
         endsl;                                                                                     
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P SOAPMessage_FaultEnd...                                                                      
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   SOAP message: fault details                                                               
      * =====================================================================                       
     P SOAPMessage_FaultDetailStart...                                                              
     P                 B                                                                            
      *                                                                                             
     D SOAPMessage_FaultDetailStart...                                                              
     D                 PI                                                                           
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D detail...                                                                                    
     D                 DS                  based(userdata)                                          
     D                                     likeds(wsdl_soap_faultDetail_t)                          
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         if (depth = 1);                                                                            
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         select;                                                                                    
         endsl;                                                                                     
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P SOAPMessage_FaultDetailStart...                                                              
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   SOAP message: fault details                                                               
      * =====================================================================                       
     P SOAPMessage_FaultDetailEnd...                                                                
     P                 B                                                                            
      *                                                                                             
     D SOAPMessage_FaultDetailEnd...                                                                
     D                 PI                                                                           
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   value                    65535A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      *                                                                                             
     D detail...                                                                                    
     D                 DS                  based(userdata)                                          
     D                                     likeds(wsdl_soap_faultDetail_t)                          
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         if (depth = 1);                                                                            
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         select;                                                                                    
         when (name = 'hostname');                                                                  
            detail.hostname = value;                                                                
         endsl;                                                                                     
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P SOAPMessage_FaultDetailEnd...                                                                
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   SOAP message: NULL callback procedure                                                     
      * =====================================================================                       
     P SOAPMessage_unexpectedElementStart...                                                        
     P                 B                                                                            
      *                                                                                             
     D SOAPMessage_unexpectedElementStart...                                                        
     D                 PI                                                                           
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         if (ignoreUnexpectedSoapHeader());                                                         
            http_DebugLog_appendText(                                                               
               'Warning: Received unexpected Soap header: <' + name + '>');                         
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         if (f_exist('WSDL2RPG': '*LIBL': '*MSGF'));                                                
            clear USR0042;                                                                          
            USR00421 = 'SOAPMessage_unexpectedElementStart';                                        
            USR00422 = 'SOAPMessage_unexpectedElementEnd';                                          
            AppMsg_sendCancelMsg(AppMsg_newError('USR0042': USR0042));                              
         else;                                                                                      
            AppMsg_sendCancelMsg(                                                                   
               f_newMsg('CPF9898'                                                                   
                     : 'Unexpected Soap element received from web service.'                         
                     : '*ESCAPE'                                                                    
                     : 'QCPFMSG'));                                                                 
         endif;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P SOAPMessage_unexpectedElementStart...                                                        
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   SOAP message: NULL callback procedure                                                     
      * =====================================================================                       
     P SOAPMessage_unexpectedElementEnd...                                                          
     P                 B                                                                            
      *                                                                                             
     D SOAPMessage_unexpectedElementEnd...                                                          
     D                 PI                                                                           
     D   userdata                      *   value                                                    
     D   depth                       10I 0 value                                                    
     D   namespace                 1024A   varying const                                            
     D   name                      1024A   varying const                                            
     D   path                     24576A   varying const                                            
     D   value                    65535A   varying const                                            
     D   attrs                         *   dim(32767)                                               
     D                                     const options(*varsize)                                  
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         if (ignoreUnexpectedSoapHeader());                                                         
            http_DebugLog_appendText(                                                               
               'Warning: Received unexpected Soap header: ' + value);                               
            http_DebugLog_appendText(                                                               
               'Warning: Received unexpected Soap header: </' + name + '>');                        
            return;                                                                                 
         endif;                                                                                     
                                                                                                    
         if (f_exist('WSDL2RPG': '*LIBL': '*MSGF'));                                                
            clear USR0042;                                                                          
            USR00421 = 'SOAPMessage_unexpectedElementStart';                                        
            USR00422 = 'SOAPMessage_unexpectedElementEnd';                                          
            AppMsg_sendCancelMsg(AppMsg_newError('USR0042': USR0042));                              
         else;                                                                                      
            AppMsg_sendCancelMsg(                                                                   
               f_newMsg('CPF9898'                                                                   
                     : 'Unexpected Soap element received from web service.'                         
                     : '*ESCAPE'                                                                    
                     : 'QCPFMSG'));                                                                 
         endif;                                                                                     
                                                                                                    
         return;                                                                                    
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P SOAPMessage_unexpectedElementEnd...                                                          
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Specifies, whether unexpected Soap headers are ignored or not.                            
      * =====================================================================                       
     P ignoreUnexpectedSoapHeader...                                                                
     P                 B                                                                            
      *                                                                                             
     D ignoreUnexpectedSoapHeader...                                                                
     D                 PI              N                                                            
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         return cFalse;                                                                             
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P ignoreUnexpectedSoapHeader...                                                                
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Returns the UUID of this web service operation.                                           
      *   All attachments and allocated memory block are attached to                                
      *   this UUID.                                                                                
      * =====================================================================                       
     P getOperationUuid...                                                                          
     P                 B                                                                            
      *                                                                                             
     D getOperationUuid...                                                                          
     D                 PI                          like(wsdl_uuid_t )                               
      *                                                                                             
      *  Return value                                                                               
     D uuid            S                   like(wsdl_uuid_t ) inz                                   
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         uuid = MaterialInformationSoap_Port_getUuid();                                             
                                                                                                    
         return uuid;                                                                               
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P getOperationUuid...                                                                          
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Returns the name of the web service port.                                                 
      * =====================================================================                       
     P getPortName...                                                                               
     P                 B                                                                            
      *                                                                                             
     D getPortName...                                                                               
     D                 PI                          like(wsdl_portName_t )                           
      *                                                                                             
      *  Return value                                                                               
     D name            S                   like(wsdl_portName_t ) inz                               
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         name = MaterialInformationSoap_Port_getName();                                             
                                                                                                    
         return name;                                                                               
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P getPortName...                                                                               
     P                 E                                                                            
      *                                                                                             
      * =====================================================================                       
      *   Returns the CCSID of the remote POST data.                                                
      * =====================================================================                       
     P getPostCcsid...                                                                              
     P                 B                                                                            
      *                                                                                             
     D getPostCcsid...                                                                              
     D                 PI            10I 0                                                          
      *                                                                                             
      *  Return value                                                                               
     D post_ccsid      S             10I 0 inz(1208)                                                
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                       
      /free                                                                                         
                                                                                                    
         post_ccsid = MaterialInformationSoap_Port_getPostCcsid();                                  
                                                                                                    
         return post_ccsid;                                                                         
                                                                                                    
      /end-free                                                                                     
      *                                                                                             
     P getPostCcsid...                                                                              
     P                 E                                                                            
      *                                                                                              
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------