SAP HR ABAP 选择屏幕常用操作

来源:互联网 发布:ib网络是什么意思啊 编辑:程序博客网 时间:2024/05/20 20:56


 

************************************************************************************* 对象字段结构化搜索帮助

at selection-screen on value-request for p_objid.  perform f_help_objid_single using 'S' '' '' '' 'P_OBJID' 'F_AUTHORITY_CHECK'. form f_help_objid_single using i_otype                                i_rsign                                i_relat                                i_sclas                                i_fieldname                                i_form.  data: lw_objec type objec.  field-symbols: <fs_field> type any.  call function 'RH_OBJID_REQUEST'    exporting      plvar           = '01'      otype           = i_otype      seark_begda     = sy-datum      seark_endda     = sy-datum      dynpro_repid    = sy-repid      dynpro_dynnr    = sy-dynnr      callback_prog   = sy-repid      callback_form   = i_form      without_rsign   = i_rsign      without_relat   = i_relat      without_sclas   = i_sclas    importing      sel_object      = lw_objec    exceptions      cancelled       = 1      wrong_condition = 2      nothing_found   = 3      internal_error  = 4      illegal_mode    = 5      others          = 6.  assign (i_fieldname) to <fs_field>.  <fs_field> = lw_objec-objid.endform.form f_authority_check tables t_objects structure hrobject.  loop at t_objects.    call function 'RH_STRU_AUTHORITY_CHECK'      exporting        plvar                    = '01'        otype                    = 'S'        objid                    = t_objects-objid      exceptions        no_stru_authority        = 1        no_stru_authority_hyper  = 2        no_stru_authority_at_all = 3        no_base_authority        = 4        others                   = 5.    if sy-subrc ne 0.      delete t_objects.    endif.  endloop.endform.

 

************************************************************************************* 字段自定义列表搜索帮助

data: lt_ret type standard table of ddshretval,          lw_ret like line of lt_ret.at selection-screen on value-request for p_pernr.  perform f_pernr_f4.form f_pernr_f4.  call function 'F4IF_INT_TABLE_VALUE_REQUEST'    exporting      retfield             = 'PERNR'      dynpprog        = sy-repid      dynpnr             = sy-dynnr      dynprofield     = 'P_PERNR'      value_org       = 'S'      callback_program = sy-repid    tables      value_tab        = gt_bcpr               "自定义内表,包含字段 PERNR      return_tab       = lt_ret    exceptions      parameter_error  = 1      no_values_found  = 2      others           = 3.  if sy-subrc <> 0.    message id sy-msgid type sy-msgty number sy-msgno            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.  endif.  if lt_ret is not initial.    read table lt_ret into lw_ret index 1.    p_pernr = lw_ret-fieldval.  endif.endform.

 

************************************************************ 字段下拉框搜索帮助

parameters p_khdx like p9500-zzhrkhlx obligatory as listbox visible length 20 default '0002'.     "考核对象   data: gt_val type vrm_values,      gw_val like line of gt_val.define m_append_vrm_values.  gw_val-key  = &1.  gw_val-text = &2.  append gw_val to gt_val.  clear: gw_val.end-of-definition.at selection-screen output.  perform f_mod_screen.form f_mod_screen.  refresh gt_val.  m_append_vrm_values '0002' '0002文本'.  m_append_vrm_values '0005' '0005文本'.  call function 'VRM_SET_VALUES'    exporting      id     = 'P_KHDX'      values = gt_val.endform.

 

**********************************************************隐藏逻辑数据库时间区间

at selection-screen output.  perform f_mod_screen.form f_mod_screen.  loop at screen.    if screen-group1 = 'R2' or       screen-group1 = 'R3' or       screen-group1 = 'R4' or       screen-group1 = 'R5' or       screen-name = '%_P_PERIOD_%_APP_%-TEXT'.      screen-active = '0'.    endif.    modify screen.  endloop.  loop at screen.    if screen-name cs 'PNPBEGDA' or       screen-name cs 'PNPENDDA' or       screen-name cs 'PNPTIMR1' or       screen-name cs 'PNPTIMR6' or       screen-name cs '%FBIS111_1000' or       screen-name cs 'PNPTBEG'  or       screen-name cs 'PNPBLCKT' or       screen-name cs 'PNPTIMR2' or       screen-name cs 'PNPTIMR3' or       screen-name cs 'PNPTIMR4' or       screen-name cs 'PNPTIMR5' or       screen-name cs '%FBIS112_1000' or       screen-name cs '%FDPS117_1000' or       screen-name cs 'PNPBEGPS'  or       screen-name cs '%FBIS120_1000' or       screen-name cs 'PNPENDPS'.      screen-active = '0'.      modify screen.    endif.  endloop.endform.

 

******************************************************设置逻辑数据库选择屏幕标准字段默认值

initialization.  perform f_init_screen.form f_init_screen.  pnpstat2-low    = '3'.  pnpstat2-sign   = 'I'.  pnpstat2-option = 'EQ'.  append pnpstat2.  pnptimed = 'M'.endform

.

 

******************************************************自定义选择区域常用语法

selection-screen begin of block b1 with frame title text-001.selection-screen begin of line.selection-screen comment 1(10) text-t01 for field p_year.  "p1_begda 文字描述parameters: p_year(4) type c .selection-screen position 21.selection-screen comment 25(7) text-t02 for field p_month. "p1_endda 文字描述parameters:  p_month(2)  type c .selection-screen end of line.*parameters: p_conar type t7cn25-conar.select-options: p_conar for t7cn25-conar no intervals.selection-screen end of block b1.selection-screen begin of block b2 with frame title text-001.parameters: r_mx radiobutton group r1 default 'X',            r_hz radiobutton group r1.selection-screen end of block b2.

0 0
原创粉丝点击