ABAP-ITS服务发布
1.首先要创建一个程序
1 *&---------------------------------------------------------------------* 2 *& Report ZTEST05 3 *&---------------------------------------------------------------------* 4 *& 5 *&---------------------------------------------------------------------* 6 REPORT ztest05. 7 8 TYPES:BEGIN OF ty_data , 9 matnr TYPE marc-matnr, 10 mtart TYPE marc-werks, 11 xchar TYPE marc-xchar, 12 END OF ty_data . 13 14 DATA:gt_data TYPE TABLE OF ty_data, 15 gv_matnr TYPE mara-matnr. 16 17 *ALV相关变量 18 DATA:gs_alv TYPE REF TO cl_gui_alv_grid, "ALV类 19 gs_con TYPE REF TO cl_gui_custom_container, "容器类 20 g_dock TYPE REF TO cl_gui_docking_container, 21 gt_fieldcat TYPE lvc_t_fcat, "列格式 22 gs_fieldcat TYPE lvc_s_fcat, "列格式-结构 23 gs_stable TYPE lvc_s_stbl, "光标 24 gs_layout TYPE lvc_s_layo, "输出格式 25 gt_output TYPE STANDARD TABLE OF sflight, 26 ok_code TYPE sy-ucomm. 27 28 END-OF-SELECTION. 29 CALL SCREEN '9000' . 30 31 MODULE status_9000 OUTPUT. 32 33 SET PF-STATUS 'STATUS_9000'. 34 SET TITLEBAR 'TEXT01'. 35 36 ENDMODULE. 37 38 MODULE init OUTPUT. 39 40 IF gs_alv IS INITIAL. 41 PERFORM frm_create_alv. 42 "设置布局 43 PERFORM frm_set_layout. 44 "设置字段目录 45 PERFORM frm_set_fieldcat. 46 "ALV展示 47 PERFORM frm_alv_out. 48 ELSE. 49 PERFORM frm_refresh_alv. 50 ENDIF. 51 52 ENDMODULE. 53 54 MODULE user_command_9000 INPUT. 55 CALL METHOD gs_alv->check_changed_data."更改数据 56 DATA(lv_code) = ok_code. 57 CLEAR ok_code. 58 CASE lv_code. 59 WHEN '&F03' OR '&F12' OR '&F15'. 60 LEAVE TO SCREEN 0. 61 WHEN 'OK'. 62 PERFORM frm_select. 63 WHEN OTHERS. 64 ENDCASE. 65 ENDMODULE. 66 67 FORM frm_select . 68 69 IF gv_matnr IS NOT INITIAL . 70 71 SELECT * 72 INTO CORRESPONDING FIELDS OF TABLE @gt_data 73 FROM marc 74 WHERE matnr = @gv_matnr . 75 76 ELSE . 77 78 SELECT * 79 INTO CORRESPONDING FIELDS OF TABLE @gt_data 80 FROM marc . 81 82 ENDIF . 83 84 ENDFORM . 85 86 FORM frm_set_fieldcat. 87 DATA: lv_name TYPE lvc_s_fcat-fieldname, 88 lv_scrtext TYPE lvc_s_fcat-scrtext_l. 89 90 REFRESH:gt_fieldcat. 91 PERFORM frm_build_fieldcat USING : 92 'MATNR' '' '' 'X' 'MARC' 'MATNR' '' '物料编码' , 93 'WERKS' '' '' 'X' 'MARC' 'WERKS' '' '工厂' , 94 'XCHAR' '' '' 'X' 'MARC' 'XCHAR' '' '批次' . 95 96 ENDFORM. 97 98 FORM frm_build_fieldcat USING pv_fieldname 99 pv_edit 100 pv_no_out 101 pv_no_zero 102 pv_ref_table 103 pv_ref_field 104 pv_f4 105 pv_reptext. 106 107 CLEAR gs_fieldcat. 108 gs_fieldcat-fieldname = pv_fieldname. 109 gs_fieldcat-edit = pv_edit. 110 gs_fieldcat-no_out = pv_no_out. 111 gs_fieldcat-no_zero = pv_no_zero. 112 gs_fieldcat-ref_table = pv_ref_table. 113 gs_fieldcat-ref_field = pv_ref_field. 114 gs_fieldcat-f4availabl = pv_f4. 115 gs_fieldcat-coltext = pv_reptext. 116 gs_fieldcat-reptext = pv_reptext. 117 gs_fieldcat-scrtext_l = pv_reptext. 118 gs_fieldcat-scrtext_m = pv_reptext. 119 gs_fieldcat-scrtext_s = pv_reptext. 120 121 APPEND gs_fieldcat TO gt_fieldcat. 122 123 ENDFORM. 124 125 FORM frm_set_layout . 126 127 gs_layout-zebra = 'X'. 128 gs_layout-cwidth_opt = 'X'. 129 130 ENDFORM. 131 132 FORM frm_refresh_alv. 133 134 CALL METHOD gs_alv->set_frontend_layout 135 EXPORTING 136 is_layout = gs_layout. 137 138 gs_stable-row = 'X'. 139 gs_stable-col = 'X'. 140 141 CALL METHOD gs_alv->refresh_table_display 142 EXPORTING 143 is_stable = gs_stable. 144 145 ENDFORM. 146 147 FORM frm_alv_out. 148 149 DATA:gt_exclude TYPE ui_functions, 150 ls_exclude TYPE ui_func, 151 lv_save, 152 ls_variant TYPE disvariant. 153 lv_save = 'A'. 154 ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row . 155 APPEND ls_exclude TO gt_exclude. 156 ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row . 157 APPEND ls_exclude TO gt_exclude. 158 ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row . 159 APPEND ls_exclude TO gt_exclude. 160 ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row . 161 APPEND ls_exclude TO gt_exclude. 162 CALL METHOD gs_alv->set_table_for_first_display 163 EXPORTING 164 * i_buffer_active = 165 * i_bypassing_buffer = 166 * i_consistency_check = 167 * i_structure_name = 168 is_variant = ls_variant 169 i_save = lv_save 170 * i_default = 'X' 171 is_layout = gs_layout 172 * is_print = 173 * it_special_groups = 174 it_toolbar_excluding = gt_exclude 175 * it_hyperlink = 176 * it_alv_graphics = 177 * it_except_qinfo = 178 * ir_salv_adapter = 179 CHANGING 180 it_outtab = gt_data 181 it_fieldcatalog = gt_fieldcat 182 * it_sort = 183 * it_filter = 184 EXCEPTIONS 185 invalid_parameter_combination = 1 186 program_error = 2 187 too_many_lines = 3 188 OTHERS = 4. 189 190 ENDFORM. 191 192 FORM frm_create_alv. 193 194 "后台运行,没有GUI,会有错误。 195 "判断是否后台运行 196 IF cl_gui_alv_grid=>offline( ) IS INITIAL. 197 198 "前台运行 199 "创建容器 200 CREATE OBJECT gs_con 201 EXPORTING 202 container_name = 'GC_CON'. "customer control控件的名称 203 204 "将ALV植入到容器中 205 CREATE OBJECT gs_alv 206 EXPORTING 207 i_parent = gs_con. 208 ELSE . 209 210 "后台运行 211 CREATE OBJECT gs_alv EXPORTING i_parent = g_dock. 212 213 ENDIF . 214 215 ENDFORM .
2.创建事务码
3.创建服务
可以在head后加上<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
4.SICF激活服务
服务路径:/sap/bc/gui/sap/its/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!