The following is a simple ABAP that reads the data structure of a table or an IDoc type (-> WE30) and formats it as an XML document.
Code:
REPORT zaxx_xml_se11 .
************************************************************************
* Collections of routines to convert DDic or IDoc-Defs into XML *
************************************************************************
TYPE-POOLS: ledid.
TABLES: dd02l, dokhl, dd02t, dd04t, edi_iapi00.
TABLES: edisegmhd.
SELECT-OPTIONS: langu FOR dokhl-langu.
PARAMETERS: withdocu AS CHECKBOX DEFAULT 'X'.
PARAMETERS: wsfile LIKE rlgrap-filename DEFAULT 'D:\XML\%.XML'.
PARAMETERS: radattr RADIOBUTTON GROUP def. "Attribute usage
PARAMETERS: radtree RADIOBUTTON GROUP def. "Treestyle
SELECTION-SCREEN ULINE.
PARAMETERS: radtab RADIOBUTTON GROUP sel.
SELECT-OPTIONS: tabname FOR dd02l-tabname DEFAULT 'TVKO'.
SELECTION-SCREEN ULINE.
PARAMETERS: radidoc RADIOBUTTON GROUP sel DEFAULT 'X'.
PARAMETERS: doctyp LIKE edi_iapi00-idoctyp DEFAULT 'ORDERS01'.
DATA: tdd01 LIKE dd01l OCCURS 0 WITH HEADER LINE.
DATA: tdd02 LIKE dd02l OCCURS 0 WITH HEADER LINE.
DATA: tdd04 LIKE dd04l OCCURS 0 WITH HEADER LINE.
DATA: tdd03 LIKE dd03p OCCURS 0 WITH HEADER LINE.
DATA: tdd03p_struc LIKE dd03p OCCURS 0 WITH HEADER LINE.
DATA: tdd02l_struc LIKE dd03p OCCURS 0 WITH HEADER LINE.
DATA: txml LIKE tline OCCURS 0 WITH HEADER LINE.
DATA: dcobjdef LIKE dcobjdef.
DATA: tsegstruc TYPE ledid_segment_struct OCCURS 0 WITH HEADER LINE.
DEFINE xml.
move &1 &2 &3.
append &3.
END-OF-DEFINITION.
DEFINE xmlstr.
move &1 &2 &3.
concatenate '"' &3 '"' into &3.
append &3.
END-OF-DEFINITION.
DEFINE xmlattr.
move &2 &3 &4.
if radattr ne space.
concatenate &1 '=' '"' &4 '"' into &4.
else.
concatenate '<' &1 '>' &4 '</' &1 '>' into &4.
endif.
append &4.
END-OF-DEFINITION.
START-OF-SELECTION.
IF radtab NE space.
PERFORM main.
ELSEIF radidoc NE space.
CHECK NOT doctyp IS INITIAL.
REPLACE '%' WITH doctyp INTO wsfile.
CONDENSE wsfile NO-GAPS.
PERFORM main_idoc_doctyp USING doctyp wsfile.
ENDIF.
*---------------------------------------------------------------------*
* FORM MAIN *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM main_idoc_doctyp USING pdoctyp pfilename.
PERFORM init.
PERFORM xml_new.
PERFORM xml_idoc_doctyp USING pdoctyp.
PERFORM xml_download USING pfilename.
ENDFORM.
*---------------------------------------------------------------------*
* FORM MAIN *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM main.
PERFORM init.
PERFORM xml_new.
SELECT * FROM dd02l INTO TABLE tdd02 WHERE tabname IN tabname.
LOOP AT tdd02.
PERFORM xml_tab USING tdd02-tabname.
ENDLOOP.
LOOP AT txml.
WRITE: / txml.
ENDLOOP.
PERFORM xml_download USING 'D:\XML\TAB.XML'.
ENDFORM. " main.
*---------------------------------------------------------------------*
* FORM XML_DOWNLOAD *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> PFILENAME *
*---------------------------------------------------------------------*
FORM xml_download USING pfilename.
DATA: rlgrap LIKE rlgrap.
rlgrap-filename = pfilename.
IF rlgrap-filename IS INITIAL.
LOOP AT txml.
WRITE: / txml.
ENDLOOP.
ELSE.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
* BIN_FILESIZE = ' '
codepage = ' '
filename = rlgrap-filename
* FILETYPE = ' '
* MODE = ' '
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* COL_SELECT = ' '
* COL_SELECTMASK = ' '
* NO_AUTH_CHECK = ' '
* IMPORTING
* FILELENGTH =
TABLES
data_tab = txml
* FIELDNAMES =
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
gui_refuse_filetransfer = 8
OTHERS = 9.
ENDIF.
ENDFORM. " xml_download USING 'D:\XML\TAB.XML'.
*---------------------------------------------------------------------*
* FORM INIT *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM init.
dcobjdef-name = 'DD03P'.
CALL FUNCTION 'DDIF_TABL_GET'
EXPORTING
name = dcobjdef-name
TABLES
dd03p_tab = tdd03p_struc
EXCEPTIONS
illegal_input = 1
OTHERS = 2.
dcobjdef-name = 'DD02L'.
CALL FUNCTION 'DDIF_TABL_GET'
EXPORTING
name = dcobjdef-name
TABLES
dd03p_tab = tdd02l_struc
EXCEPTIONS
illegal_input = 1
OTHERS = 2.
ENDFORM.
*---------------------------------------------------------------------*
* FORM XML_NEW *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM xml_new.
REFRESH txml.
xml '<?xml version="1.0" standalone="yes"?>' to txml.
ENDFORM. " xml_new.
*---------------------------------------------------------------------*
* FORM XML_CREATE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> PTABNAME *
*---------------------------------------------------------------------*
FORM xml_tab USING ptabname.
dcobjdef-name = ptabname.
CALL FUNCTION 'DDIF_TABL_GET'
EXPORTING
name = dcobjdef-name
TABLES
dd03p_tab = tdd03
EXCEPTIONS
illegal_input = 1
OTHERS = 2.
PERFORM xmlconvert_tab TABLES tdd03 txml.
ENDFORM. " xml_create USING ptabname.
*---------------------------------------------------------------------*
* FORM XML_IDOC_DOCTYP *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> PDOCTYP *
*---------------------------------------------------------------------*
FORM xml_idoc_doctyp USING pdoctyp.
DATA: pt_syntax LIKE edi_iapi02 OCCURS 0 WITH HEADER LINE.
edi_iapi00-idoctyp = pdoctyp.
*
xml '<IDOCTYPE ' to txml.
xmlattr 'DOCTYPE' edi_iapi00-idoctyp to txml.
xml '>' to txml.
*
CALL FUNCTION 'IDOCTYPE_READ'
EXPORTING
pi_idoctyp = edi_iapi00-idoctyp
* PI_CHECK_AUTHORITY = 'X'
* PI_READ_DEVC = 'X'
* IMPORTING
* PE_ATTRIBUTES =
TABLES
pt_syntax = pt_syntax
* PT_PRE_SYNTAX =
* PT_EXTENSIONS =
EXCEPTIONS
object_not_found = 1
db_error = 2
no_authority = 3
OTHERS = 4.
LOOP AT pt_syntax.
PERFORM xml_idoc_segtyp USING pt_syntax.
ENDLOOP.
xml '</IDOCTYPE>' to txml.
ENDFORM. " xml_idoc_doctyp USING pdoctyp.
*---------------------------------------------------------------------*
* FORM XML_IDOC_SEGTYP *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> PT_SYNTAX *
*---------------------------------------------------------------------*
FORM xml_idoc_segtyp USING pt_syntax STRUCTURE edi_iapi02.
DATA: tsegment TYPE ledid_t_segment OCCURS 0.
DATA: $str LIKE tline.
edisegmhd-segtyp = pt_syntax-segtyp.
xml '<SEGMENT ' to txml.
xmlattr 'SEGMENTNO' pt_syntax-nr to txml.
xmlattr 'SEGMENTTYP' pt_syntax-segtyp to txml.
xmlattr 'PARTNERSEGMENT' pt_syntax-segtyp to txml.
xmlattr 'PARENT' pt_syntax-parpno to txml.
xmlattr 'BEGINOFGROUP' pt_syntax-parflg to txml.
xmlattr 'SEGMENTMANDATORY' pt_syntax-mustfl to txml.
xmlattr 'OCCURANCEMIN' pt_syntax-occmin to txml.
xmlattr 'OCCURANCEMAX' pt_syntax-occmax to txml.
xml '>' to txml.
*
SELECT * FROM dd02t WHERE tabname EQ pt_syntax-segtyp.
xml '<DESCRIPTION ' to txml.
xmlattr 'LANGUAGE' dd02t-ddlanguage to txml.
xml '>' to txml.
PERFORM cleanup USING dd02t-ddtext CHANGING $str.
xml $str to txml.
xml '</DESCRIPTION>' to txml.
ENDSELECT.
*
CALL FUNCTION 'IDOC_SEGMENT_STRUCTURE_READ'
EXPORTING
* RELEASE = SY-SAPRL
segtyp = edisegmhd-segtyp
* VERSION = '3'
TABLES
segment_struct = tsegstruc
EXCEPTIONS
segment_unknown = 1
segment_structure_unknown = 2
segment_not_in_release = 3
OTHERS = 4.
PERFORM xmlconvert_seg TABLES tsegstruc txml.
xml '</SEGMENT>' to txml.
ENDFORM. " xml_create USING ptabname.
*---------------------------------------------------------------------*
* FORM XMLCONVERT_SEG *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> SEGSTRUC *
* --> XML *
*---------------------------------------------------------------------*
FORM xmlconvert_seg TABLES segstruc STRUCTURE tsegstruc
xml STRUCTURE txml.
DATA: $str LIKE tline.
LOOP AT segstruc.
PERFORM infoline
USING segstruc-segment_type segstruc-fieldname space.
xml '<FIELD ' to xml.
xmlattr 'FIELDNAME' segstruc-fieldname to xml.
xmlattr 'POSITION' segstruc-field_attrib-position to xml.
xmlattr 'OFFSET' segstruc-field_attrib-offset to xml.
xmlattr 'INTLEN' segstruc-field_attrib-intlen to xml.
xmlattr 'DECIMALS' segstruc-field_attrib-decimals to xml.
xmlattr 'SIGNFLAG' segstruc-field_attrib-signflag to xml.
xmlattr 'EXTLEN' segstruc-field_attrib-extlen to xml.
xmlattr 'ROLLNAME' segstruc-field_attrib-rollname to xml.
xmlattr 'DOMNAME' segstruc-field_attrib-domname to xml.
xmlattr 'DATATYPE' segstruc-field_attrib-datatype to xml.
xmlattr 'ISOCODE' segstruc-field_attrib-isocode to xml.
xml '>' to xml.
SELECT * FROM dd04t
WHERE rollname EQ segstruc-field_attrib-rollname.
xml '<FIELDDOCU' to xml.
xmlattr 'FIELDNAME' segstruc-fieldname to xml.
xmlattr 'LANGUAGE' dd04t-ddlanguage to xml.
PERFORM cleanup USING dd04t-ddtext CHANGING $str.
xml '>' to xml.
xml $str to xml.
xml '</FIELDDOCU>' to xml.
ENDSELECT.
PERFORM write_docu
TABLES xml USING segstruc-field_attrib-rollname withdocu.
xml '</FIELD>' to xml.
ENDLOOP.
ENDFORM.
*---------------------------------------------------------------------*
* FORM XML_DTELS *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> TDD04 *
*---------------------------------------------------------------------*
FORM xml_dtels TABLES tdd04 STRUCTURE tdd04.
SELECT * FROM dd04l INTO TABLE tdd04
FOR ALL ENTRIES IN tdd04
WHERE rollname EQ tdd04-rollname.
* PERFORM xmlconvert TABLES tdd04 txml
* USING 'DATAELEMENT' space 'ELEMENT' space 'TDD03'.
* PERFORM xmlconvert_dtel TABLES tdd03 txml.
ENDFORM. " xml_create USING ptabname.
*---------------------------------------------------------------------*
* FORM XMLCONVERT *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> TDD03P *
* --> XML *
*---------------------------------------------------------------------*
FORM xmlconvert TABLES tdd03p STRUCTURE dd03p xml STRUCTURE txml
USING root head items entity children.
DATA: $str LIKE tline.
CONCATENATE '<' root '>' INTO $str.
xml $str to xml.
LOOP AT tdd03p.
AT FIRST.
IF NOT entity IS INITIAL.
READ TABLE tdd03p INDEX sy-tabix.
PERFORM write_tag TABLES tdd03p_struc xml USING entity head.
ENDIF.
ENDAT.
PERFORM write_tag TABLES tdd03p_struc xml USING children items.
* CONCATENATE '<' items INTO $str.
* xml '<FIELD' to xml.
* xml $str to xml.
* PERFORM write_attr TABLES tdd03p_struc xml USING children.
* xml '>' to xml.
PERFORM write_docu TABLES xml USING tdd03p-rollname withdocu.
* xml '</FIELD>' to xml.
PERFORM save_dtel USING tdd03p-rollname tdd03p-domname.
ENDLOOP.
CONCATENATE '</' root '>' INTO $str.
xml $str to xml.
ENDFORM.
*---------------------------------------------------------------------*
* FORM XMLCONVERT_TAB *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> TDD03P *
* --> XML *
*---------------------------------------------------------------------*
FORM xmlconvert_tab TABLES tdd03p STRUCTURE dd03p xml STRUCTURE txml.
PERFORM xmlconvert TABLES tdd03p xml
USING 'TABLE' 'STRUCTURE' 'FIELD' 'TDD02' 'TDD03'.
ENDFORM.
*---------------------------------------------------------------------*
* FORM XMLCONVERT_DTEL *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> TDD03P *
* --> XML *
*---------------------------------------------------------------------*
FORM xmlconvert_dtel TABLES tdd03p STRUCTURE dd03p xml STRUCTURE txml.
PERFORM xmlconvert TABLES tdd03p xml
USING 'TABLE' 'STRUCTURE' 'FIELD' 'TDD02' 'TDD03'.
ENDFORM.
*---------------------------------------------------------------------*
* FORM SAVE_DTEL *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> PROLLNAME *
* --> PDOMNAME *
*---------------------------------------------------------------------*
FORM save_dtel USING prollname pdomname.
CLEAR tdd04.
MOVE prollname TO tdd04-rollname.
APPEND tdd04.
CLEAR tdd01.
MOVE pdomname TO tdd01-domname.
APPEND tdd01.
ENDFORM. " save_dtel USING tdd03p-rollname tdd03p-domname.
*---------------------------------------------------------------------*
* FORM WRITE_ATTR *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> TSTRUC *
* --> XML *
* --> TABNAME *
*---------------------------------------------------------------------*
FORM write_attr TABLES tstruc STRUCTURE dd03p
xml STRUCTURE txml
USING tabname.
FIELD-SYMBOLS: <fld>.
DATA: fname(80).
LOOP AT tstruc.
CONCATENATE tabname '-' tstruc-fieldname INTO fname.
CONDENSE fname NO-GAPS.
ASSIGN (fname) TO <fld>.
xmlattr tstruc-fieldname <fld> to xml.
ENDLOOP.
ENDFORM. " write_attr TABLES tdd03p_struc structure dd02p.
*---------------------------------------------------------------------*
* FORM WRITE_TAG *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> TDD03P_STRUC *
* --> XML *
* --> ENTITY *
* --> TAGNAME *
*---------------------------------------------------------------------*
FORM write_tag TABLES tstruc STRUCTURE dd03p
xml STRUCTURE txml
USING entity tagname.
DATA: $str(132).
IF radattr NE space.
CONCATENATE '<' tagname INTO $str.
xml $str to xml.
PERFORM write_attr TABLES tdd02l_struc xml USING entity.
xml '/>' to xml.
ELSE.
CONCATENATE '<' tagname '>' INTO $str.
xml $str to xml.
PERFORM write_attr TABLES tdd02l_struc xml USING entity.
CONCATENATE '</' tagname '>' INTO $str.
xml $str to xml.
ENDIF.
ENDFORM. "write_attr TABLES tdd03p_struc xml USING entity tagname.
*&---------------------------------------------------------------------*
*& Form WRITE_DOCU
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_TDD02L_STRUC text *
* -->P_XML text *
* -->P_ENTITY text *
*----------------------------------------------------------------------*
FORM write_docu TABLES xml STRUCTURE txml
USING delem withdocu.
DATA: xdokhl LIKE dokhl OCCURS 0 WITH HEADER LINE.
DATA: xline LIKE tline OCCURS 0 WITH HEADER LINE.
DATA: xdocu LIKE tline OCCURS 0 WITH HEADER LINE.
DATA: otfdata LIKE itcoo OCCURS 0 WITH HEADER LINE.
DATA: pdfdata LIKE tline OCCURS 0 WITH HEADER LINE.
DATA: header LIKE thead.
*
CHECK withdocu NE space.
*
CLEAR header.
REFRESH xline.
CLEAR xdokhl.
*
SELECT * FROM dokhl INTO TABLE xdokhl
WHERE id EQ 'DE' AND object EQ delem
AND langu IN langu.
SORT xdokhl.
DELETE ADJACENT DUPLICATES FROM xdokhl
COMPARING id langu object.
LOOP AT xdokhl.
CALL FUNCTION 'DOCU_GET'
EXPORTING
* EXTEND_EXCEPT = ' '
id = xdokhl-id
langu = xdokhl-langu
object = xdokhl-object
typ = xdokhl-typ
version_active_or_last = 'L'
TABLES
line = xdocu
EXCEPTIONS
no_docu_on_screen = 1
no_docu_self_def = 2
no_docu_temp = 3
ret_code = 4
OTHERS = 5.
xline[] = xdocu[].
PERFORM text_format TABLES xline otfdata.
IF 1 = 0.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
TABLES
otf = otfdata
lines = pdfdata
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
ENDIF.
MOVE '<DOCU FIELDNAME="&F">' TO xml.
MOVE '<DOCU#FIELDNAME="&F"#LANGUAGE="&L">' TO xml.
REPLACE '&F' WITH xdokhl-object INTO xml.
REPLACE '&L' WITH xdokhl-langu INTO xml.
CONDENSE xml NO-GAPS. TRANSLATE xml USING '# '.
APPEND xml.
LOOP AT xline.
* xline-tdline = xline.
PERFORM cleanup USING xline-tdline CHANGING xline-tdline.
CONCATENATE '
' XLINE '</p>' INTO XML.
APPEND xml.
ENDLOOP.
xml '</DOCU>' to xml.
ENDLOOP.
ENDFORM. " WRITE_DOCU
*---------------------------------------------------------------------*
* FORM TEXT_FORMAT *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> LINES *
* --> OTFDATA *
*---------------------------------------------------------------------*
FORM text_format TABLES lines STRUCTURE tline
otfdata STRUCTURE itcoo.
DATA: options LIKE itcpo.
DATA: header LIKE thead.
options-tdgetotf = 'X'.
IF header-tdform IS INITIAL.
header-tdform = 'SAPSCRIPT_ITF'.
ENDIF.
CALL FUNCTION 'PRINT_TEXT'
EXPORTING
device = 'ABAP'
* DIALOG = 'X'
header = header
options = options
TABLES
lines = lines
otfdata = otfdata
EXCEPTIONS
OTHERS = 11.
REFRESH lines.
LOOP AT otfdata.
CASE otfdata-tdprintcom .
WHEN 'ST'.
lines-tdformat = '* '.
lines-tdline = otfdata-tdprintpar+7.
APPEND lines.
ENDCASE.
ENDLOOP.
ENDFORM.
*---------------------------------------------------------------------*
* FORM CLEANUP *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> INSTR *
* --> XMLSTR *
*---------------------------------------------------------------------*
FORM cleanup USING instr CHANGING xmlstr.
DATA: str LIKE char8000.
str = instr.
PERFORM cleanupone USING '&' '#amp;' CHANGING str.
PERFORM cleanupone USING '#amp;' '&' CHANGING str.
PERFORM cleanupone USING '"' '"' CHANGING str.
PERFORM cleanupone USING '''' ''' CHANGING str.
PERFORM cleanupone USING 'а' 'à' CHANGING str.
PERFORM cleanupone USING 'б' 'á' CHANGING str.
PERFORM cleanupone USING 'в' 'â' CHANGING str.
PERFORM cleanupone USING 'д' 'ä' CHANGING str.
PERFORM cleanupone USING 'т' 'è' CHANGING str.
PERFORM cleanupone USING 'у' 'é' CHANGING str.
PERFORM cleanupone USING 'ф' 'ê' CHANGING str.
PERFORM cleanupone USING 'ц' 'ö' CHANGING str.
PERFORM cleanupone USING 'щ' 'ù' CHANGING str.
PERFORM cleanupone USING 'ъ' 'ú' CHANGING str.
PERFORM cleanupone USING 'ы' 'û' CHANGING str.
PERFORM cleanupone USING 'ь' 'ü' CHANGING str.
PERFORM cleanupone USING 'А' 'À' CHANGING str.
PERFORM cleanupone USING 'Б' 'Á' CHANGING str.
PERFORM cleanupone USING 'В' 'Â' CHANGING str.
PERFORM cleanupone USING 'Д' 'Ä' CHANGING str.
PERFORM cleanupone USING 'Т' 'Ò' CHANGING str.
PERFORM cleanupone USING 'У' 'Ó' CHANGING str.
PERFORM cleanupone USING 'Ф' 'Ô' CHANGING str.
PERFORM cleanupone USING 'Ц' 'Ö' CHANGING str.
PERFORM cleanupone USING 'Щ' 'Ù' CHANGING str.
PERFORM cleanupone USING 'Ъ' 'Ú' CHANGING str.
PERFORM cleanupone USING 'Ы' 'Û' CHANGING str.
PERFORM cleanupone USING 'Ь' 'Ü' CHANGING str.
PERFORM cleanupone USING 'Я' 'ß' CHANGING str.
* PERFORM cleanupone USING '<' '<' CHANGING str.
* PERFORM cleanupone USING '>' '>' CHANGING str.
TRANSLATE str TO CODE PAGE '1101'.
xmlstr = str.
ENDFORM.
*---------------------------------------------------------------------*
* FORM CLEANUPONE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> OLD *
* --> NEW *
* --> XMLSTR *
*---------------------------------------------------------------------*
FORM cleanupone USING old new CHANGING xmlstr.
DO.
REPLACE old WITH new INTO xmlstr.
IF sy-subrc NE 0. EXIT. ENDIF.
ENDDO.
ENDFORM.
*---------------------------------------------------------------------*
* FORM INFOLINE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> TXT01 *
* --> TXT02 *
* --> TXT03 *
*---------------------------------------------------------------------*
FORM infoline USING txt01 txt02 txt03.
DATA: $str LIKE sy-lisel.
CONCATENATE txt01 txt02 txt03 INTO $str.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
* PERCENTAGE = 0
text = $str
EXCEPTIONS
OTHERS = 1.
ENDFORM.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.