例子程序1 excel批导

例子程序2(最最简单alv下传按钮)

例子程序3(最最简单alv按钮 改底表)

例子程序4(最简单alv报表,最简单)

例子程序1 excel批导

zmmrsk00500

Description: 物料主数据 ***** 批导 *&---------------------------------------------------------------------**& Report  ZMMRSK00500*&*&***********************************************************************& PROGRAM NAME        :                          **& Apply Author        : panjin                                        **& Author              : panjin                                        **& Started on          : 2021-                                        **& Transaction         : ZMMRSK00500                                   **& Program type        : REPORT                                        **& SAP Release         : ECC 6.0                                       **&                                                                     **&*&*********************************************************************& REVISION LOG                                                        **&                                                                     **& LOG# DATE       AUTHOR    DESCRIPTION                               **& ---- ----       ------    -----------                               ** ****  create 202101*&**********************************************************************REPORT ZMMRSK00500 MESSAGE-ID ZMMSK01.include ZMMRSK00500_top.include ZMMRSK00500_srm.include ZMMRSK00500_alv.include ZMMRSK00500_pai.include ZMMRSK00500_pbo.include ZMMRSK00500_f01.

zmmrsk00500_alv

zmmrsk00500_f01


*&---------------------------------------------------------------------**&  包含                ZMMRSK00500_F01*&---------------------------------------------------------------------**&---------------------------------------------------------------------**&      Form  FM_GET_FILE*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      <--P_P_FNAME  text*----------------------------------------------------------------------*FORM frm_get_file CHANGING CV_fname.DATA: l_work_rc          TYPE i.          "Return CodeDATA: l_lstr_filter    TYPE string.DATA: lt_ltb_file_table   TYPE filetable,ls_lwk_file_table  TYPE filename.CONCATENATE 'Excel 2007-2019(*.XLSX)|*.XLSX|' 'Excel(*.XLSX)|*.XLSX'INTO l_lstr_filter.CALL METHOD cl_gui_frontend_services=>file_open_dialogEXPORTINGwindow_title            = 'Select the file '*     DEFAULT_EXTENSION       =default_filename        = ''file_filter             = l_lstr_filterinitial_directory       = 'C:'*     MULTISELECTION          =*     WITH_ENCODING           =CHANGINGfile_table              = lt_ltb_file_tablerc                      = l_work_rc*     USER_ACTION             =*     FILE_ENCODING           =EXCEPTIONSfile_open_dialog_failed = 1cntl_error              = 2error_no_gui            = 3not_supported_by_gui    = 4OTHERS                  = 5.IF sy-subrc = 0.LOOP AT lt_ltb_file_table INTO ls_lwk_file_table.MOVE ls_lwk_file_table TO CV_fname.EXIT.ENDLOOP.ELSE.MESSAGE text-t10 TYPE 'E'.ENDIF.ENDFORM. " FM_GET_FILE*&---------------------------------------------------------------------**&      Form  FM_GET_FILEPATH*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_get_filepath .DATA:L_window_title TYPE STRING,L_file_filter TYPE STRING,l_filename TYPE string,l_path TYPE string,l_fullpath TYPE string,l_title TYPE string.g_co_objid = 'ZMMRSK00500'.L_WINDOW_TITLE = text-t27.L_file_filter = text-t28 .L_TITLE = text-t29.CALL METHOD cl_gui_frontend_services=>file_save_dialogEXPORTINGwindow_title         = L_window_title  " '模板保存为EXCEL' "text-t27 "'模板保存为EXCEL'default_extension    = 'xlsx'default_file_name    = l_title*     file_filter          = '.xls'file_filter          = l_file_filter  "'Excel 文件 (*.XLSX)'  "text-t28  " 'Excel 文件 (*.XLS)'initial_directory    = 'C:/'*     DEFAULT_FILE_NAME    = p_filenameCHANGINGfilename             = l_filenamepath                 = l_pathfullpath             = g_fullpathEXCEPTIONScntl_error           = 1error_no_gui         = 2not_supported_by_gui = 3OTHERS               = 4.IF sy-subrc <> 0.STOP.ENDIF.IF g_fullpath IS INITIAL.MESSAGE text-t11 TYPE 'E'.ENDIF.ENDFORM. " FM_GET_FILEPATH*&---------------------------------------------------------------------**&      Form  FM_DOWNM*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_downm .DATA:  ls_indcatortxt TYPE string,l_filename TYPE sapb-sappfad.DATA: lo_objdata LIKE wwwdatatab,lo_mime LIKE w3mime,ls_destination LIKE rlgrap-filename,ls_objnam TYPE string,l_rc LIKE sy-subrc,ls_errtxt TYPE string.l_filename = g_fullpath.ls_indcatortxt = text-t03. "'程序正在下载模板'.CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'EXPORTINGpercentage = 0text       = ls_indcatortxt.CONCATENATE g_co_objid '.XLSX' INTO ls_objnam.CONDENSE ls_objnam NO-GAPS.SELECT SINGLE relid objid FROM wwwdataINTO CORRESPONDING FIELDS OF lo_objdataWHERE srtf2    = 0AND relid    = 'MI'AND objid    = g_co_objid.IF sy-subrc NE 0 OR lo_objdata-objid EQ space.CONCATENATE text-t04 ls_objnam text-t05 INTO ls_errtxt.MESSAGE E000(ZMMSK01) WITH ls_errtxt.ENDIF.ls_destination   = g_fullpath.CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'EXPORTINGkey         = lo_objdatadestination = ls_destinationIMPORTINGrc          = l_rc.IF l_rc NE 0.CONCATENATE text-t04 ls_objnam text-t06 INTO ls_errtxt.MESSAGE e000(ZMMSK01) with ls_errtxt.ENDIF.ENDFORM. " FM_DOWNM*&---------------------------------------------------------------------**&      Form  FM_FILE_READ*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_file_read .CLEAR: gt_iexcel,   "gt_iexcel[], "gt_itab.  "call function 'ZALSM_EXCEL_TO_INTERNAL_TABLE'EXPORTINGfilename                = p_fnamei_begin_col             = g_cns_excel_scoli_begin_row             = g_cns_excel_srowi_end_col               = g_cns_excel_ecoli_end_row               = g_cns_excel_erowTABLESintern                  = gt_iexcelEXCEPTIONSinconsistent_parameters = 1upload_ole              = 2OTHERS                  = 3.IF sy-subrc <> 0.MESSAGE text-t07 TYPE 'E'.EXIT.ENDIF.SORT gt_iexcel BY row col.CLEAR gt_itab.PERFORM frm_read_ycl.IF gt_itab[] IS INITIAL.MESSAGE text-t08  TYPE 'E'.EXIT.ELSE.ENDIF.ENDFORM. " FM_FILE_READ

zmmrsk00500_pai

*&---------------------------------------------------------------------**&  包含                ZMMRSK00500_PAI*&---------------------------------------------------------------------**&---------------------------------------------------------------------**&      Form  user_command*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      -->IN_UCOMM     text*      -->IN_SELFIELD  text*----------------------------------------------------------------------*FORM FRM_user_command USING PV_ucomm LIKE sy-ucommPS_selfield TYPE slis_selfield.PS_selfield-refresh = 'X'.DATA: lr_grid  TYPE REF TO cl_gui_alv_grid.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTINGe_grid = lr_grid.CALL METHOD lr_grid->check_changed_data.CASE PV_ucomm.WHEN '&SEL'.PERFORM frm_SELECT.WHEN '&DESEL'.PERFORM frm_DESELECT.WHEN '&IC1'.*      IF in_selfield-fieldname = 'MATNR' .*        SET PARAMETER ID 'MAT' FIELD in_selfield-value.*        CALL TRANSACTION 'CS03' .*      ENDIF.WHEN '&UPLOAD'.PERFORM frm_upload.ENDCASE.ENDFORM. "user_command*&---------------------------------------------------------------------**&      Form  FRM_SELECT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM FRM_SELECT .LOOP AT gt_itab  WHERE SEL = 'X'.gt_itab-chkbox = 'X'.MODIFY gt_itab  TRANSPORTING chkbox.ENDLOOP.ENDFORM. " FRM_SELECT*&---------------------------------------------------------------------**&      Form  FRM_DESELECT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM FRM_DESELECT .LOOP AT gt_itab  WHERE SEL = 'X'.gt_itab-chkbox = ''.MODIFY gt_itab  TRANSPORTING chkbox.ENDLOOP.ENDFORM. " FRM_DESELECT*&---------------------------------------------------------------------**&      Form  FRM_UPLOAD*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM FRM_UPLOAD .data:lt_ZMMTSK00090 type TABLE OF ZMMTSK00090 WITH HEADER LINE.LOOP AT gt_itab WHERE chkbox = 'X'.MOVE-CORRESPONDING gt_itab to lt_ZMMTSK00090.   "append lt_ZMMTSK00090.  "CLEAR:lt_ZMMTSK00090.  "ENDLOOP.IF sy-subrc ne 0.MESSAGE text-e01 type 'E'.   "请先选择exit.ENDIF.IF lt_ZMMTSK00090[] is not INITIAL.MODIFY ZMMTSK00090 FROM TABLE lt_ZMMTSK00090.commit WORK.ENDIF.REFRESH:lt_ZMMTSK00090[].LOOP AT gt_itab WHERE chkbox = 'X'.gt_itab-icon  = ICON_GREEN_LIGHT.modify gt_itab.ENDLOOP.MESSAGE text-t30 type 'S'.ENDFORM. " FRM_UPLOAD

zmmrsk00500_pbo

*&---------------------------------------------------------------------**&  包含                ZMMRSK00500_PBO*&---------------------------------------------------------------------**&---------------------------------------------------------------------**&      Form  DISPLAY*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_display .PERFORM frm_build_fact.PERFORM frm_set_layout.PERFORM frm_display_alv.ENDFORM. " DISPLAY*&---------------------------------------------------------------------**&      Form  BUILD_FACT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_build_fact .DEFINE def_fieldcat.clear gs_fieldcat.gs_fieldcat-fieldname = &1.gs_fieldcat-reptext = &2.gs_fieldcat-edit = &3.gs_fieldcat-no_zero = &4.gs_fieldcat-fix_column(1) = &5.gs_fieldcat-just = &6.**    if &1 = 'C'.**      gw_fieldcat-checkbox = 'X'.**    endif.*    if &1 = 'BANFN'.*      gw_fieldcat-hotspot = 'X'.*      gw_fieldcat-emphasize = 'C500'.*    endif.append gs_fieldcat to gt_fieldcat.END-OF-DEFINITION.REFRESH gt_fieldcat[].gs_fieldcat-fieldname = 'CHKBOX'.gs_fieldcat-datatype = 'CHAR'.gs_fieldcat-intlen = 1.gs_fieldcat-COLTEXT = text-t24.gs_fieldcat-checkbox = 'X'.gs_fieldcat-edit = 'X'.gs_fieldcat-FIX_COLUMN = 'X'.append gs_fieldcat to gt_fieldcat.CLEAR gs_fieldcat.def_fieldcat   'ICON'  text-T01    ''  'X'  ''  ''.def_fieldcat   'MATNR_FR'  text-T12    ''  'X'  ''  ''. def_fieldcat   'MATNR_TO'  text-T13    ''  ''  ''  ''. def_fieldcat   'KLART'  text-T14    ''  ''  ''  ''.  "def_fieldcat   'CLASS'  text-T15    ''  ''  ''  ''.  def_fieldcat   'ZSFZJ'  text-T16    ''  ''  ''  ''.  def_fieldcat   'ZAUTO'  text-T17   ''  ''  ''  ''.   def_fieldcat   'LGORT'  text-T18    ''  ''  ''  ''.   def_fieldcat   'UMLGO'  text-T19    ''  ''  ''  ''.   def_fieldcat   'BWART'  text-T20    ''  ''  ''  ''.   def_fieldcat   'XCHPF_H'  text-T21    ''  ''  ''  ''.   def_fieldcat   'XCHPF_X' text-T22   ''  ''  ''  ''.    def_fieldcat   'ZNOTE'  text-T23    ''  ''  ''  ''.
ENDFORM. " BUILD_FACT*&---------------------------------------------------------------------**&      Form  SET_LAYOUT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_set_layout .gs_layo-zebra = 'X'.gs_layo-cwidth_opt = 'X'.gs_layo-box_fname      = 'SEL'.ENDFORM. " SET_LAYOUT*&---------------------------------------------------------------------**&      Form  DISPLAY_ALV*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_display_alv .g_repid = sy-repid.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_pf_status_set = 'FRM_STATUS'i_callback_user_command  = 'FRM_USER_COMMAND'*     i_callback_top_of_page   = 'FM_ALV_TOP'i_callback_program       = g_repidit_fieldcat_lvc          = gt_fieldcatis_layout_lvc            = gs_layoTABLESt_outtab                 = gt_itab[].IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.ENDFORM. " DISPLAY_ALV*&---------------------------------------------------------------------**&      Form  set_pf_status*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      -->RT_EXTAB   text*----------------------------------------------------------------------*FORM frm_status USING ps_extab TYPE slis_t_extab.SET PF-STATUS '0100' EXCLUDING ps_extab.ENDFORM. "set_pf_status*&---------------------------------------------------------------------**&      Form  READ_YCL*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_read_ycl .DATA:lv_col TYPE i.FIELD-SYMBOLS:<l_field> type any.LOOP AT gt_iexcel.CASE gt_iexcel-col.WHEN '0001'.IF strlen( gt_iexcel-value ) <= 16.CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'EXPORTINGinput  = gt_iexcel-valueIMPORTINGoutput = gt_itab-MATNR_FR.ELSE.gt_itab-MATNR_FR = gt_iexcel-value.ENDIF.WHEN '0002'.IF strlen( gt_iexcel-value ) <= 16.CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'EXPORTINGinput  = gt_iexcel-valueIMPORTINGoutput = gt_itab-MATNR_TO.ELSE.gt_itab-MATNR_TO = gt_iexcel-value.ENDIF.WHEN OTHERS.CONDENSE gt_iexcel-value NO-GAPS.TRANSLATE gt_iexcel-value TO UPPER CASE.lv_col = gt_iexcel-col + 1.ASSIGN COMPONENT lv_col OF STRUCTURE gt_itab TO <l_field>.IF sy-subrc = 0.TRY.<l_field> = gt_iexcel-value.CATCH cx_sy_conversion_no_number."非数值ENDTRY.ENDIF.ENDCASE.AT END OF row.*      if sy-subrc ne 0.*        gt_itab-msg = '此组件在此工厂不存在 '.*        gt_itab-ICON = '@0A@'.*      endif.gt_itab-CHKBOX = 'X'.APPEND  gt_itab.CLEAR: gt_itab.ENDAT.ENDLOOP.ENDFORM. " READ_YCL

zmmrsk00500_srm

*&---------------------------------------------------------------------**&  包含                ZMMRSK00500_SRM*&---------------------------------------------------------------------*INITIALIZATION.g_functxt-icon_id = icon_export.g_functxt-icon_text = TEXT-T25. "'下载EXCEL模板'.g_functxt-quickinfo = TEXT-T25.  "'下载EXCEL模板'.sscrfields-functxt_01 = g_functxt.AT SELECTION-SCREEN.CASE sscrfields-ucomm.WHEN 'FC01'.PERFORM frm_get_filepath.PERFORM frm_downm.WHEN 'ONLI'.IF p_fname IS INITIAL.SET CURSOR FIELD 'P_FNAME'.MESSAGE text-t09 TYPE 'E'.ENDIF.ENDCASE.AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.PERFORM frm_get_file CHANGING p_fname.START-OF-SELECTION.PERFORM frm_file_read.PERFORM frm_display.

zmmrsk00500_top

*&---------------------------------------------------------------------**&  包含                ZMMRSK00500_TOP*&---------------------------------------------------------------------*TYPE-POOLS: slis,icon.TABLES:sscrfields.TYPES: BEGIN OF ty_data.include structure ZMMTSK00090.TYPES:icon(30),msg  TYPE  string,chkbox(1),sel(1),END OF ty_data.DATA: gt_itab TYPE TABLE OF ty_data WITH HEADER LINE,gt_itab_tmp TYPE TABLE OF ty_data WITH HEADER LINE.DATA: g_co_objid TYPE wwwdatatab-objid .data : g_cns_excel_scol TYPE i VALUE 1, "EXCEL START COLg_cns_excel_srow   TYPE i VALUE 2,      "EXCEL START ROWg_cns_excel_ecol   TYPE i VALUE 50,     "EXCEL END COLg_cns_excel_erow   TYPE i VALUE 50000.   "EXCEL END ROWDATA:BEGIN OF gt_iexcel OCCURS 0.INCLUDE STRUCTURE alsmex_tabline.DATA:END OF gt_iexcel.DATA: g_functxt TYPE smp_dyntxt,g_fullpath TYPE string.DATA: gt_fieldcat TYPE lvc_t_fcat,gs_fieldcat   TYPE  lvc_s_fcat,g_repid       TYPE  sy-repid VALUE sy-repid,gs_layo       TYPE  lvc_s_layo.SELECTION-SCREEN: FUNCTION KEY 1.SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t26.PARAMETERS:p_fname TYPE rlgrap-filename.SELECTION-SCREEN END OF BLOCK b2.

例子程序2   最最简单alv下传按钮 me

**&**********************************************************************& PROGRAM NAME :******                **& Module Name :  *                                                 **& Apply Author :                                                      **& Author :                                                          **& Started on : 2020-10                                             **& Transaction : ZWMESK00640                                          **& Program type : Reprot                                               **& SAP Release : 46C/ECC 6.0                                           **& Program ID : ZWMESK00640                                           **& Program Description : ********        **&*&*********************************************************************& REVISION LOG                                                        **& LOG# DATE AUTHOR DESCRIPTION                                        **& ---- ---- ------ ----------- ----------- ----------- ----------- ---**& 0001 2020-10   ****  Initial Creation                             **&**********************************************************************REPORT ZWMESK00640.TABLES: ZMMTSK00110,ZMMTHQ00062.type-pools:slis.data:BEGIN OF gt_itab OCCURS 10.include structure ZMMTSK00110.data:chkbox(1),sel(1),icon(30),id        TYPE int4.data:end of gt_itab.data:gt_ZMMTSK00100 LIKE TABLE OF ZMMTSK00100 WITH HEADER LINE.data: gt_exclude type ui_functions .*==alvDATA: gt_fieldcat TYPE lvc_t_fcat, "SLIS_T_FIELDCAT_ALV .gs_fieldcat         TYPE lvc_s_fcat,gs_layout           TYPE lvc_s_layo,  "SLIS_LAYOUT_ALV ,gs_glay             TYPE lvc_s_glay.DATA: gt_events TYPE slis_t_event,gt_event_exit       TYPE slis_t_event_exit,gt_list_comments    TYPE slis_t_listheader,gt_excluding        TYPE slis_t_extab.DATA: gs_events LIKE LINE OF gt_events,gs_event_exit       LIKE LINE OF gt_event_exit,gs_list_comments    LIKE LINE OF gt_list_comments,gs_excluding        LIKE LINE OF gt_excluding.DATA: g_repid LIKE sy-repid ,g_title TYPE lvc_title,g_html_top_of_page TYPE  slis_formname.selection-screen begin of block bl1 with frame title text-001.select-options s_werks for ZMMTSK00110-werks memory id WRK.select-options s_mblnr for ZMMTSK00110-mblnr .select-options s_datum for ZMMTSK00110-datum.select-options s_FLAG for ZMMTSK00110-FLAG.selection-screen end of block bl1.START-OF-SELECTION.PERFORM frm_get_data.PERFORM frm_process_data.PERFORM frm_alv.FORM frm_get_data .SELECT * FROM ZMMTSK00110INTO CORRESPONDING FIELDS OF TABLE gt_itabWHERE werks in s_werksand mblnr in s_mblnrand datum in s_datumand flag in s_flag.sort gt_itab by DATUM DESCENDING UZEIT DESCENDING.SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_ZMMTSK00100     "收件人表FROM ZMMTSK00100WHERE del ne 'X'.ENDFORM.*&---------------------------------------------------------------------**&      Form  FRM_PROCESS_DATA*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM FRM_PROCESS_DATA .LOOP AT gt_itab.gt_itab-id = sy-tabix.*    SELECT SINGLE name1*      INTO gt_itab-werks_txt*    FROM t001w*     WHERE werks eq gt_itab-werks.modify gt_itab.CLEAR:gt_itab.ENDLOOP.ENDFORM.FORM frm_alv.DEFINE  alv_field.clear gs_fieldcat.gs_fieldcat-fieldname = &1.gs_fieldcat-coltext = &2.gs_fieldcat-fix_column = &3.gs_fieldcat-emphasize  = &4.gs_fieldcat-edit_mask  = &5.gs_fieldcat-no_zero    = &6.IF &1 EQ 'MBLNR'.gs_fieldcat-HOTSPOT  = 'X'..ENDIF.append gs_fieldcat to gt_fieldcat.END-OF-DEFINITION.refresh gt_events.refresh gt_fieldcat.gs_fieldcat-fieldname = 'CHKBOX'.gs_fieldcat-datatype = 'CHAR'.gs_fieldcat-intlen = 1.gs_fieldcat-coltext =  text-t36 . "'选择'.gs_fieldcat-checkbox = 'X'.gs_fieldcat-edit = 'X'.gs_fieldcat-fix_column = 'X'.append gs_fieldcat to gt_fieldcat.CLEAR gs_fieldcat.*  alv_field 'ID'     text-t09  ''  ''  ''  '' .    "alv_field 'ICON'     text-t10  ''  ''  ''  '' .    "alv_field 'WERKS'     text-t01  ''  ''  ''  '' .    "alv_field 'MBLNR'     text-t02  ''  ''  ''  '' .   "alv_field 'MJAHR'     text-t03  ''  ''  ''  '' .   "alv_field 'MB_DATUM'     text-t14  ''  ''  ''  '' .   "alv_field 'MB_BUDAT'     text-t15  ''  ''  ''  '' .   "alv_field 'FLAG'     text-t04  ''  ''  ''  '' .alv_field 'DATUM'     text-t05  ''  ''  ''  '' .alv_field 'UZEIT'     text-t06  ''  ''  ''  '' .alv_field 'UNAME'     text-t07  ''  ''  ''  '' .alv_field 'MSG'     text-t08  ''  ''  ''  '' .g_repid = sy-repid.gs_layout-cwidth_opt = 'X'.*  gs_layout-sel_mode = 'A'.gs_layout-box_fname      = 'SEL'.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_pf_status_set = 'FRM_SET_STATUS'i_callback_program       = g_repidi_callback_user_command  = 'FRM_USER_COMMAND'*     I_GRID_TITLE             = G_TITLEi_grid_settings          = gs_glayis_layout_lvc            = gs_layoutit_fieldcat_lvc          = gt_fieldcati_default                = 'X'i_save                   = 'X'TABLESt_outtab                 = gt_itab[]EXCEPTIONSprogram_error            = 1others                   = 2.if sy-subrc <> 0.message id sy-msgid type sy-msgty number sy-msgnowith sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.endif.ENDFORM.*---------------------------------------------------------------------**       FORM fRM_user_command                                         **---------------------------------------------------------------------**       ........                                                      **---------------------------------------------------------------------**  -->  pv_ucomm                                                       **  -->  ps_rs_selfield                                                 **---------------------------------------------------------------------*FORM frm_user_command USING pv_ucomm TYPE sy-ucommps_selfield TYPE slis_selfield .ps_selfield-refresh = 'X'.data:lo_grid type ref to cl_gui_alv_grid.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTING   "e_grid = lo_grid.   "CALL METHOD lo_grid->check_changed_data.  "CASE pv_ucomm.WHEN '&SEL'.PERFORM frm_select.WHEN '&DESEL'.PERFORM frm_deselect.WHEN '&TRANS'.PERFORM frm_trans .WHEN '&IC1'.check not ps_selfield-value is initial.case ps_selfield-fieldname.when 'MBLNR'.set parameter id 'MBN' field ps_selfield-value.call transaction 'MB03' and skip first screen.endcase.WHEN OTHERS.ENDCASE.endform.*---------------------------------------------------------------------**       FORM FRM_SET_STATUS                                           **---------------------------------------------------------------------**       ........                                                      **---------------------------------------------------------------------**  -->  P_EXTAB                                                       **---------------------------------------------------------------------*FORM frm_set_status USING pt_extab TYPE slis_t_extab.SET PF-STATUS '0100'.ENDFORM. "FRM_SET_STATUS*&---------------------------------------------------------------------**&      Form  FRM_SELECT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_select .LOOP AT gt_itab  WHERE sel = 'X'.gt_itab-chkbox = 'X'.MODIFY gt_itab  TRANSPORTING chkbox.ENDLOOP.ENDFORM. " FRM_SELECT*&---------------------------------------------------------------------**&      Form  FRM_DESELECT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_deselect .LOOP AT gt_itab  WHERE sel = 'X'.gt_itab-chkbox = ''.MODIFY gt_itab  TRANSPORTING chkbox.ENDLOOP.ENDFORM. " FRM_DESELECT*&---------------------------------------------------------------------**&      Form  FRM_TRANS*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM FRM_TRANS .data:lt_matnr type TABLE OF ZMMSSK00060 WITH HEADER LINE,lt_matnr_tmp type TABLE OF ZMMSSK00060 WITH HEADER LINE.data:ls_wa type ZMMTSK00110.data:BEGIN OF lt_mblnr OCCURS 10,mblnr type mblnr,mjahr type mjahr,END OF lt_mblnr.data:lv_flag type CHAR1,lv_msg type CHAR200.LOOP AT gt_itab WHERE chkbox = 'X'.lt_mblnr-mblnr =  gt_itab-mblnr.lt_mblnr-mjahr =  gt_itab-mjahr.append lt_mblnr.CLEAR:lt_mblnr.ENDLOOP.IF sy-subrc ne 0.MESSAGE text-e01 type 'E'.   "请先选择exit.ENDIF.IF lt_mblnr[] is not INITIAL.SELECT mseg~MBLNR mseg~MJAHR mseg~matnr mseg~chargmseg~erfmg as menge mseg~erfme as meins mseg~bwartmkpf~USNAMINTO CORRESPONDING FIELDS OF TABLE lt_matnrFROM mseg INNER JOIN mkpf on mkpf~mblnr eq mseg~mblnr and mseg~mjahr eq mkpf~mjahrFOR ALL ENTRIES IN lt_mblnrwhere mseg~mblnr eq lt_mblnr-mblnrand mseg~mjahr eq lt_mblnr-mjahrand mseg~shkzg eq 'H'and mseg~werks eq 'SKM1'and mseg~MATNR ne spaceand mseg~charg  ne space.ENDIF.LOOP AT lt_matnr.SELECT SINGLE * FROM ZMMTHQ00062WHERE matnr eq lt_matnr-matnr.IF sy-subrc ne 0 or ZMMTHQ00062-FERTH is  INITIAL.delete lt_matnr.ENDIF.ENDLOOP.sort lt_matnr by matnr charg meins mblnr mjahr.delete ADJACENT DUPLICATES FROM lt_matnr COMPARING ALL FIELDS.LOOP AT gt_itab WHERE chkbox = 'X'.MOVE-CORRESPONDING gt_itab to ls_wa.lt_matnr_tmp[] = lt_matnr[].delete lt_matnr_tmp WHERE mblnr ne gt_itab-mblnr or mjahr ne gt_itab-mjahr.call function 'ZFM_MM_SK_MAIL'EXPORTINGIS_WA      = ls_waIMPORTINGEV_FLAG    = LV_FLAGEV_MSG     = LV_MSGTABLESIT_MATNR   = lt_matnr_tmpIT_ADDRESS = gt_ZMMTSK00100.gt_itab-flag = lv_flag.IF lv_msg is not INITIAL.gt_itab-icon =  icon_led_red.gt_itab-msg = lv_msg.else.gt_itab-icon  = ICON_GREEN_LIGHT.ENDIF.modify gt_itab.CLEAR:gt_itab,lv_msg,lv_flag.REFRESH:lt_matnr_tmp[].ENDLOOP.SUBMIT rsconn01 WITH mode = 'INT'  "立即执行"WITH output = 'X'AND RETURN.REFRESH:lt_mblnr[],lt_matnr[].ENDFORM. " FRM_TRANS

例子程序3(最最简单alv按钮 改底表me)

**&**********************************************************************& PROGRAM NAME : *******                               **& Module Name :  ****                                                  **& Author :       *****                                               **& Started on :   2021.01                                           **& Transaction :  ZPSRSK00010                                        **& Program type : REPROT                                               **& Program ID :   ZPSRSK00010                                        **& Program Description : sm30 维护 Z 表                     **&*&*********************************************************************& LOG#  DATE        AUTHOR    DESCRIPTION                             **& ----  ------     ------     -----                                   ***&**********************************************************************REPORT ZPSRSK00030.TABLES: PRPS.type-pools:slis.data:BEGIN OF gt_itab OCCURS 10.INCLUDE STRUCTURE prps.data:chkbox(1),sel(1),icon(30),id        TYPE int4.data:end of gt_itab.*data:gt_ZMMTSK00100 LIKE TABLE OF ZMMTSK00100 WITH HEADER LINE.data: gt_exclude type ui_functions .*==alvDATA: gt_fieldcat TYPE lvc_t_fcat, "SLIS_T_FIELDCAT_ALV .gs_fieldcat         TYPE lvc_s_fcat,gs_layout           TYPE lvc_s_layo,  "SLIS_LAYOUT_ALV ,gs_glay             TYPE lvc_s_glay.DATA: gt_events TYPE slis_t_event,gt_event_exit       TYPE slis_t_event_exit,gt_list_comments    TYPE slis_t_listheader,gt_excluding        TYPE slis_t_extab.DATA: gs_events LIKE LINE OF gt_events,gs_event_exit       LIKE LINE OF gt_event_exit,gs_list_comments    LIKE LINE OF gt_list_comments,gs_excluding        LIKE LINE OF gt_excluding.DATA: g_repid LIKE sy-repid ,g_title TYPE lvc_title,g_html_top_of_page TYPE  slis_formname.selection-screen begin of block bl1 with frame title text-001.select-options s_WBS for PRPS-POSID.selection-screen end of block bl1.START-OF-SELECTION.PERFORM frm_get_data.PERFORM frm_process_data.PERFORM frm_alv.FORM frm_get_data .SELECT * FROM prpsINTO CORRESPONDING FIELDS OF TABLE gt_itabWHERE POSID in s_wbsand werks like 'SK%'.ENDFORM.*&---------------------------------------------------------------------**&      Form  FRM_PROCESS_DATA*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM FRM_PROCESS_DATA .LOOP AT gt_itab.gt_itab-id = sy-tabix.*    SELECT SINGLE name1*      INTO gt_itab-werks_txt*    FROM t001w*     WHERE werks eq gt_itab-werks.modify gt_itab.CLEAR:gt_itab.ENDLOOP.ENDFORM.FORM frm_alv.DEFINE  alv_field.clear gs_fieldcat.gs_fieldcat-fieldname = &1.gs_fieldcat-coltext = &2.gs_fieldcat-fix_column = &3.gs_fieldcat-emphasize  = &4.gs_fieldcat-edit  = &5.gs_fieldcat-no_zero    = &6.IF &1 EQ 'POSID'.gs_fieldcat-HOTSPOT  = 'X'..ENDIF.append gs_fieldcat to gt_fieldcat.END-OF-DEFINITION.refresh gt_events.refresh gt_fieldcat.gs_fieldcat-fieldname = 'CHKBOX'.gs_fieldcat-datatype = 'CHAR'.gs_fieldcat-intlen = 1.gs_fieldcat-coltext =  text-t00 . "'选择'.gs_fieldcat-checkbox = 'X'.gs_fieldcat-edit = 'X'.gs_fieldcat-fix_column = 'X'.append gs_fieldcat to gt_fieldcat.CLEAR gs_fieldcat.alv_field 'ICON'     text-t01  ''  ''  ''  '' .    "alv_field 'POSID'     text-t02  ''  ''  ''  '' .    "alv_field 'POST1'     text-t03  ''  ''  ''  '' .   "alv_field 'CUSFILD40'     text-t04  ''  ''  'X'  '' .   "alv_field 'CUSFILD43'     text-t05  ''  ''  'X'  '' .   "alv_field 'CUSFILD91'     text-t06  ''  ''  'X'  '' .   "alv_field 'CUSFILD92'     text-t07  ''  ''  'X'  '' .alv_field 'CUSFILD94'     text-t08  ''  ''  'X'  '' .alv_field 'XMZTZ'     text-t09  ''  ''  'X'  '' .alv_field 'EJDW'     text-t10  ''  ''  'X'  '' .g_repid = sy-repid.gs_layout-cwidth_opt = 'X'.*  gs_layout-sel_mode = 'A'.gs_layout-box_fname      = 'SEL'.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_pf_status_set = 'FRM_SET_STATUS'i_callback_program       = g_repidi_callback_user_command  = 'FRM_USER_COMMAND'*     I_GRID_TITLE             = G_TITLEi_grid_settings          = gs_glayis_layout_lvc            = gs_layoutit_fieldcat_lvc          = gt_fieldcati_default                = 'X'i_save                   = 'X'TABLESt_outtab                 = gt_itab[]EXCEPTIONSprogram_error            = 1others                   = 2.if sy-subrc <> 0.message id sy-msgid type sy-msgty number sy-msgnowith sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.endif.ENDFORM.*---------------------------------------------------------------------**       FORM fRM_user_command                                         **---------------------------------------------------------------------**       ........                                                      **---------------------------------------------------------------------**  -->  pv_ucomm                                                       **  -->  ps_rs_selfield                                                 **---------------------------------------------------------------------*FORM frm_user_command USING pv_ucomm TYPE sy-ucommps_selfield TYPE slis_selfield .ps_selfield-refresh = 'X'.data:lo_grid type ref to cl_gui_alv_grid.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTING   "e_grid = lo_grid.   "CALL METHOD lo_grid->check_changed_data.  "CASE pv_ucomm.WHEN '&SEL'.PERFORM frm_select.WHEN '&DESEL'.PERFORM frm_deselect.WHEN '&TRANS'.PERFORM frm_edit .WHEN '&IC1'.check not ps_selfield-value is initial.case ps_selfield-fieldname.when 'POSID'.set parameter id 'CAC' field 'SINO'.set parameter id 'PSP' field ''.set parameter id 'PRO' field ps_selfield-VALUE.call transaction 'CJ20' and skip first screen.endcase.WHEN OTHERS.ENDCASE.endform.*---------------------------------------------------------------------**       FORM FRM_SET_STATUS                                           **---------------------------------------------------------------------**       ........                                                      **---------------------------------------------------------------------**  -->  P_EXTAB                                                       **---------------------------------------------------------------------*FORM frm_set_status USING pt_extab TYPE slis_t_extab.SET PF-STATUS '0100'.ENDFORM. "FRM_SET_STATUS*&---------------------------------------------------------------------**&      Form  FRM_SELECT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_select .LOOP AT gt_itab  WHERE sel = 'X'.gt_itab-chkbox = 'X'.MODIFY gt_itab  TRANSPORTING chkbox.ENDLOOP.ENDFORM. " FRM_SELECT*&---------------------------------------------------------------------**&      Form  FRM_DESELECT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_deselect .LOOP AT gt_itab  WHERE sel = 'X'.gt_itab-chkbox = ''.MODIFY gt_itab  TRANSPORTING chkbox.ENDLOOP.ENDFORM. " FRM_DESELECT*&---------------------------------------------------------------------**&      Form  FRM_TRANS*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM FRM_EDIT .data:lw_prps type prps.BREAK PJPAN.LOOP AT gt_itab WHERE chkbox = 'X'and ( CUSFILD40 is not INITIALor  CUSFILD43 is not INITIALor  CUSFILD91 is not INITIALor  CUSFILD92 is not INITIALor  CUSFILD94 is not INITIALor XMZTZ is not INITIALor EJDW is not INITIAL ).ENDLOOP.IF sy-subrc ne 0.MESSAGE text-e01 type 'E'.   "请先选择exit.ENDIF.LOOP AT gt_itab WHERE chkbox = 'X'.SELECT SINGLE * INTO lw_prpsFROM prpswhere PSPNR eq gt_itab-PSPNR.IF sy-subrc = 0.IF gt_itab-CUSFILD40 is not INITIAL.lw_prps-CUSFILD40 = gt_itab-CUSFILD40.ENDIF.IF gt_itab-CUSFILD43 is not INITIAL.lw_prps-CUSFILD43 = gt_itab-CUSFILD43.ENDIF.IF gt_itab-CUSFILD91 is not INITIAL.lw_prps-CUSFILD91 = gt_itab-CUSFILD91.ENDIF.IF gt_itab-CUSFILD92 is not INITIAL.lw_prps-CUSFILD92 = gt_itab-CUSFILD92.ENDIF.IF gt_itab-CUSFILD94 is not INITIAL.lw_prps-CUSFILD94 = gt_itab-CUSFILD94.ENDIF.IF gt_itab-XMZTZ is not INITIAL.lw_prps-XMZTZ = gt_itab-XMZTZ.ENDIF.IF gt_itab-EJDW is not INITIAL.lw_prps-EJDW = gt_itab-EJDW.ENDIF.modify prps FROM lw_prps.commit WORK.   ""#EC CI_SEL_NESTEDgt_itab-icon = ICON_GREEN_LIGHT.else.gt_itab-icon  = icon_led_red.ENDIF.modify gt_itab.CLEAR:gt_itab,lw_prps.ENDLOOP.ENDFORM. " FRM_TRANS

例子程序4(zqmrsk00010 ,最简单alv报表,最简单 me)

*&---------------------------------------------------------------------**& PROGRAM NAME        : Quality inspection result                                **& Module Name         : QM                                            **& Apply Author        : ***                                      **& Author              : *****                                       **& Started on          : 2020-10-20                                    **& Transaction         : ZQMRSK00010                               **& Program type        : Interactive Report                            **& SAP Release         : 46C/ECC 6.0                                   **& Program ID          : ZQMRSK00010                                  **& Program Description : Quality inspection result                              **&---------------------------------------------------------------------**& REVISION LOG                                                        **&                                                                     **& LOG#     DATE        AUTHOR       DESCRIPTION                       **& ----   ----------  ----------   ----------------                    **& 0001   2020-10-20    panjin    Initial Creation(移植)              **&                                 原事务码:*****                   **&---------------------------------------------------------------------*REPORT zqmrsk00010.TABLES: zqmtsk00010.TYPE-POOLS:slis.DATA:BEGIN OF gt_itab OCCURS 10.include structure zqmtsk00010.DATA:werks_txt(100).DATA:END OF gt_itab.DATA: gt_exclude TYPE ui_functions .*==alvDATA: gt_fieldcat TYPE lvc_t_fcat, "SLIS_T_FIELDCAT_ALV .gs_fieldcat         TYPE lvc_s_fcat,gs_layout           TYPE lvc_s_layo,  "SLIS_LAYOUT_ALV ,gs_glay             TYPE lvc_s_glay.DATA: gt_events TYPE slis_t_event,gt_event_exit       TYPE slis_t_event_exit,gt_list_comments    TYPE slis_t_listheader,gt_excluding        TYPE slis_t_extab.DATA: gs_events LIKE LINE OF gt_events,gs_event_exit       LIKE LINE OF gt_event_exit,gs_list_comments    LIKE LINE OF gt_list_comments,gs_excluding        LIKE LINE OF gt_excluding.DATA: g_repid LIKE sy-repid ,g_title TYPE lvc_title,g_html_top_of_page TYPE  slis_formname.SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-001.*SELECT-OPTIONS s_werks FOR zqmtsk00010-werks MEMORY ID wrk.*SELECT-OPTIONS s_charg FOR zqmtsk00010-charg .*SELECT-OPTIONS s_budat FOR zqmtsk00010-budat.*SELECT-OPTIONS s_crdat FOR zqmtsk00010-crdat.SELECT-OPTIONS: s_cbeln FOR zqmtsk00010-cbeln,s_werks FOR zqmtsk00010-werks DEFAULT 'SKH1' MEMORY ID wrk,s_charg FOR zqmtsk00010-charg,s_atnam FOR zqmtsk00010-atnam,s_pmtnr FOR zqmtsk00010-pmtnr,s_atwrt FOR zqmtsk00010-atwrt,s_inval FOR zqmtsk00010-inval,s_budat FOR zqmtsk00010-budat,s_uzeit FOR zqmtsk00010-uzeit,s_crdat FOR zqmtsk00010-crdat DEFAULT sy-datum,s_crtim FOR zqmtsk00010-crtim.SELECTION-SCREEN SKIP.PARAMETERS: p_lines TYPE i DEFAULT 500.SELECTION-SCREEN END OF BLOCK bl1.START-OF-SELECTION.PERFORM frm_get_data.PERFORM frm_process_data.PERFORM frm_alv.*&---------------------------------------------------------------------**&      Form  frm_get_data*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------*FORM frm_get_data .************************** 获取数据SELECT *FROM zqmtsk00010UP TO p_lines ROWSINTO CORRESPONDING FIELDS OF TABLE gt_itabWHERE cbeln IN s_cbelnAND werks IN s_werksAND charg IN s_chargAND atnam IN s_atnamAND pmtnr IN s_pmtnrAND atwrt IN s_atwrtAND inval IN s_invalAND budat IN s_budatAND uzeit IN s_uzeitAND crdat IN s_crdatAND crtim IN s_crtim.SORT gt_itab BY cbeln.ENDFORM. "frm_get_data*&---------------------------------------------------------------------**&      Form  FRM_PROCESS_DATA*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM frm_process_data .LOOP AT gt_itab.SELECT SINGLE name1INTO gt_itab-werks_txtFROM t001wWHERE werks EQ gt_itab-werks.MODIFY gt_itab.CLEAR:gt_itab.ENDLOOP.ENDFORM. "FRM_PROCESS_DATA*&---------------------------------------------------------------------**&      Form  frm_alv*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------*FORM frm_alv.DEFINE  alv_field.clear gs_fieldcat.gs_fieldcat-fieldname = &1.gs_fieldcat-coltext = &2.gs_fieldcat-fix_column = &3.gs_fieldcat-emphasize  = &4.gs_fieldcat-edit_mask  = &5.gs_fieldcat-no_zero    = &6.append gs_fieldcat to gt_fieldcat.END-OF-DEFINITION.REFRESH gt_events.REFRESH gt_fieldcat.alv_field 'WERKS'     text-t01  ''  ''  ''  '' .    "alv_field 'WERKS_TXT' text-t02  ''  ''  ''  '' .   "alv_field 'CBELN'     text-t03  ''  ''  ''  '' .   "alv_field 'ATNAM'     text-t04  ''  ''  ''  '' .alv_field 'PMTNR'     text-t05  ''  ''  ''  '' .alv_field 'CHARG'     text-t06  ''  ''  ''  '' .alv_field 'ATWRT'     text-t07  ''  ''  ''  '' .alv_field 'INVAL'     text-t08  ''  ''  ''  '' .alv_field 'BUDAT'     text-t09  ''  ''  ''  '' .alv_field 'UZEIT'     text-t10  ''  ''  ''  '' .alv_field 'CRDAT'     text-t11  ''  ''  ''  '' .alv_field 'CRTIM'     text-t12  ''  ''  ''  '' .g_repid = sy-repid.gs_layout-cwidth_opt = 'X'.gs_layout-sel_mode = 'A'.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_pf_status_set = 'FRM_SET_STATUS'i_callback_program       = g_repidi_callback_user_command  = 'FRM_USER_COMMAND'*     I_GRID_TITLE             = G_TITLEi_grid_settings          = gs_glayis_layout_lvc            = gs_layoutit_fieldcat_lvc          = gt_fieldcati_default                = 'X'i_save                   = 'X'TABLESt_outtab                 = gt_itab[]EXCEPTIONSprogram_error            = 1OTHERS                   = 2.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.ENDFORM. "frm_alv*---------------------------------------------------------------------**       FORM fRM_user_command                                         **---------------------------------------------------------------------**       ........                                                      **---------------------------------------------------------------------**  -->  pv_ucomm                                                       **  -->  ps_rs_selfield                                                 **---------------------------------------------------------------------*FORM frm_user_command USING pv_ucomm TYPE sy-ucommps_rs_selfield TYPE slis_selfield .ps_rs_selfield-refresh = 'X' .ps_rs_selfield-col_stable = 'X'."基于行的稳定刷新ps_rs_selfield-row_stable = 'X'." 基于列稳定刷新CASE pv_ucomm.WHEN '&IC1'.WHEN OTHERS.ENDCASE.ENDFORM. "FRM_USER_COMMAND*---------------------------------------------------------------------**       FORM FRM_SET_STATUS                                           **---------------------------------------------------------------------**       ........                                                      **---------------------------------------------------------------------**  -->  P_EXTAB                                                       **---------------------------------------------------------------------*FORM frm_set_status USING pt_extab TYPE slis_t_extab.SET PF-STATUS '0100'.ENDFORM. "FRM_SET_STATUS

程序模板(20210603笔记)相关推荐

  1. 微信小程序----模板(template)

    效果体验二维码 如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢! DEMO下载 效果图 以MUI的实例首页和列表页面为实例 通过上图,可以看出两个页面的列表部分很相近 ...

  2. 微信小程序开发个人笔记(2)

    微信小程序开发基础笔记 官方文档:微信官方文档 | 微信开放文档 (qq.com) 一.注册等 首先需要注册一下平台(Appid开发者d 和上传管理等都需要) 微信公众平台 (qq.com)(找不到就 ...

  3. C++标准模板库笔记

    C++标准模板库笔记(C++ Primer plus) 1.除序列外,vector还是可反转容器(reversible container)概念的模型. 它有两个类方法:rbegin()和rend() ...

  4. 微信小程序模板消息(服务通知消息)原始post工具封装(不使用jar包--坑比较多),解决47001(JSON格式)和中文乱码问题

    微信小程序模板消息(服务通知消息)原始post工具封装(不使用jar包--坑比较多),解决47001(JSON格式)和中文乱码问题 参考文章: (1)微信小程序模板消息(服务通知消息)原始post工具 ...

  5. axure小程序模板_微信小程序模板案例收集

    微信小程序发布近四年来,诞生了各行各业的高质量小程序,其中有很多都是用微信小程序模板制作的.新手在制作自己的小程序时,就可以参考这些好看的小程序模板案例. 1.电商小程序 这是目前非常常见的小程序类型 ...

  6. h5 bootstrap 小程序模板_青浦区社群小程序模板

    青浦区社群小程序模板 ZOOMX,私域流量小程序生态服务商,是一款私域流量***.留存.转化的第三方小程序SaaS平台,专注打造企业私域流量的营销裂变.商品促销.用户留存及数据分析,打通小程序的电商生 ...

  7. 微软Windows SharePoint Services 3.0 应用程序模板( Templates)中文版推出了

    概述 此下载包包括 Windows SharePoint Services 3.0 的所有 20 个服务器管理应用程序模板.应用程序模板核心解决方案以及每个模板的对应业务和技术数据表(数据表只为英文版 ...

  8. woocommerce分类页面模板_小程序模板怎么设计才好看?

    微信小程序界面的风格.色彩.版块布局都需要好好设计,但是大多数想要制作小程序的商家.个人都是新手,不懂设计知识.所以今天就跟大家科普下微信小程序模板设计要点,教你设计出一个美观的小程序. 1.选择高质 ...

  9. pyqt开发的程序模板_小程序定制开发和模板开发要多少钱?有什么区别?

    到现在,小程序开发已经有了1年多的历史,已经达到百万数量级.无论是小程序商城还是小程序游戏,其开发方式不外乎两种,一种是定制开发,另一种是模板开发.对于很多初次接触小程序的客户来说,还不知道小程序的开 ...

  10. 图片相册社区类型小程序模板

    介绍: 图片相册社区类型小程序模板 网盘下载地址: http://zijieyunpan.com/q1zCdyZuB940 图片:

最新文章

  1. ECC加密算法入门介绍
  2. 用python创建数据库监控平台(3)安装Python3.5
  3. captura录屏没声音_电脑录屏有哪些好用的软件呢?
  4. qt初学者 第一个小程序 小界面
  5. iOS UIButton根据内容自动布局
  6. (三十)java多线程一
  7. python requests 10041报错_pythonrequests返回unicode异常消息(或如何设置请求区域设置)...
  8. arm linux 加载.a,如何将libc.a链接到arm-linux中的共享库中使用arm-none-linux-gnueabi-gcc...
  9. insert sort
  10. next.js 安装简易教程
  11. dbtool一bug跟踪记
  12. TypeError: 'RGB' has type str, but expected one of: bytes(法1)
  13. 在苹果Mac中开启通用控制的方法
  14. 华为mate40e怎样截长图步骤分享
  15. 燃烧远征怀旧服务器人数小程序,《魔兽世界怀旧服》燃烧的远征制作人访谈 详细讲解新版本...
  16. TPO Official 01 Speaking
  17. Tikhonov regularization 吉洪诺夫 正则化
  18. TypeScript代理模式/委托模式
  19. 安卓6.0+通电自动开机
  20. 使用Camera X遇到的坑_OnPause时没有释放相机导致回来时黑屏

热门文章

  1. 可否推荐一个香港主机?
  2. lisp 套料_【CAD二次开发CAD定制开发cad插件开发LISP开发】- 中国工程机械网
  3. vue加载图片出现404用默认图片替换的方法
  4. python制作冰花_小学作文制作冻冰花
  5. E: 无法定位软件包 mjepgtools
  6. Linux 系统日常运维九大技能和运维网络知识总结
  7. 装配作业指导书是什么?装配作业指导书主要包括哪些内容?
  8. (14)[驱动开发]配置环境 VS2019 + WDK10 写 xp驱动
  9. vue子组件调用父组件方法 回调
  10. rabbitMq设置多线程并设置线程池消费处理