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

Re: XMl parsing using XML-Into opcode on V5R4



The only real changes I made to your code were to remove the Dim from  
freightbillcommodity - from the document you sent it is not repeating  
- but I don't see that that was the problem.  The RPG code you posted  
did an XML-INTO freightbill - but I can't see any definition for that  
so I have to assume the source you sent was incomplete because as-is  
it won't compile.

I added the definition for freightbill based on what I found in the  
XML (guessing the field sizes) and changed the XML-INTO to reference a  
file - you were referencing a variable - which again was not shown in  
the sample you supplied - so it is possible that there was an error in  
the XML that caused the problems - I can't tell.

Anyway - this version works and I can see the content of all data  
elements in debug.

      D freightbill     Ds                  Qualified
      D  id                            1a
      D  Clientcode                   20a
      D  carriercode                  20a
      D  freightbillcommodities...
      D                                      
LikeDS(freightbillcommodities_t)

      D freightbillcommodities_t...
      D                 Ds                  Qualified

      D freightbillcommodity...
      D                                     likeds(FrBlComm_t) dim(2)

      D FrBlComm_t      Ds                  Qualified
      D  id                            5
      D  LineNumber                    5
      D  Description                  50
      D  Code                          5
      D  Commodityid                   5
      D  FBClass                       5
      D  Weight                        5
      D  Pieces                        5

       // D UIErrorsColl                        likeds(FrBlUIerr_t)  
dim(2)
      D UIErrorsColl                        likeds(FrBlUIerr_t)

      D FrBlUIerr_t     Ds                  Qualified
      D  CtlError                           Likeds(FrBiErrd) dim(2)

      D FrBiErrd        Ds                  Qualified
      D  ErrorCode                     5
      D  Source                        5
      D  ErrorMessage                 15
      D  ExtraMessage                 15
      D  Fatal                         5
       /free

        xml-into freightbill
              %XML('/Partner400/xmldata.xml' : 'case=any  
allowextra=yes +
                              allowmissing=yes');


Jon Paris

www.Partner400.com
www.SystemiDeveloper.com



On 13-Jul-09, at 4:00 PM, Nilesh Jokhakar wrote:

>
>   I'm trying to use XML-into opcode on V5R4 machine and having a hard
>   time in getting data in the data structure. Could anyone please shed
>   some light on the issue? The xml-into works fine upto "
>   freightbillcommodities. Freightbillcommodity"  array but can't get
>   remaining errors information in the data structure.
>
>
>
>   XML variable (xmldata) :
>
>
>   <freightbill
>
>    id = "0" Clientcode = "Sample" carriercode = "samplecar">
>
>
>   <freightbillcommodities>
>
>
>   <freightbillcommodity id="0" LineNumber="1" Description="IRON OR
>   STEEL" Code="19160.10000000" Commodityid="0" FBClass="100"
>   Weight="15000" Pieces="0">
>
>
>      <UIErrorsColl>
>
>       <CTLError>
>
>         <ErrorCode>FBVal</ErrorCode>
>
>         <Source>Commodity</Source>
>
>         <ErrorMessage>Unable to load commodity by code</ErrorMessage>
>
>         <ExtraMessage>19160.10000000</ExtraMessage>
>
>         <Fatal>true</Fatal>
>
>       </CTLError>
>
>
>       <CTLError>
>
>         <ErrorCode>FBVal</ErrorCode>
>
>         <Source>Commodity</Source>
>
>         <ErrorMessage>Unable to load commodity by code</ErrorMessage>
>
>         <ExtraMessage>19160.10000000</ExtraMessage>
>
>         <Fatal>true</Fatal>
>
>       </CTLError>
>
>
>      </UIErrorsColl>
>
>
>   </freightbillcommodity>
>
>
>   <freightbillcommodity id="1" LineNumber="2" Description="Hazmat
>   Products" Code="20000.20000000" Commodityid="0" FBClass="100"
>   Weight="15000" Pieces="0">
>
>
>      <UIErrorsColl>
>
>       <CTLError>
>
>         <ErrorCode>FBVal</ErrorCode>
>
>         <Source>Commodity</Source>
>
>         <ErrorMessage>Unable to load commodity by code</ErrorMessage>
>
>         <ExtraMessage>20000.20000000</ExtraMessage>
>
>         <Fatal>true</Fatal>
>
>       </CTLError>
>
>
>       <CTLError>
>
>         <ErrorCode>FBVal</ErrorCode>
>
>         <Source>Commodity</Source>
>
>         <ErrorMessage>Unable to load commodity by code</ErrorMessage>
>
>         <ExtraMessage>20000.20000000</ExtraMessage>
>
>         <Fatal>true</Fatal>
>
>       </CTLError>
>
>
>      </UIErrorsColl>
>
>
>   </freightbillcommodity>
>
>
>   </freightbillcommodities>
>
>   </freightbill>
>
>
>
>   RPG program
>
>
>   D freightbillcommodities...
>
>   D                                             Ds
>   Qualified
>
>   D freightbillcommodity...
>
>   D                                     likeds(FrBlComm_t) dim(2)
>
>
>
>   D FrBlComm_t      Ds                  Qualified
>
>   D id                             5
>
>   D LineNumber                     5
>
>   D Description                   50
>
>   D Code                           5
>
>   D Commodityid                    5
>
>   D FBClass                        5
>
>   D Weight                         5
>
>   D Pieces                         5
>
>   D UIErrorsColl                        likeds(FrBlUIerr_t) dim(2)
>
>
>
>   D FrBlUIerr_t     Ds                  Qualified
>
>   D CtlError                            Likeds(FrBiErrd) dim(2)
>
>
>
>   D FrBiErrd        Ds                  Qualified
>
>   D ErrorCode                      5
>
>   D Source                         5
>
>   D ErrorMessage                  15
>
>   D ExtraMessage                  15
>
>   D Fatal                          5
>
>
>   xml-into freightbill
>
>           %XML(xmldata : 'case=any allowextra=yes +
>
>                              allowmissing=yes');
>
>
>   xml-into freightbillcommodities.freightbillcommodity
>
>           %XML(xmldata : 'case=any allowextra=yes +
>
>                           allowmissing=yes path=freightbill/+
>
>      freightbillcommodities/freightbillcommodity');
>
>
>
>   Debug version
>
>
>   EVAL
>   freightbillcommodities
>
>   FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.ID(1) = '0
>   '
>
>   FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.LINENUMBER(1) = '1
>   '
>
>   FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.DESCRIPTION(1)
>   =
>
>            'IRON OR STEEL, SEE NOTE, ITEM 19162: WEIGHING
>   '
>
>   FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.CODE(1) =
>   '19160'
>
>   FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.COMMODITYID(1) = '0
>   '
>
>   FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.FBCLASS(1) = '100
>   '
>
>   FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.WEIGHT(1) =
>   '15000'
>
>   FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.PIECES(1) = '0
>   '
>
>    
> FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.UIERRORSCOLL.CTLERROR.ERRO
>   RCODE(1,1,1) =
>
>            '
>   '
>
>    
> FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.UIERRORSCOLL.CTLERROR.SOUR
>   CE(1,1,1) =
>
>            '
>   '
>
>    
> FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.UIERRORSCOLL.CTLERROR.ERRO
>   RMESSAGE(1,1,1) =
>
>            '
>   '
>
>    
> FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.UIERRORSCOLL.CTLERROR.EXTR
>   AMESSAGE(1,1,1) =
>
>            '
>   '
>
>    
> FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.UIERRORSCOLL.CTLERROR.FATA
>   L(1,1,1) =
>
>            '     '
>
>    
> FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.UIERRORSCOLL.CTLERROR.ERRO
>   RCODE(1,1,2) =
>
>            '
>   '
>
>    
> FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.UIERRORSCOLL.CTLERROR.SOUR
>   CE(1,1,2) =
>
>            '
>   '
>
>    
> FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.UIERRORSCOLL.CTLERROR.ERRO
>   RMESSAGE(1,1,2) =
>
>            '
>   '
>
>    
> FREIGHTBILLCOMMODITIES.FREIGHTBILLCOMMODITY.UIERRORSCOLL.CTLERROR.EXTR
>   AMESSAGE(1,1,2) =
>
>            '               '
>
>   LCOMMODITIES.FREIGHTBILLCOMMODITY.UIERRORSCOLL.CTLERROR.FATAL(1,1,2)
>   =
>
>
>   '
> -----------------------------------------------------------------------
> This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> -----------------------------------------------------------------------

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------