声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4264738.html

ALV开发必备!这里只贴一些粗略的东西,还有一篇关于ALV详细的文档,有时间再贴吧

7.      ALV. 70

7.1.           Layout重要字段... 70

7.2.           FIELDCATALOG重要字段... 70

7.3.           指定双击触发的FunCode. 71

7.4.           相关函数... 71

7.5.           重要参数接口... 71

7.6.           让预置按钮回调I_CALLBACK_USER_COMMAND.. 72

7.7.           颜色... 72

7.8.           可编辑... 72

7.9.           单元格数据修改后立即自动刷新... 73

7.10.         数据有效性验证事件:data_changed. 73

7.11.         金额、数字类型输入问题... 74

7.12.         排序、分类汇总... 74

7.13.         可打印的表头输出... 75

7.14.         布局变式读取、切换、根据布局格式导出数据... 75

7.15.         动态内表... 76

8.      OO ALV. 77

8.1.           相关类... 77

8.2.           控制区域、容器、Grid关系... 77

8.3.           CL_GUI_ALV_GRID重要方法... 77

8.4.           set_table_for_first_dispaly()方法重要参数... 77

8.5.           事件绑定、触发、回调处理... 77

8.6.           CL_GUI_DOCKING_CONTAINER容器... 78

8.7.           覆盖(拦截)预设按钮的功能FunCode:BEFORE_USER_COMMAND.. 78

8.8.           数据改变事件data_changed、data_changed_finished. 79

8.9.           单元格可编辑... 79

7.   ALV

7.1.  Layout重要字段

zebra() ) type c, " for grid only ALV是否可编辑,注意只对Grid模式有效,对List模式无效
f2code like sy-ucomm, "gs_layout-f2code='&ETA'.双击时触发的Funcode,这里为弹出详情窗口

colwidth_optimize() type c, ALV网格(单元格)宽度设置为自动最优化,按输出内容宽度自动调整[??pt??ma?z]

lights_fieldname type slis_fieldname," fieldname for exception列显示为红绿灯
box_fieldname type slis_fieldname, " fieldname for checkbox指定数据内表中哪列以选择按钮形式显示(首列前可按下或弹上来的按钮),ALV最左上角会出现全选按钮

key_hotspot() type c,        " keys as hotspot " K_KEYHOT设置关键字段是否是热点,可单击
info_fieldname type slis_fieldname, " infofield for listoutput指定数据输出内表中哪列存储的是颜色,用来设置ALV每行数据的颜色

7.2.  FIELDCATALOG重要字段

[?k?t?l?ɡ]

key() type c, " column with key-color指定字段是否是关键字段,如果是则单元格显示的颜色会不同,并会靠前显示

col_pos like sy-cucol, "position of the column列的输出位置字段在表中第几列

fieldname type slis_fieldname,"针对输出内表哪列进行设置,只有设置了的列才会显示,如果没有设置,则不会显示在ALV中。如果此字段是CURR金额(currency field) ,QUAN数量(Quantity field) 需要指定所参照的CUKY货币单位、UNIT字段名,需设置Cfieldname Ctabname 和Qfieldname Qtabname
cfieldname type slis_fieldname, "field with currency unit金额字段所参照的货币单位字段名

ctabname type slis_tabname,   " and table
qfieldname type slis_fieldname, " field with quantity unit数量字段所参照的数量单位字段名
qtabname type slis_tabname,   " and table

just()  ) ) ) )时不输出,所以不输出零时应该最好同时设置lzero = sapce与no_zero = X,相反如果要输出,则应同时设置lzero = X 与no_zero = space
fix_column() ) type c, " sum up该列是否进行小计,需与gt_sort-subtot一起使用(即需要参考排序),否则只对整列进行一个合计

seltext_l ) type c, " (S)hort (M)iddle (L)ong设置以长、中还是短名称来显示,取值分别为 S、M、L。直接指定文本显示为长文本、中、还是短文本, 指定这个字段后则会固定下来,不会随着用户的宽度调整变化.

,即小数点提前两位;并且如果是数量类型,除了设置datatype外,inttype也需要进行设置,且为C
datatype like dd03p-datatype,数据类型
inttype like dd03p-inttype, 内部类型

ref_fieldname  like dd03p-fieldname,"如需单元格显示F4输入帮助,则需要指定字段所参照的表名
ref_tabname like dd03p-tabname,"如需单元格显示F4输入帮助,则需要指定字段所参照的表中的字段名

另外,以上两个字段还可以解决ALV中形如参照VBELNMATNR词典类型的列导出(自带的导出功能)Excel时被截断的问题,具体请参照:ALV自带导出文件时字段数据末尾被截断问题

CONVEXIT:被截断的问题

) ) type c, " hotspot设置字段内容下面是否有热点(有下划线,可点击,单击即可触发相应事件)

7.3.  指定双击触发的FunCode

gs_layout-f2code  = '&ETA':设置ALV数据行双击触发的Tcode,这里为弹出详情窗口

7.4.  相关函数

REUSE_ALV_GRID_DISPLAY

REUSE_ALV_LIST_DISPLAY

REUSE_ALV_GRID_DISPLAY_LVC

REUSE_ALV_FIELDCATALOG_MERGE   [m?:d?] 混合, (使)合并

7.5.  重要参数接口

I_CALLBACK_PF_STATUS_SET  设置工具条

I_CALLBACK_USER_COMMAND用户点击工具栏中自定义按钮、预置按钮(需通过IT_EVENT_EXIT参数指定预置FunCode才会回调指定的Form)、数据行双击、单元格热点等时,会回调此参数指定的Form

IT_SORT排序、分类汇总

I_SAVE保存表格布局:'X' 只能保存为全局标准变式,'U' 只能保存特定用户变式,'A'都可以保存,SPACE不能保存变式

I_DEFAULT用户是否可以设置默认的布局变式(即是否可以将某个布局变式设置为默认的布局)

IS_VARIANT指定布局变式

IT_EVENTS事件回调,可以用来代替I_CALLBACK_USER_COMMAND参数

IT_EVENT_EXIT 预置FunCode回调I_CALLBACK_USER_COMMAND指定的Form

IS_LAYOUT

IT_FIELDCAT

T_OUTTAB需要显示的数据内表

7.6.  让预置按钮回调I_CALLBACK_USER_COMMAND

IT_EVENT_EXIT:让预置按钮回调I_CALLBACK_USER_COMMAND 指定的Form。可以向IT_EVENT_EXIT参数内表填充需要被拦截的保留Funcode,及在是执行对应功能代码之前还是之后调用:

DATA: event_exit TYPE slis_t_event_exit WITH HEADER LINE.
  event_exit-ucomm = '&OAD'."此Funcode为点击AlV工具栏上的选择布局按钮所对应的FunCode,会被USER_COMMAND 指定的Form拦截
  event_exit-after = 'X'."在执行完预置功能代码之前还是之后调用
  APPEND event_exit.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program = sy-repid
      it_fieldcat        = fieldcat[]
      i_callback_user_command = 'USER_COMMAND'
      IT_EVENT_EXIT = event_exit[]
    TABLES
      t_outtab           = gt_result.
FORM user_command  USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield.
ENDFORM.

7.7.  颜色

行颜色:gs_layout-info_fieldname 位,不同的是此种方式下的颜色值是与显示数据内表存放在一起,而下面的颜色值则是与gt_fieldcat存放在一起
列颜色:gt_fieldcat-emphasize位字符,各位含意:

位:固定取值为C

位COL:颜色值,取值为0~7

位INT:高亮,即颜色是否加深,取值为0、1。1表示加深显示

位INV:颜色是否反转,即颜色是作用在背景上,还是作用在输出字符上,取值上为0、1。为1时表示设置的是前景色,即输出字符本身的颜色(好像只有在第3位为0时才有效?)

单元格颜色:gs_layout-coltab_fieldname = 'COLORTABLE'."数据内表中哪列为颜色内表,颜色内表结构如下:

 

slis_color颜色结构类型各字体对应于上面颜色值串'C510'后三位,意义也是一样,只是没有第一位固定字符C

7.8.  可编辑

整体可编辑:gs_layout-edit = 'X'.

某列可编辑:gt_fieldcat-edit = 'X'.

单元格可编辑:只能使用REUSE_ALV_GRID_DISPLAY_LVC,并且还作以下一些设置:
cellstab TYPE lvc_t_styl,"在输出内表中加上这一类型的列
"先将所有单元格设置为可编辑状态
gt_fieldcat-edit = 'X'.

DATA: gt_cellstab TYPE lvc_t_styl WITH HEADER LINE.

"再将原本可编辑的单元格切换到不可编辑样式。注:这里只是样式的切换,不能仅仅使用cl_gui_alv_grid=>mc_style_enabled来将单元格设置为可编辑状态,单元格真正是否可编辑是由fieldcat-edit或layout-edit来决定的,而仅设置为cl_gui_alv_grid=>mc_style_enabled是不可编辑的
gt_cellstab-style = cl_gui_alv_grid=>mc_style_disabled.

APPEND gt_cellstab.
gt_data-cellstab = gt_cellstab[].
gs_layout-stylefname = 'CELLSTAB'."数据内表中哪列为可编辑信息内表

7.9.  单元格数据修改后立即自动刷新

单元格中的数据被修改后,将ALV单元格中的数据立即刷新到ABAP对应的内表中:

法一:通过对REUSE_ALV_GRID_DISPLAY函数参数i_grid_settings-edt_cll_cb进行设置:

i_grid_settings-edt_cll_cb  = 'X' .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
     EXPORTINGi_grid_settings = i_grid_settings
法二:通过函数参数I_CALLBACK_USER_COMMAND指定的回调Form的参数slis_selfield进行设置:

FORM user_command USING ucomm LIKE sy-ucommselfield selfield TYPE slis_selfield.
 selfield-refresh = 'X'.
  CASE ucomm.
    WHEN 'UPDATE'.
      PERFORM frm_update.
  ENDCASE.
ENDFORM.

7.10.     数据有效性验证事件:data_changed

通过REUSE_ALV_GRID_DISPLAY函数的it_events参数设置DATA_CHANGE事件及事件回调Form:

t_events-name = slis_ev_data_changed.
  t_events-form = 'ALV_DATA_CHANGED'.
  APPEND t_events.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
     it_events          = t_events[]

),ls_cells TYPE lvc_s_modi.
  FIELD-SYMBOLS <fs_value>.
  LOOP AT pel_data->mt_mod_cells INTO ls_cells."读取被修改了的单元格
    CLEAR gt_data.
    READ TABLE gt_data INDEX ls_cells-row_id."被修改了的单元格所对应输出内表行数据
    CONCATENATE 'GT_DATA-' ls_cells-fieldname INTO l_name. "读取被单元格所对应的输出内表中的相应列数据,注:读取出来是的单元格修改之前的数据
    ASSIGN (l_name) TO <fs_value>."<fs_value>即为修改前的值
    <fs_value> = ls_cells-value. "ls_cells-value单元格中修改后的新值?
    "实际上不需要此句来修改输出内表中的数据,因为只要在该Form中不弹出 E MSG,则该Form执行完后会也会自动更新输出内表
    "MODIFY gt_data INDEX ls_cells-row_id.
  ENDLOOP.

注:如果是通过CL_GUI_ALV_GRID来实现ALV,则在ALV单元格中修改数据后,要在失去焦点或回车时自动触发DATA_CHANGE事件,则还需要通过CL_GUI_ALV_GRID类的REGISTER_EDIT_EVENT方法来设置发数据改变事件在何时触发,2 种方式:

2  按回车触发: i_event_id = cl_gui_alv_grid=>mc_event_enter

2  单元格失去焦点: i_event_id = cl_gui_alv_grid=>mc_event_modifies

必须设置一种方式,要不然数据变化事件不会被触发事件

7.11.     金额、数字类型输入问题

对于货币与P类型小数(如数量)类型字段,需要对gt_fieldcat-datatype属性进行设置,才能将输入的数字保持原样大小,否则输入的数据会自动将小数点提前2位;对于数量类型,好像还需要对gt_fieldcat-INTTYPE属性进行设置才好使,并且只能设置为C类型:

if &1 = 'CURR'.
      "对于金额字段,需要设置为 CURR 数据库字典类型
      gt_fieldcat-datatype = 'CURR'.
    endif.
    if &1 = 'P'.
      "对于小数,需要设置为 QUAN 数据库字典类型
      gt_fieldcat-datatype = 'QUAN'.
      "除此之外,还需要将inttype类型设置为C类型。另外,按理来说要设置为P类型的,但发现不行,QUAN类型映射为 C类型??
      gt_fieldcat-inttype = 'C'.
    endif.

7.12.     排序、分类汇总

"决定此列是否进行分类汇总与大汇总。注:如果不设置gt_sort-subtot,则只有大汇总,不会进行分类小汇总
gt_fieldcat-do_sum = 'X'. "设置了gt_fieldcat-do_sum就会有大汇总,分类小汇总要出现的前提之一也是必须要设置此属性,另外还需对gt_sort-subtot进行设置;如果此参数(gt_fieldcat-do_sum)不设置的话,则大汇总与小汇总都没有

gt_sort-spos = '1'."排序的顺序,如果根据多个字段来排时,决定哪个先排
gt_sort-fieldname = 'KEY1'.
gt_sort-up = 'X'."升序,如果不指定排序(即gt_sort-up、gt_sort-down都没设置时),默认为升序只要某字段参设置了gt_sort-down/up,则在展示时,排序以后垂直网格中相邻相同的单元格就会合并起来(即分类合并,如果要避免合并,请在布局中设置"no_merging"为"X")
"是否需要以此字段进行分类小计(小计汇总)
gt_sort-subtot= 'X'."是否需要以此字段进行分类合并、并进行小计(注:与本列是否参与排序无关系,只要设置此属性就进行分类合并且小计——但前提是要对gt_fieldcat-do_sum也进行了设置)
APPEND gt_sort.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING it_sort     = gt_sort[]

7.13.     可打印的表头输出

t_events-name = slis_ev_top_of_page.
  t_events-form = 'alv_top_of_page '.
  APPEND t_events.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTINGit_events = t_events[]

"页眉触发时所回调Form
FORM alv_top_of_page.
  DATA:lr_rows TYPE REF TO cl_salv_form_layout_grid,
        lr_grid_rows LIKE lr_rows,
        lr_row TYPE REF TO cl_salv_form_layout_flow,
        lr_logo TYPE REF TO cl_salv_form_layout_logo.

DATA: l_row TYPE i VALUE '1'.
  CREATE OBJECT lr_rows.
  CREATE OBJECT lr_logo.
...
ENDFORM.

7.14.     布局变式读取、切换、根据布局格式导出数据

INITIALIZATION.
  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'获取默认的布局 [?ve?ri:?nt] 
    EXPORTING
      i_save        = 'A'
    CHANGING
      cs_variant    = gx_variant
  p_varit = gx_variant-variant.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varit.
  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'选择布局
    EXPORTING
      is_variant    = g_variant
      i_save        = 'A'

p_varit = gx_variant-variant.

START-OF-SELECTION.
  DATA: event_exit TYPE slis_t_event_exit WITH HEADER LINE.
  event_exit-ucomm = '&OAD'."此Funcode为点击AlV工具栏上的选择布局按钮时 会被USER_COMMAND Form拦截
  event_exit-after = 'X'.
  APPEND event_exit.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING     
      i_save                  = 'A'
      i_callback_user_command = 'USER_COMMAND1'
      it_event_exit           = event_exit[]
      is_variant              = g_variant "ALV展示时,所使用的布局变式名。如果不存在,按默认来

FORM user_command1  USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield.
  CASE  r_ucomm.
    WHEN '&OAD'."当点击选择布局按钮时执行

DATA l_ref1 TYPE REF TO cl_gui_alv_grid.
     CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'获取当前ALV所对应的OO Grid
         IMPORTING e_grid = l_ref1.

l_ref1->get_variant( IMPORTING es_variant = l_variant )

DATA:p_fieldcat_tab TYPE slis_t_fieldcat_alv.
      "当知道当前用户所选择的布局变式后,再通过函数 REUSE_ALV_VARIANT_SELECT 可以
      "得到布局变式所对应的布局具体信息,如哪些字段显示、字段显示的顺序如何等,当得到这些
      "布局信息后,可以用在用户在导出ALV数据到文件时使用,这样可以保持ALV显示的布局与
      "导出去的文件显示的哪些内容及字段顺序体质一致
      CALL FUNCTION 'REUSE_ALV_VARIANT_SELECT'读取布局信息
        IMPORTING         
          "可以根据返回的p_fieldcat_tab,得到当前ALV所使用的布局变式所对应的Layout情况,如
          "将ALV数据下载成文件时需要与当前Layout布局一样:输出相同的字段与顺序,可以根据
          "p_fieldcat_tab 的 NO_OUT(控制是否输出)、COL_POS(控制顺序)来控制,文件表头可取
          "seltext_l、seltext_m或seltext_s。可用于导出文件布局
          et_fieldcat         = p_fieldcat_tab[]
        CHANGING
          cs_variant          = l_variant."传入的布局布局变式名
      """""""下面就是对 p_fieldcat_tab[] 内表字段结构进行分析及应用了
      ....
  ENDCASE.
ENDFORM.

7.15.     动态内表

另外,在ALV中可以根据FieldCat来动态创建内表

rt_fieldcatalog type lvc_t_fcat.
CALL METHOD cl_alv_table_create=>create_dynamic_table [dai?n?mik]
  EXPORTING
    it_fieldcatalog = rt_fieldcatalog[]
  IMPORTING
    ep_table        = g_table.

8.   OO ALV

8.1.  相关类

CL_GUI_ALV_GRID

CL_GUI_CUSTOM_CONTAINER

CL_GUI_DOCKING_CONTAINER

CL_GUI_SPLITTER_CONTAINER

8.2.  控制区域、容器、Grid关系

先在屏幕上绘制一个用户自定义控件区域,然后该用户以自定义控件区域为基础来创建CL_GUI_CUSTOM_CONTAINER容器实例,最后以此容器实例来创建CL_GUI_ALV_GRID实例

8.3.  CL_GUI_ALV_GRID重要方法

set_table_for_first_dispaly

REFRESH_TABLE_DISPLAY

IS_STABLE:                                刷新的稳定性,就是滚动条保持不动

I_SOFT_REFRESH:          软刷新,如果设置了这个参数,临时给ALV创建的合计、排序、数据过滤都将保持不变。这个是非常有意义的,例如:当你没有修改数据内表里的数据,但因布局修改了想刷新ALV时可使用

8.4.  set_table_for_first_dispaly()方法重要参数

IS_VARIANT

I_SAVE

I_DEFAULT

IS_LAYOUT

IT_OUTTAB

IT_FIELDCATALOG

IT_SORT

8.5.  事件绑定、触发、回调处理

CLASS cl_event_handle DEFINITION. "定义事件处理类
  PUBLIC SECTION.
    "ALV工具栏初始化事件,如增加按钮并设定属性
    METHODS handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
            IMPORTING e_object e_interactive.
    "ALV工具栏按钮点击事件
    METHODS handle_user_command FOR EVENT user_command OF cl_gui_alv_grid
            IMPORTING e_ucomm.
    "ALV表格双击事件
    METHODS handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
            IMPORTING e_row e_column es_row_no.
ENDCLASS.

为标准按钮
    APPEND gs_toolbar TO e_object->mt_toolbar."添加按钮到工具栏中
  ENDMETHOD.

METHOD handle_user_command.
    DATA: sum TYPE i .
    IF e_ucomm = 'B_SUM'.
     ...
    ENDIF.
  ENDMETHOD.
  METHOD  handle_double_click.
   ....
  ENDMETHOD.
ENDCLASS.

CREATE OBJECT container_r EXPORTING container_name = 'CONTAINER_1'."创建ALV容器对象
CREATE OBJECT grid_r EXPORTING i_parent = container_r. "创建ALV控件
CALL METHOD grid_r->set_table_for_first_displayCHANGING it_outtab = gt_sflight[].

SET HANDLER :event_handle->handle_toolbar FOR grid_r, "注册处理器

event_handle->handle_user_command FOR grid_r,
      event_handle->handle_double_click FOR grid_r.

CALL METHOD grid_r->set_toolbar_interactive. "调用此方法才能激活工具栏上增加的自定义按钮

8.6.  CL_GUI_DOCKING_CONTAINER容器

Docking容器最大特点是在代码中可以动态创建容器,不需要像创建自定义容器CL_GUI_CUSTOM_CONTAINER那样,在创建时需要将其绑定到一个预先绘制好的用户自定义控件区域中

8.7.  覆盖(拦截)预设按钮的功能FunCode:BEFORE_USER_COMMAND

before_user_command事件中截取标准的功能,完成其他功能,然后使用方法set_user_command将功能代码修改为空(如何拦截事件,则参考事件绑定、触发、回调处理章节)

FORM handle_before_user_command USING i_ucomm TYPE syucomm .
  CASE e_ucomm .
    WHEN '&INFO' .
      CALL FUNCTION 'ZSFLIGHT_PROG_INFO'.
      CALL METHOD gr_alvgrid->set_user_commandEXPORTING i_ucomm = space.
  ENDCASE .
ENDFORM .

8.8.  数据改变事件data_changed、data_changed_finished

Alv grid有两个事件:data_changed和ata_changed_finished.第一个事件在可编辑字段的数据发生变化时触发,可用来检查数据的输入正确性,第二个事件是当数据修改完成后触发

如果数据没有被修改,当失去焦点或回车时,那么它不会走data change,而是直接触发data change finish事件

可以通过CL_GUI_ALV_GRID类的REGISTER_EDIT_EVENT方法来设置在失去焦点回车时,触发数据改变事件:

2  按回车触发: i_event_id = cl_gui_alv_grid=>mc_event_enter

2  单元格失去焦点: i_event_id = cl_gui_alv_grid=>mc_event_modifies

必须设置一种方式,要不然数据变化事件不会被触发事件

然后注册CL_GUI_ALV_GRID的data_changed、data_changed_finished事件,实现事件处理器方法,在数据发生改变时就会触发这两上事件

8.9.  单元格可编辑

与非OO ALV是一样的,请参照

[SAP ABAP开发技术总结]ALV的更多相关文章

  1. ABAP开发顾问必备:SAP ABAP开发技术总结

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. [SAP ABAP开发技术总结]OPEN SQL

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. [SAP ABAP开发技术总结]内表操作

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. ABAP开发顾问必备:SAP ABAP开发技术总结[转载]

    转载自SAP师太技术博客,原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html 在原文上增加了链接,此文及此文的链接版权都归SAP师太所有. ...

  5. [SAP ABAP开发技术总结]ABAP程序之间数据共享与传递

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. [SAP ABAP开发技术总结]字符串处理函数、正则表达式

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. [SAP ABAP开发技术总结]面向对象OO

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. [SAP ABAP开发技术总结]数据输入输出转换、小数位/单位/货币格式化

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. [SAP ABAP开发技术总结]客户端文本文件、Excel文件上传下载

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

随机推荐

  1. ubuntu下搭建nagios

    基本参考 http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html,直接apt-get install的话应该更快.要监控url,参考 ...

  2. lamp环境编译(apache2.4.7 php5.4.25 mysql 5.5.23)

    环境要求 gcc.gcc-c++.cmake.bison(可能)支持 1.yum install gcc gcc-c++ cmake bison 2.修改yum配置,达到搜索本地设置 移走或改名/et ...

  3. xhr dojo load

    require(["dojo/_base/xhr"], function(xhr) { // Execute a HTTP GET request xhr.get({ // The ...

  4. linux curl用法详解

    linux ‍‍curl用法详解 ‍‍curl的应用方式,一是可以直接通过命令行工具,另一种是利用libcurl库做上层的开发.本篇主要总结一下命令行工具的http相关的应用, 尤其是http下载方面 ...

  5. crontab 日志备份定时任务

    -l选项,查看当前用户的所有定时任务: [xiluhua@vm-xiluhua][/home]$ crontab -l * * * * * /home/xiluhua/shell_script/log ...

  6. Hadoop集群管理之内存管理

    1.内存 Hadoop为各个守护进程(namenode,secondarynamenode,jobtracker,datanode,tasktracker)统一分配的内存在hadoop-env.sh中 ...

  7. Android Studio解决unspecified on project app resolves to an APK archive which is not supported

    出现该问题unspecified on project app resolves to an APK archive which is not supported as a compilation d ...

  8. [ios]iOS 图形编程总结

    转自:http://www.cocoachina.com/ios/20141104/10124.html iOS实现图形编程可以使用三种API(UIKIT.Core Graphics.OpenGL E ...

  9. 每日一九度之 题目1023:EXCEL排序

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:18804 解决:4240 题目描述:     Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能.     对每个测试用例 ...

  10. Oracle truncate和delete的区别

    首先truncate是DDL语句,而delete是DML语句. truncate的删除比delete快很多,尤其是表数据量大的时候,原因是truncate执行过程中不产生undo,所以truncate ...