ImageVerifierCode 换一换
格式:DOCX , 页数:57 ,大小:26.49KB ,
资源ID:5496252      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5496252.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ABAP to xml.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ABAP to xml.docx

1、ABAP to xmlReport YRS_CLASS_UPLOAD_XML* Report for generating class from XML-file* Author: Sergey Korolev (slkorolevmail.ru)* Does not work with interfaces and exception classes*REPORT yrs_class_upload_xml .PARAMETERS: xmlfile TYPE localfile.TYPE-POOLS: seok, seop.INCLUDE yrs_class_xml_const.DATA: c

2、orr_mode,* Extracted structures (from XML file) gt_locals_src TYPE seop_source_string, gt_locals_def TYPE seop_source_string, gt_locals_imp TYPE seop_source_string, gt_locals_mac TYPE seop_source_string, gs_class TYPE vseoclass, gt_attributes TYPE seoo_attributes_r, gt_methods TYPE seoo_methods_r, g

3、t_events TYPE seoo_events_r, gt_types TYPE seoo_types_r, gt_parameters TYPE seos_parameters_r, gt_exceps TYPE seos_exceptions_r, gt_implementings TYPE seor_implementings_r, gs_inheritance TYPE vseoextend, gt_redefinitions TYPE seor_redefinitions_r, gt_impl_details TYPE seor_redefinitions_r, gt_frien

4、dships TYPE seof_friendships_r, gt_typepusages TYPE seot_typepusages_r, gt_clsdeferrds TYPE seot_clsdeferrds_r, gt_intdeferrds TYPE seot_intdeferrds_r, gt_aliases TYPE seoo_aliases_r, gt_interfaces TYPE seok_int_typeinfos, gs_includes TYPE seop_methods_w_include, gt_texts TYPE TABLE OF textpool, gt_

5、source TYPE seop_source, gt_type_source TYPE seop_source, gt_mtd_source TYPE seo_method_source_table, wa_mtd_source TYPE seo_method_source.CLASS lcx_xml_error DEFINITION DEFERRED.DATA: ex TYPE REF TO lcx_xml_error.*-* CLASS lCX_xml_error DEFINITIO*-*-*CLASS lcx_xml_error DEFINITION INHERITING FROM c

6、x_static_check. PUBLIC SECTION. DATA: error TYPE string. METHODS: constructor IMPORTING value(i_error) TYPE string OPTIONAL.ENDCLASS. lCX_xml_error DEFINITIO*-* CLASS lcx_xml_section_error DEFINITIO*-*-*CLASS lcx_xml_section_error DEFINITION INHERITING FROM lcx_xml_error. PUBLIC SECTION. METHODS: co

7、nstructor IMPORTING value(i_section) TYPE string OPTIONAL .ENDCLASS. lCX_xml_error DEFINITIO*-* CLASS lcx_xml_error IMPLEMENTATION*-*-*CLASS lcx_xml_error IMPLEMENTATION. METHOD constructor. CALL METHOD super-constructor. error = i_error. ENDMETHOD. constructorENDCLASS. lcx_xml_error IMPLEMENTATION*

8、-* CLASS lcx_xml_section_error IMPLEMENTATION*-*-*CLASS lcx_xml_section_error IMPLEMENTATION. METHOD constructor. DATA: msg TYPE string. CONCATENATE File does not contain obligatory section i_section INTO msg SEPARATED BY space. CALL METHOD super-constructor EXPORTING i_error = msg. ENDMETHOD. const

9、ructorENDCLASS. lcx_xml_section_error IMPLEMENTATIONAT SELECTION-SCREEN ON VALUE-REQUEST FOR xmlfile. DATA: file_table TYPE filetable, action TYPE i, rc TYPE sysubrc. FIELD-SYMBOLS: TYPE file_table. CALL METHOD cl_gui_frontend_services=file_open_dialog EXPORTING default_extension = xml file_filter =

10、 cl_gui_frontend_services=filetype_xml CHANGING file_table = file_table rc = rc user_action = action EXCEPTIONS file_open_dialog_failed = 1 cntl_error = 2 error_no_gui = 3 not_supported_by_gui = 4 OTHERS = 5. IF sy-subrc 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-

11、msgv3 sy-msgv4. ENDIF. CHECK action = cl_gui_frontend_services=action_ok. READ TABLE file_table INDEX 1 ASSIGNING . xmlfile = .START-OF-SELECTION. DATA: retcode TYPE sysubrc, source_node TYPE REF TO if_ixml_node, xml TYPE REF TO cl_xml_document. CREATE OBJECT xml. TRY. CALL METHOD xml-import_from_fi

12、le EXPORTING filename = xmlfile RECEIVING retcode = retcode. IF retcode NE xml-c_ok. DATA: msg TYPE string. CASE retcode. WHEN xml-c_no_ixml. msg = This is not XML file. WHEN xml-c_failed. msg = Failed to parse the XML file. WHEN xml-c_not_found. msg = XML file not found. ENDCASE. RAISE EXCEPTION TY

13、PE lcx_xml_error EXPORTING i_error = msg. ENDIF. DEFINE load_section. call method xml-get_data exporting name = &1 importing retcode = retcode changing dataobject = &2. if retcode ne xml-c_ok. raise exception type lcx_xml_section_error exporting i_section = &1. endif. END-OF-DEFINITION. load_section

14、: c_xml_root gs_class, c_xml_attributes gt_attributes, c_xml_methods gt_methods, c_xml_events gt_events, c_xml_types gt_types, c_xml_parameters gt_parameters, c_xml_exceps gt_exceps, c_xml_implementings gt_implementings, c_xml_impl_details gt_impl_details, c_xml_friendships gt_friendships, c_xml_typ

15、epusages gt_typepusages, c_xml_clsdeferrds gt_clsdeferrds, c_xml_intdeferrds gt_intdeferrds, c_xml_aliases gt_aliases, c_xml_inheritance gs_inheritance, c_xml_interfaces gt_interfaces, c_xml_redefinitions gt_redefinitions, c_xml_typesource gt_type_source,* c_xml_text_pool gt_texts, c_xml_locals_src

16、gt_locals_src, c_xml_locals_def gt_locals_def, c_xml_locals_mac gt_locals_mac, c_xml_locals_imp gt_locals_imp.* Now find method implementation node containing sources* for each method as a subnode CALL METHOD xml-find_node EXPORTING name = c_xml_method_src RECEIVING node = source_node. IF source_nod

17、e IS INITIAL. RAISE EXCEPTION TYPE lcx_xml_section_error EXPORTING i_section = c_xml_methods. ENDIF. source_node = source_node-get_first_child( ). DATA: name1 TYPE string, name2 TYPE string, xml_sep(5) VALUE _-7E. WHILE NOT source_node IS INITIAL. CLEAR wa_mtd_source. name1 = source_node-get_name( )

18、. SPLIT name1 AT xml_sep INTO name1 name2. IF name2 IS INITIAL. wa_mtd_source-cpdname = name1. ELSE. CONCATENATE name1 name2 INTO wa_mtd_source-cpdname SEPARATED BY . ENDIF. CALL METHOD xml-get_node_data EXPORTING node = source_node IMPORTING dataobject = wa_mtd_source-source retcode = retcode. IF r

19、etcode = xml-c_ok. APPEND wa_mtd_source TO gt_mtd_source. ENDIF. source_node = source_node-get_next( ). ENDWHILE. CATCH lcx_xml_error INTO ex. MESSAGE ex-error TYPE E. ENDTRY. DATA: answer, fields TYPE TABLE OF sval WITH HEADER LINE, parameter TYPE TABLE OF spar WITH HEADER LINE, clskey TYPE seoclsk

20、ey. clskey-clsname = gs_class-clsname. corr_mode = I. DO. CALL FUNCTION SEO_CLASS_GET EXPORTING clskey = clskey EXCEPTIONS not_existing = 1 deleted = 2 is_interface = 3 model_only = 4 OTHERS = 5. IF sy-subrc NE 0. EXIT. ENDIF. REFRESH parameter. parameter-param = CLASS. parameter-value = clskey-clsn

21、ame. APPEND parameter. CALL FUNCTION POPUP_TO_CONFIRM EXPORTING titlebar = Class already exists text_question = Class &CLASS& already exists. Overwrite? default_button = 2 IMPORTING answer = answer TABLES parameter = parameter EXCEPTIONS text_not_found = 0 OTHERS = 0. CASE answer. WHEN 1. corr_mode

22、= U. EXIT. WHEN A. RETURN. ENDCASE. REFRESH fields. fields-tabname = SEOCLSKEY. fields-fieldname = CLSNAME. fields-value = clskey-clsname. APPEND fields. CALL FUNCTION POPUP_GET_VALUES EXPORTING popup_title = Enter new class name IMPORTING returncode = answer TABLES fields = fields EXCEPTIONS error_

23、in_fields = 1 OTHERS = 2. IF answer = A. RETURN. ENDIF. READ TABLE fields INDEX 1. clskey-clsname = fields-value. ENDDO. IF clskey-clsname NE gs_class-clsname. gs_class-clsname = clskey-clsname. gs_class-author = sy-uname. gs_class-changedby = sy-uname. gs_class-changedon = sy-datum. gs_inheritance-

24、clsname = clskey-clsname. PERFORM rename_class TABLES gt_implementings USING clskey-clsname. PERFORM rename_class TABLES gt_attributes USING clskey-clsname. PERFORM rename_class TABLES gt_methods USING clskey-clsname. PERFORM rename_class TABLES gt_events USING clskey-clsname. PERFORM rename_class T

25、ABLES gt_types USING clskey-clsname. PERFORM rename_class TABLES gt_parameters USING clskey-clsname. PERFORM rename_class TABLES gt_exceps USING clskey-clsname. PERFORM rename_class TABLES gt_aliases USING clskey-clsname. PERFORM rename_class TABLES gt_typepusages USING clskey-clsname. PERFORM renam

26、e_class TABLES gt_clsdeferrds USING clskey-clsname. PERFORM rename_class TABLES gt_intdeferrds USING clskey-clsname. PERFORM rename_class TABLES gt_redefinitions USING clskey-clsname. PERFORM rename_class TABLES gt_impl_details USING clskey-clsname. PERFORM rename_class TABLES gt_friendships USING c

27、lskey-clsname. ENDIF. DATA: devclass LIKE tadir-devclass, korrnum LIKE e070-trkorr. CALL FUNCTION RS_CORR_INSERT EXPORTING object = gs_class-clsname object_class = CLAS mode = corr_mode global_lock = X master_language = gs_class-langu IMPORTING devclass = devclass korrnum = korrnum EXCEPTIONS cancelled = 1 permission_failure = 2 unknown_objectclass = 3 OTHERS = 4. IF sy-subrc 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msg

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1