SAP ABAP XSLT
From SapWiki
Contents
Ejemplo 01: XSLT ZHCM_CARGAR_DOCUMENTO (trn. xslt_tool)
<?sap.transform simple?> <tt:transform xmlns:tt="http://www.sap.com/transformation-templates"> <tt:root name="ROOT"/> <tt:template> <documento> <id_documento tt:value-ref=".ROOT.ID_DOCUMENTO"/> <tt:cond check="not-initial(ROOT.FIRMA)"> <firma tt:value-ref=".ROOT.FIRMA"/> </tt:cond> <nombre_documento tt:value-ref=".ROOT.NOMBRE_DOCUMENTO"/> <tipo_archivo tt:value-ref=".ROOT.TIPO_ARCHIVO"/> <archivo_b64 tt:value-ref=".ROOT.ARCHIVO_B64"/> </documento> </tt:template> </tt:transform>
Generar XML
types: begin of ty_documento, ID_DOCUMENTO type string, firma type string, NOMBRE_DOCUMENTO type string, TIPO_ARCHIVO type string, ARCHIVO_B64 type string, end of ty_documento. data ls_documento type ty_documento. data l_documento_xml type string.
DATA l_exception_error TYPE REF TO cx_st_error. DATA l_st_error TYPE string. TRY. CALL TRANSFORMATION zhcm_cargar_documento SOURCE root = ls_documento RESULT XML l_documento_xml. CATCH cx_st_error INTO l_exception_error. l_st_error = l_exception_error->get_text( ). p_subrc = 1. p_msg = l_st_error. RETURN. ENDTRY.
Leer XML
DATA l_exception_error TYPE REF TO cx_st_error. DATA l_st_error TYPE string. TRY. CALL TRANSFORMATION zhcm_cargar_documento SOURCE XML l_documento_xml RESULT root = ls_documento. CATCH cx_st_error INTO l_exception_error. l_st_error = l_exception_error->get_text( ). p_subrc = 1. p_msg = l_st_error. RETURN. ENDTRY.
Attribute
<tt:attribute name="ID" value-ref=".RSPCARGARDOCUMENTO.IDCARGARDOCUMENTO"/> <campoString> <tt:attribute name="name" value-ref=".PERSONALIZADOS.PESO_NAME"/> <tt:value ref=".PERSONALIZADOS.PESO"/> </campoString>
Cond
<tt:cond check="not-initial(RSPCONSULTAREXPEDIENTE.RUTEMPLEADOR)"> <RUTEMPLEADOR tt:value-ref=".RSPCONSULTAREXPEDIENTE.RUTEMPLEADOR"/> </tt:cond>