代码如下
TABLES: sscrfields. DATA: functxt TYPE smp_dyntxt. "选择界面功能按钮 SELECT-OPTIONS: s_vkorg FOR vbak-vkorg, "销售组织 s_kunnr FOR vbak-kunnr. "客户 SELECTION-SCREEN: FUNCTION KEY 1. INITIALIZATION. PERFORM frm_initialization. AT SELECTION-SCREEN. CASE sy-ucomm. WHEN 'FC01'. "下载模板 PERFORM sm30 USING 'ZFIT_009'. WHEN OTHERS. ENDCASE. *&---------------------------------------------------------------------* *& Form frm_initialization *&---------------------------------------------------------------------* *& text *&---------------------------------------------------------------------* *& --> p1 text *& <-- p2 text *&---------------------------------------------------------------------* FORM frm_initialization . functxt-icon_id = icon_view_table. functxt-quickinfo = 'RFQ科目配置表'. functxt-icon_text = 'RFQ科目配置表'. sscrfields-functxt_01 = functxt. ENDFORM. *&---------------------------------------------------------------------* *& Form SM30 *&---------------------------------------------------------------------* *& text *&---------------------------------------------------------------------* *& --> P_ *&---------------------------------------------------------------------* FORM sm30 USING VALUE(p_name). DATA: lt_dba TYPE STANDARD TABLE OF vimsellist WITH HEADER LINE, lt_funct TYPE STANDARD TABLE OF vimexclfun WITH HEADER LINE. DATA: l_name TYPE dd02v-tabname. CLEAR: lt_dba[],lt_dba. IF s_vkorg[] IS NOT INITIAL. SELECT vkorg INTO TABLE @DATA(lt_tvko) FROM tvko WHERE vkorg IN @s_vkorg. LOOP AT lt_tvko INTO DATA(ls_tvko). lt_dba-viewfield = 'VKORG'. lt_dba-operator = 'EQ'. lt_dba-value = ls_tvko-vkorg. lt_dba-and_or = 'OR'. AT LAST. lt_dba-and_or = 'AND'. ENDAT. APPEND lt_dba. CLEAR lt_dba. ENDLOOP. ENDIF. IF s_kunnr[] IS NOT INITIAL. SELECT kunnr INTO TABLE @DATA(lt_kna1) FROM kna1 WHERE kunnr IN @s_kunnr. LOOP AT lt_kna1 INTO DATA(ls_kna1). lt_dba-viewfield = 'KUNNR'. lt_dba-operator = 'EQ'. lt_dba-value = ls_kna1-kunnr. lt_dba-and_or = 'OR'. AT LAST. lt_dba-and_or = 'AND'. ENDAT. APPEND lt_dba. CLEAR lt_dba. ENDLOOP. ENDIF. lt_funct-function = 'AEND'. APPEND lt_funct. CLEAR lt_funct. l_name = p_table. CALL FUNCTION 'VIEW_MAINTENANCE_CALL' EXPORTING action = 'U' view_name = l_name no_warning_for_clientindep = 'X' TABLES dba_sellist = lt_dba[] excl_cua_funct = lt_funct EXCEPTIONS client_reference = 1 foreign_lock = 2 invalid_action = 3 no_clientindependent_auth = 4 no_database_function = 5 no_editor_function = 6 no_show_auth = 7 no_tvdir_entry = 8 no_upd_auth = 9 only_show_allowed = 10 system_failure = 11 unknown_field_in_dba_sellist = 12 view_not_found = 13 maintenance_prohibited = 14 OTHERS = 15. ENDFORM.
下一篇: 用户参数...