Skip to content

Instantly share code, notes, and snippets.

@jrnunes
Created July 14, 2017 13:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jrnunes/b158c3b3a03ceadeb0f2968f45f4bee4 to your computer and use it in GitHub Desktop.
Save jrnunes/b158c3b3a03ceadeb0f2968f45f4bee4 to your computer and use it in GitHub Desktop.
Extract dhRecbto & digVal tags from CT-e's XML
DATA: lv_xml_string TYPE string,
ls_xml_cte TYPE /XNFE/INCTEXML,
lv_split1 TYPE string,
lv_split2 TYPE string,
lv_digval TYPE string,
lv_dhrecbto TYPE string.
CALL FUNCTION '/XNFE/B2BCTE_READ_CTE_WO_LOCK'
EXPORTING
IV_CTE_ID = '35170712343517071234351707123435170712341234' "Your access key
IMPORTING
ES_XML_CTE = ls_xml_cte
EXCEPTIONS
CTE_DOES_NOT_EXIST = 1
CTE_LOCKED = 2
TECHNICAL_ERROR = 3
OTHERS = 4.
if sy-subrc <> 0.
WRITE: 'Error while calling /XNFE/B2BCTE_READ_CTE_WO_LOCK: subrc ', sy-subrc.
STOP.
endif.
CALL FUNCTION '/XNFE/XML_XSTRING2STRING'
EXPORTING
inxstring = ls_xml_cte-xmlstring
IMPORTING
outstring = lv_xml_string.
SPLIT lv_xml_string AT '<infProt>' INTO lv_split1 lv_split2.
SPLIT lv_split2 AT '</infProt>' INTO lv_xml_string lv_split2.
SPLIT lv_xml_string AT '<dhRecbto>' INTO lv_split1 lv_split2.
SPLIT lv_split2 AT '</dhRecbto>' INTO lv_dhrecbto lv_split2.
SPLIT lv_xml_string AT '<digVal>' INTO lv_split1 lv_split2.
SPLIT lv_split2 AT '</digVal>' INTO lv_digval lv_split2.
WRITE: / 'dhRecbto = ', lv_dhrecbto,
/, 'DigVal = ', lv_digval.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment