程序模板(20210603笔记)
例子程序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笔记)相关推荐
- 微信小程序----模板(template)
效果体验二维码 如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢! DEMO下载 效果图 以MUI的实例首页和列表页面为实例 通过上图,可以看出两个页面的列表部分很相近 ...
- 微信小程序开发个人笔记(2)
微信小程序开发基础笔记 官方文档:微信官方文档 | 微信开放文档 (qq.com) 一.注册等 首先需要注册一下平台(Appid开发者d 和上传管理等都需要) 微信公众平台 (qq.com)(找不到就 ...
- C++标准模板库笔记
C++标准模板库笔记(C++ Primer plus) 1.除序列外,vector还是可反转容器(reversible container)概念的模型. 它有两个类方法:rbegin()和rend() ...
- 微信小程序模板消息(服务通知消息)原始post工具封装(不使用jar包--坑比较多),解决47001(JSON格式)和中文乱码问题
微信小程序模板消息(服务通知消息)原始post工具封装(不使用jar包--坑比较多),解决47001(JSON格式)和中文乱码问题 参考文章: (1)微信小程序模板消息(服务通知消息)原始post工具 ...
- axure小程序模板_微信小程序模板案例收集
微信小程序发布近四年来,诞生了各行各业的高质量小程序,其中有很多都是用微信小程序模板制作的.新手在制作自己的小程序时,就可以参考这些好看的小程序模板案例. 1.电商小程序 这是目前非常常见的小程序类型 ...
- h5 bootstrap 小程序模板_青浦区社群小程序模板
青浦区社群小程序模板 ZOOMX,私域流量小程序生态服务商,是一款私域流量***.留存.转化的第三方小程序SaaS平台,专注打造企业私域流量的营销裂变.商品促销.用户留存及数据分析,打通小程序的电商生 ...
- 微软Windows SharePoint Services 3.0 应用程序模板( Templates)中文版推出了
概述 此下载包包括 Windows SharePoint Services 3.0 的所有 20 个服务器管理应用程序模板.应用程序模板核心解决方案以及每个模板的对应业务和技术数据表(数据表只为英文版 ...
- woocommerce分类页面模板_小程序模板怎么设计才好看?
微信小程序界面的风格.色彩.版块布局都需要好好设计,但是大多数想要制作小程序的商家.个人都是新手,不懂设计知识.所以今天就跟大家科普下微信小程序模板设计要点,教你设计出一个美观的小程序. 1.选择高质 ...
- pyqt开发的程序模板_小程序定制开发和模板开发要多少钱?有什么区别?
到现在,小程序开发已经有了1年多的历史,已经达到百万数量级.无论是小程序商城还是小程序游戏,其开发方式不外乎两种,一种是定制开发,另一种是模板开发.对于很多初次接触小程序的客户来说,还不知道小程序的开 ...
- 图片相册社区类型小程序模板
介绍: 图片相册社区类型小程序模板 网盘下载地址: http://zijieyunpan.com/q1zCdyZuB940 图片:
最新文章
- ECC加密算法入门介绍
- 用python创建数据库监控平台(3)安装Python3.5
- captura录屏没声音_电脑录屏有哪些好用的软件呢?
- qt初学者 第一个小程序 小界面
- iOS UIButton根据内容自动布局
- (三十)java多线程一
- python requests 10041报错_pythonrequests返回unicode异常消息(或如何设置请求区域设置)...
- arm linux 加载.a,如何将libc.a链接到arm-linux中的共享库中使用arm-none-linux-gnueabi-gcc...
- insert sort
- next.js 安装简易教程
- dbtool一bug跟踪记
- TypeError: 'RGB' has type str, but expected one of: bytes(法1)
- 在苹果Mac中开启通用控制的方法
- 华为mate40e怎样截长图步骤分享
- 燃烧远征怀旧服务器人数小程序,《魔兽世界怀旧服》燃烧的远征制作人访谈 详细讲解新版本...
- TPO Official 01 Speaking
- Tikhonov regularization 吉洪诺夫 正则化
- TypeScript代理模式/委托模式
- 安卓6.0+通电自动开机
- 使用Camera X遇到的坑_OnPause时没有释放相机导致回来时黑屏
热门文章
- 可否推荐一个香港主机?
- lisp 套料_【CAD二次开发CAD定制开发cad插件开发LISP开发】- 中国工程机械网
- vue加载图片出现404用默认图片替换的方法
- python制作冰花_小学作文制作冻冰花
- E: 无法定位软件包 mjepgtools
- Linux 系统日常运维九大技能和运维网络知识总结
- 装配作业指导书是什么?装配作业指导书主要包括哪些内容?
- (14)[驱动开发]配置环境 VS2019 + WDK10 写 xp驱动
- vue子组件调用父组件方法 回调
- rabbitMq设置多线程并设置线程池消费处理