Ansicht
Dokumentation
ABENABAP_IXML_LIB_PARSE_ERROR - ABAP IXML LIB PARSE ERROR
PERFORM Short Reference Fill RESBD Structure from EBP Component StructureDiese Dokumentation steht unter dem Copyright der SAP AG.
- Fehleranalyse nach dem Parsen
Wenn ein Parser während des Parsens Fehler in den zu parsenden XML-Daten feststellt, gibt seine Methode NUM_ERRORS die Anzahl der Fehler zurück, die mit Hilfe der folgendermaßen erzeugten Objekte analysiert werden können:
DATA(error) = parser->get_error( index = ... ).
Der statische Typ der Referenzvariable error ist dann das Interface IF_IXML_PARSE_ERROR. Dem Parameter index kann die Nummer eines Fehlers übergeben werden, wobei die Zählung bei Null beginnt. Bei anderen Werten für index bleibt error initial.
Beispiel
Da die geparsten XML-Daten falsche schließende Tags enthalten, wir das Parsen beim ersten falschen Tag abgebrochen. Der Parser ergänzt noch das erste schließende Tag, schreibt aber keine weiteren Daten in das DOM. In der Methode handle_errors werden die Fehler ausgelesen.
DATA(ixml) = cl_ixml=>create( ).
DATA(stream_factory) = ixml->create_stream_factory( ).
DATA(istream) = stream_factory->create_istream_string(
`text1>aaa/text>text2>bbb/text>` ).
DATA(document) = ixml->create_document( ).
DATA(parser) = ixml->create_parser(
stream_factory = stream_factory
istream = istream
document = document ).
IF parser->parse( ) <> ixml_mr_parser_ok.
handle_errors( ).
RETURN.
ENDIF.
...
METHOD handle_errors.
DO parser->num_errors( ) TIMES.
DATA(error) = parser->get_error( index = sy-index - 1 ).
DATA(line) = error->get_line( ).
DATA(column) = error->get_column( ).
DATA(reason) = error->get_reason( ).
...
ENDDO.
ENDMETHOD.
ABAP Short Reference BAL_S_LOG - Application Log: Log header data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 2759 Date: 20240523 Time: 183551 sap01-206 ( 32 ms )