MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Transformación fichero XML (foro/showthread.php?t=77187)

msotag 06/06/17 14:12:37

Transformación fichero XML
 
Buenas tardes.

Tengo que leer un fichero XML para usar sus datos en un programa. He creado una transformación. El problema es que el fichero tiene varios inicios y varios finales, es decir, como si hubiera varios ficheros pegados en uno, por ejemplo:

<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
<GrpHdr>
<MsgId>DEV20170504205112211580</MsgId>
<CreDtTm>2017-05-04T00:00:00</CreDtTm>
<CdtrAgt>
<FinInstnId>
<BIC>BSCHESMMXXX</BIC>
</FinInstnId>
</CdtrAgt>
</GrpHdr>
</Document>
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
<GrpHdr>
<MsgId>DEV20170504205112332144</MsgId>
<CreDtTm>2017-05-04T00:00:00</CreDtTm>
<CdtrAgt>
<FinInstnId>
<BIC>BSCHESMMXXX</BIC>
</FinInstnId>
</CdtrAgt>
</GrpHdr>
</Document>....

Es decir, no tiene un inicio de fichero y un fin de fichero, sino varios. ¿Sería posible hacer en la transformación algo así como un loop para que los fuera leyendo desde la cabecera hasta el fin como si fueran distintos ficheros?

Muchas gracias.

Marta.

Alonso_mx 06/06/17 16:27:19

Split
 
Hola, no se bien como lo quieres transformar pero no se si te sirva la función SPLIT.

SPLIT AT <VALUE> INTO < IT_TABLE >

Tal vez algo así
TYPES:BEGIN OF ty_datos,
linea TYPE string,
END OF ty_datos.

DATA: IT_DATOS TYPE TABLE OF TY_DATOS,
WA_DATOS LIKE LINE OF IT_DATOS.


SPLIT AT '<?xml' INTO wa_datos.

APPEND WA_DATOS TO IT_DATOS.

Espero te sirva de algo


Husos Horarios son GMT. La hora en este momento es 08:25:06.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web