Quantcast
Channel: Net Express / Server Express - Forum - Recent Threads
Viewing all articles
Browse latest Browse all 191

Micro Focus Server Express 5.1 Wrap Pack 12 - xml reading gets looped and blends data.

$
0
0

When reading the xml tags, when the <ultimos> tag comes in 3 nodes and does not come in the room, the cobol generates a loop that blends the data, bringing data from the first into the 4 register.

In this case, the <ultimos> tag did not appear on the last node, and it generates a loop that blends the data.
If it comes, the program works normally.

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

resp.xml

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

<?xml version="1.0" encoding="UTF-8"?>
<empresarialplatinum>
<administradores>
<administradores_pf>
<administrador_pf>
<consultas>
<resumo>
<qtd_total>2</qtd_total>
<data_ultima>09022018</data_ultima>
</resumo>
<totais>
<consulta>2</consulta>
<credito>0</credito>
<cheque>0</cheque>
</totais>
<consulta_mes_vigente>
<data>08022018</data>
<quantidade>2</quantidade>
</consulta_mes_vigente>
<consultas_mes>
<mes_ano>012018</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>122017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>112017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>102017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>092017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>082017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>072017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>062017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>052017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>042017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>032017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>022017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<ultimos>
<consulta>
<data>07022018</data>
<empresa>SULAMERICA</empresa>
</consulta>
<consulta>
<data>07022018</data>
<empresa>BRADESCO SEGUROS/WSBAREBV-PROD</empresa>
</consulta>
</ultimos>
</consultas>
</administrador_pf>
<administrador_pf>
<consultas>
<resumo>
<qtd_total>1</qtd_total>
<data_ultima>09022018</data_ultima>
</resumo>
<totais>
<consulta>1</consulta>
<credito>0</credito>
<cheque>0</cheque>
</totais>
<consulta_mes_vigente>
<data>08022018</data>
</consulta_mes_vigente>
<consultas_mes>
<mes_ano>012018</mes_ano>
<quantidade>1</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>122017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>112017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>102017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>092017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>082017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>072017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>062017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>052017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>042017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>032017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>022017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<ultimos>
<consulta>
<data>31012018</data>
<empresa>BRADESCO SEGUROS/WSBAREBV-PROD</empresa>
</consulta>
</ultimos>
</consultas>
</administrador_pf>
<administrador_pf>
<consultas>
<resumo>
<qtd_total>4</qtd_total>
<data_ultima>09022018</data_ultima>
</resumo>
<totais>
<consulta>4</consulta>
<credito>0</credito>
<cheque>0</cheque>
</totais>
<consulta_mes_vigente>
<data>08022018</data>
<quantidade>1</quantidade>
</consulta_mes_vigente>
<consultas_mes>
<mes_ano>012018</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>122017</mes_ano>
<quantidade>1</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>112017</mes_ano>
<quantidade>2</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>102017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>092017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>082017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>072017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>062017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>052017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>042017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>032017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>022017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<ultimos>
<consulta>
<data>06022018</data>
<empresa>CAIXA ECONOMICA FEDERAL</empresa>
</consulta>
<consulta>
<data>29122017</data>
<empresa>CAIXA ECONOMICA FEDERAL</empresa>
</consulta>
<consulta>
<data>15112017</data>
<empresa>CAIXA ECONOMICA FEDERAL</empresa>
</consulta>
<consulta>
<data>14112017</data>
<empresa>CAIXA ECONOMICA FEDERAL</empresa>
</consulta>
</ultimos>
</consultas>
</administrador_pf>
<administrador_pf>
<consultas>
<resumo>
<qtd_total>0</qtd_total>
<data_ultima>08022018</data_ultima>
</resumo>
<totais>
<consulta>0</consulta>
<credito>0</credito>
<cheque>0</cheque>
</totais>
<consulta_mes_vigente>
<data>08022018</data>
<quantidade>0</quantidade>
</consulta_mes_vigente>
<consultas_mes>
<mes_ano>012018</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>122017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>112017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>102017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>092017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>082017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>072017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>062017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>052017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>042017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>032017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
<consultas_mes>
<mes_ano>022017</mes_ano>
<quantidade>0</quantidade>
</consultas_mes>
</consultas>
</administrador_pf>
</administradores_pf>
</administradores>
</empresarialplatinum>

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

lerefx77.cbl

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

      $set preprocess(prexml) nowarn endp
       IDENTIFICATION DIVISION.
       PROGRAM-ID.    LEREFX77.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
            DECIMAL-POINT IS COMMA.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.

           SELECT XML-FILE ASSIGN TO "resp.xml"
                  ORGANIZATION    IS XML
                  DOCUMENT-TYPE   IS OMITTED
                  FILE STATUS     IS XML-FILE-STATUS.

       DATA DIVISION.
       FILE SECTION.

       XD XML-FILE.
        01 XML-EFX33-XML IDENTIFIED BY "empresarialplatinum".
           02 XML-EFX33-036 IDENTIFIED BY "administradores".
              03 XML-EFX33-037-F-ADMS
                 IDENTIFIED BY "administradores_pf".
                 04 XML-EFX33-037-F-ADM
                    IDENTIFIED BY "administrador_pf".
                    05 XML-EFX33-037-FA-CONS
                       IDENTIFIED BY "consultas".
                       06 XML-EFX33-037-FACON-RES
                          IDENTIFIED BY "resumo".
                          07 XML-EFX33-037-FACONR-QTDE        PIC X(08)
                             IDENTIFIED BY "qtd_total".
                          07 XML-EFX33-037-FACONR-DATA        PIC X(08)
                             IDENTIFIED BY "data_ultima".
                       06 XML-EFX33-037-FACON-TOT
                          IDENTIFIED BY "totais".
                          07 XML-EFX33-037-FACONT-CON         PIC X(08)
                             IDENTIFIED BY "consulta".
                          07 XML-EFX33-037-FACONT-CRED        PIC X(08)
                             IDENTIFIED BY "credito".
                          07 XML-EFX33-037-FACONT-CH          PIC X(08)
                             IDENTIFIED BY "cheque".
                       06 XML-EFX33-037-FACON-VIG
                          IDENTIFIED BY "consulta_mes_vigente".
                          07 XML-EFX33-037-FACONV-DATA        PIC X(08)
                             IDENTIFIED BY "data".
                          07 XML-EFX33-037-FACONV-QTDE        PIC X(08)
                             IDENTIFIED BY "quantidade".
                       06 XML-EFX33-037-FACON-MES
                          IDENTIFIED BY "consultas_mes".
                          07 XML-EFX33-037-FACONM-DATA        PIC X(06)
                             IDENTIFIED BY "mes_ano".
                          07 XML-EFX33-037-FACONM-QTDE        PIC X(08)
                             IDENTIFIED BY "quantidade".
                       06 XML-EFX33-037-FACON-ULT
                          IDENTIFIED BY "ultimos".
                          07 XML-EFX33-037-FACONU-CON
                             IDENTIFIED BY "consulta".
                             08 XML-EFX33-037-FACONUC-DT      PIC X(08)
                                IDENTIFIED BY "data".
                             08 XML-EFX33-037-FACONUC-EMP     PIC X(50)
                                IDENTIFIED BY "empresa".
                             08 XML-EFX33-037-FACONUC-QT      PIC X(08)
                                IDENTIFIED BY "quantidade".
      *................................................................*
       WORKING-STORAGE SECTION.
       01 XML-FILE-STATUS           PIC S9(9) COMP.
       01 ERRO-XML                  PIC 9(9)     VALUE ZEROS.
       01 WK-MSG                    PIC X(250)   VALUE SPACES.
       01 WK-COUNT                  PIC 9(05)     VALUE ZEROS.
       01 OK                        PIC X        VALUE SPACES.
      *................................................................*
       PROCEDURE DIVISION.
       INICIO.
           OPEN INPUT XML-FILE
           IF XML-FILE-STATUS NOT = ZEROS
              MOVE XML-FILE-STATUS     TO ERRO-XML
              STRING "ERRO ABERTURA XML >> " ERRO-XML INTO WK-MSG
              GO TO FIM
           END-IF
           .

       LER-XML.
           READ XML-FILE
           IF XML-FILE-STATUS < 0
              EXHIBIT NAMED XML-FILE-STATUS
              GO TO FIM
           END-IF

           DISPLAY "Resposta da Consulta"
           DISPLAY "--------------------"
           DISPLAY "  "

           PERFORM LER-RESP
           IF ERRO-XML NOT = ZEROS
              GO TO FIM
           END-IF

           DISPLAY "FIM DO ARQUIVO"
           .

       FIM.
           IF ERRO-XML NOT = ZEROS
              DISPLAY WK-MSG
           END-IF
           CLOSE XML-FILE
           STOP RUN.
      *-----------------------------------------------------------------
       LER-RESP.
           START XML-FILE KEY XML-EFX33-XML
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF
           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              READ XML-FILE NEXT KEY XML-EFX33-XML
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF
              
              PERFORM LER-EFX33-036
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
           END-PERFORM
           EXIT.
      *-----------------------------------------------------------------
       LER-EFX33-036.
           START XML-FILE KEY XML-EFX33-036
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF

           DISPLAY " "
           DISPLAY "   ADMINSTRADORES  "
           DISPLAY "------------"
           DISPLAY " "

           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              READ XML-FILE NEXT KEY XML-EFX33-036
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF

              PERFORM LER-EFX33-037-F-ADMS
           END-PERFORM
           EXIT.
      *-----------------------------------------------------------------
       LER-EFX33-037-F-ADMS.
           START XML-FILE KEY XML-EFX33-037-F-ADMS
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF

           DISPLAY " "
           DISPLAY "   ADMINSTRADORES  PF "
           DISPLAY "------------"
           DISPLAY " "

           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              READ XML-FILE NEXT KEY XML-EFX33-037-F-ADMS
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF

              PERFORM LER-EFX33-037-F-ADM
           END-PERFORM
           EXIT.
      *-----------------------------------------------------------------
       LER-EFX33-037-F-ADM.
           START XML-FILE KEY XML-EFX33-037-F-ADM
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF

           DISPLAY " "
           DISPLAY "   ADMINSTRADOR  PF "
           DISPLAY "------------"
           DISPLAY " "

           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              add 1 to wk-count

              display "ADMINSTRADOR " WK-COUNT 
              DISPLAY "------------"
              READ XML-FILE NEXT KEY XML-EFX33-037-F-ADM
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF

              PERFORM LER-EFX33-037-FA-CONS
           END-PERFORM
           EXIT.
      *-----------------------------------------------------------------
       LER-EFX33-037-FA-CONS.
           START XML-FILE KEY XML-EFX33-037-FA-CONS
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF

           DISPLAY " "
           DISPLAY "   CONSULTAS"
           DISPLAY "------------"
           DISPLAY " "

           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              READ XML-FILE NEXT KEY XML-EFX33-037-FA-CONS
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF

              PERFORM LER-EFX33-037-FACON-RES
              PERFORM LER-EFX33-037-FACON-TOT
              PERFORM LER-EFX33-037-FACON-VIG
              PERFORM LER-EFX33-037-FACON-MES
              PERFORM LER-EFX33-037-FACON-ULT

           END-PERFORM
           accept ok
           EXIT.
      *-----------------------------------------------------------------
       LER-EFX33-037-FACON-RES.
           START XML-FILE KEY XML-EFX33-037-FACON-RES
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF

           DISPLAY " "
           DISPLAY "   RESUMO "
           DISPLAY "------------"
           DISPLAY " "

           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              READ XML-FILE NEXT KEY XML-EFX33-037-FACON-RES
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF

              DISPLAY XML-EFX33-037-FACONR-QTDE
           END-PERFORM
           EXIT.
      *-----------------------------------------------------------------
       LER-EFX33-037-FACON-TOT.
           START XML-FILE KEY XML-EFX33-037-FACON-TOT
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF

           DISPLAY " "
           DISPLAY "   TOTAIS "
           DISPLAY "------------"
           DISPLAY " "

           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              READ XML-FILE NEXT KEY XML-EFX33-037-FACON-TOT
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF

              DISPLAY XML-EFX33-037-FACONT-CON
           END-PERFORM
           EXIT.
      *-----------------------------------------------------------------
       LER-EFX33-037-FACON-VIG.
           START XML-FILE KEY XML-EFX33-037-FACON-VIG
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF

           DISPLAY " "
           DISPLAY "   VIGENTE"
           DISPLAY "------------"
           DISPLAY " "

           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              READ XML-FILE NEXT KEY XML-EFX33-037-FACON-VIG
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF

              DISPLAY XML-EFX33-037-FACONV-QTDE
           END-PERFORM
           EXIT.
      *-----------------------------------------------------------------
       LER-EFX33-037-FACON-MES.
           START XML-FILE KEY XML-EFX33-037-FACON-MES
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF

           DISPLAY " "
           DISPLAY "   MES    "
           DISPLAY "------------"
           DISPLAY " "

           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              READ XML-FILE NEXT KEY XML-EFX33-037-FACON-MES
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF

              DISPLAY XML-EFX33-037-FACONM-DATA
           END-PERFORM
           EXIT.
      *-----------------------------------------------------------------
       LER-EFX33-037-FACON-ULT.
           START XML-FILE KEY XML-EFX33-037-FACON-ULT
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF

           DISPLAY " "
           DISPLAY "   ULTIMOS  "
           DISPLAY "------------"
           DISPLAY " "

           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              READ XML-FILE NEXT KEY XML-EFX33-037-FACON-ULT
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF

              PERFORM LER-EFX33-037-FACONU-CON
           END-PERFORM
           EXIT.
      *-----------------------------------------------------------------
       LER-EFX33-037-FACONU-CON.
           START XML-FILE KEY XML-EFX33-037-FACONU-CON
           IF XML-FILE-STATUS < 0
              EXIT PARAGRAPH
           END-IF

           DISPLAY " "
           DISPLAY "   CONSULTA "
           DISPLAY "------------"
           DISPLAY " "

           PERFORM UNTIL EXIT
              IF ERRO-XML NOT = ZEROS
                 EXIT PERFORM
              END-IF
             
              READ XML-FILE NEXT KEY XML-EFX33-037-FACONU-CON
              IF XML-FILE-STATUS NOT = 0
                 EXIT PERFORM
              END-IF

              DISPLAY XML-EFX33-037-FACONUC-EMP
           END-PERFORM
           EXIT.


Viewing all articles
Browse latest Browse all 191

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>