当前位置: 首页 > news >正文

CX_SY_RANGE_OUT_OF_BOUNDS

解答:

分隔线 

首先:我们来看看它们的搜索帮助

0,1,4,5一样如下:

2,3,10,11一样如下:

6,7,14,15一样如下:

8,9,12,13一样如下:

原因:

SAP ALV过滤器的字段长度调整_sap 过滤器长度不够-CSDN博客

ABAP ALV可编辑字段长度受限_abap alv可编辑字段最长-CSDN博客

alv单元格英文字母最多显示128位

中文最多显示43位

中英混合没有找到规律

如果遇到一列显示不全的问题,就分解字符串吧,用多列显示。目前只能想到这种方法。

 

SAP自开发程序在展示数据结果时,默认筛选字段长度为10位;
很多业务字段值会超出这个长度,需要重新定义布局字段,常见的几个实现方式:

方式一,参考字段:
gs_fieldcat-ref_table = ‘MARA’.
gs_fieldcat-ref_field = ‘MATNR’.

这种方式还能带来搜索帮助,如果参考的表字段有的话

但是在要保证筛选正确,定义的类型要保持一致,且要保证数据与参照表中取值一致(取表中数据有前导零用的时候也需要前导零)否则会出错

2,3这种搜索帮助10位---------错误

筛选需要补*3000901      

代码版本一

方式二,定义单个字段长度:
gs_fieldcat-inttype = ‘C’.
gs_fieldcat-intlen = ‘18’.

这种方式只能解决2,3,10,11变为展示全部前导零

6,7,14,15的搜索帮助变为12位的长度不会比其他的短.

2,3,10,11这样结果是点搜索帮助可搜索出来,但2,10会展示部位零的

代码版本二

方式三,批量定义:

这种方式只能解决2,3,10,11变为展示全部前导零

6,7,14,15的搜索帮助变为12位的长度不会比其他的短.

2,3,10,11这样结果是点搜索帮助可搜索出来,但2,10会展示部位零的

代码版本三

其他的8,9,12,13没有筛选成功原因是字段类型与参照类型严重不符,

导致你点搜索帮助筛选就会报CX_SY_RANGE_OUT_OF_BOUNDS错误

原始版本:

*&---------------------------------------------------------------------*
*& Report ZTXYY_11142
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztxyy_11142.
TYPE-POOLS: slis.
TYPE-POOLS: vrm.DATA : gt_fieldcat TYPE lvc_t_fcat,wa_fieldcat TYPE lvc_s_fcat,g_program   TYPE sy-repid,gw_layout   TYPE lvc_s_layo.
TYPES:BEGIN OF ty_out,morder   TYPE aufk-aufnr,                "main ordermorder1  TYPE aufk-aufnr,                "main ordermorder2  TYPE aufk-aufnr,                "main ordermorder3  TYPE aufk-aufnr,                "main ordermorder4  TYPE aufk-aufnr,                "main ordermorder5  TYPE aufk-aufnr,                "main ordermorder6  TYPE aufk-aufnr,                "main ordermorder7  TYPE aufk-aufnr,                "main ordermorder8  TYPE char255,                "main ordermorder9  TYPE char255,                "main ordermorder10 TYPE char255,                "main ordermorder11 TYPE char255,                "main ordermorder12 TYPE char255,                "main ordermorder13 TYPE char255,                "main ordermorder14 TYPE char255,                "main ordermorder15 TYPE char255,                "main ordersel      TYPE c,END OF ty_out.DATA:gt_out  TYPE TABLE OF ty_out,gs_out  TYPE ty_out,gt_out1 TYPE TABLE OF ty_out,gs_out1 TYPE ty_out.SELECT aufnr AS morder FROM aufk INTO CORRESPONDING FIELDS OF TABLE gt_out1UP TO 500 ROWS.LOOP AT gt_out1 INTO gs_out1.DATA:lv_morder TYPE aufnr.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "加零EXPORTINGinput  = gs_out1-morderIMPORTINGoutput = lv_morder.gs_out-morder  = lv_morder.gs_out-morder1 = lv_morder.gs_out-morder2 = lv_morder.gs_out-morder3 = lv_morder.gs_out-morder8  = lv_morder.gs_out-morder9  = lv_morder.gs_out-morder10 = lv_morder.gs_out-morder11 = lv_morder.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' "去零EXPORTINGinput  = gs_out1-morderIMPORTINGoutput = lv_morder.gs_out-morder4 = lv_morder.gs_out-morder5 = lv_morder.gs_out-morder6 = lv_morder.gs_out-morder7 = lv_morder.gs_out-morder12 = lv_morder.gs_out-morder13 = lv_morder.gs_out-morder14 = lv_morder.gs_out-morder15 = lv_morder.APPEND gs_out TO gt_out.
ENDLOOP.CLEAR gw_layout.
MOVE:  'X'  TO  gw_layout-zebra.
*         'X'  TO  gw_layout-colwidth_optimize,
*         'X'  TO  gw_layout-detail_popup.*&中列与双击明细显示:
gw_layout-box_fname     = 'SEL'.
*  gw_layout-f2code            = '&ETA'.
gw_layout-detailtitl   = '显示明细'.
gw_layout-stylefname = 'FIELD'.
gw_layout-info_fname      = 'CLR'.
gw_layout-cwidth_opt      = 'X'.
DEFINE add_fieldcat.CLEAR wa_fieldcat.wa_fieldcat-fieldname    =  &1.wa_fieldcat-scrtext_l    =  &2.wa_fieldcat-edit         =  &3.wa_fieldcat-no_zero      =  &4.wa_fieldcat-just         =  'X'.wa_fieldcat-ref_field    =  &5.wa_fieldcat-ref_table    =  &6.wa_fieldcat-outputlen    = &7.APPEND wa_fieldcat TO gt_fieldcat.
END-OF-DEFINITION."PERFORM filt_f4_callback IN PROGRAM SAPLSLVC_DIALOG IF FOUND USING '' 'LOW' ''.
*有前导零 AUFNR类型
add_fieldcat   'MORDER'       'Main Order'   ' '    'X'    'AUFNR' 'AFKO' ''."afko-aufnr
add_fieldcat   'MORDER1'       'Main Order'   ' '    ''    'AUFNR' 'AFKO' ''."afko-aufnr
*其中搜索帮助错误,但不会报错
add_fieldcat   'MORDER2'       'Main Order2'   ' '    'X'    '' '' ''."筛选失败
add_fieldcat   'MORDER3'       'Main Order3'   ' '    ''    '' '' ''."筛选失败
*无前导零 AUFNR类型
add_fieldcat   'MORDER4'       'Main Order4'   ' '    'X'    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER5'       'Main Order5'   ' '    ''    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER6'       'Main Order'   ' '    'X'    '' '' ''."afko-aufnr
add_fieldcat   'MORDER7'       'Main Order'   ' '    ''    '' '' ''."afko-aufnr*有前导零  字符串类型
add_fieldcat   'MORDER8'       'Main Order8'   ' '    'X'    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER9'       'Main Order9'   ' '    ''    'AUFNR' 'AFKO' ''."筛选失败
*其中搜索帮助错误,但不会报错
add_fieldcat   'MORDER10'       'Main Order10'   ' '    'X'    '' '' ''."筛选失败+前导零成功
add_fieldcat   'MORDER11'       'Main Order11'   ' '    ''    '' '' ''."筛选失败+前导零成功
*无前导零  字符串类型
add_fieldcat   'MORDER12'       'Main Order12'   ' '    'X'    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER13'       'Main Order13'   ' '    ''    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER14'       'Main Order'   ' '    'X'    '' '' ''."afko-aufnr
add_fieldcat   'MORDER15'       'Main Order'   ' '    ''    '' '' ''."afko-aufnrg_program = sy-repid.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_program = g_programis_layout_lvc      = gw_layoutit_fieldcat_lvc    = gt_fieldcat
*   i_save             = 'A'
*   it_events          = gt_eventTABLESt_outtab           = gt_outEXCEPTIONSprogram_error      = 1OTHERS             = 2.

代码版本一

*&---------------------------------------------------------------------*
*& Report ZTXYY_11142
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztxyy_11142.
TYPE-POOLS: slis.
TYPE-POOLS: vrm.DATA : gt_fieldcat TYPE lvc_t_fcat,wa_fieldcat TYPE lvc_s_fcat,g_program   TYPE sy-repid,gw_layout   TYPE lvc_s_layo.
TYPES:BEGIN OF ty_out,morder0(12),morder01(12),morder   TYPE aufk-aufnr,                "main ordermorder1  TYPE aufk-aufnr,                "main ordermorder2  TYPE aufk-aufnr,                "main ordermorder3  TYPE aufk-aufnr,                "main ordermorder4  TYPE aufk-aufnr,                "main ordermorder5  TYPE aufk-aufnr,                "main ordermorder6  TYPE aufk-aufnr,                "main ordermorder7  TYPE aufk-aufnr,                "main ordermorder8  TYPE char255,                "main ordermorder9  TYPE char255,                "main ordermorder10 TYPE char255,                "main ordermorder11 TYPE char255,                "main ordermorder12 TYPE char255,                "main ordermorder13 TYPE char255,                "main ordermorder14 TYPE char255,                "main ordermorder15 TYPE char255,                "main ordersel      TYPE c,END OF ty_out.DATA:gt_out  TYPE TABLE OF ty_out,gs_out  TYPE ty_out,gt_out1 TYPE TABLE OF ty_out,gs_out1 TYPE ty_out.SELECT aufnr AS morder FROM aufk INTO CORRESPONDING FIELDS OF TABLE gt_out1UP TO 500 ROWS.LOOP AT gt_out1 INTO gs_out1.DATA:lv_morder TYPE aufnr.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "加零EXPORTINGinput  = gs_out1-morderIMPORTINGoutput = lv_morder.gs_out-morder0 = lv_morder.gs_out-morder01 = lv_morder.gs_out-morder  = lv_morder.gs_out-morder1 = lv_morder.gs_out-morder2 = lv_morder.gs_out-morder3 = lv_morder.gs_out-morder8  = lv_morder.gs_out-morder9  = lv_morder.gs_out-morder10 = lv_morder.gs_out-morder11 = lv_morder.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' "去零EXPORTINGinput  = gs_out1-morderIMPORTINGoutput = lv_morder.gs_out-morder4 = lv_morder.gs_out-morder5 = lv_morder.gs_out-morder6 = lv_morder.gs_out-morder7 = lv_morder.gs_out-morder12 = lv_morder.gs_out-morder13 = lv_morder.gs_out-morder14 = lv_morder.gs_out-morder15 = lv_morder.APPEND gs_out TO gt_out.
ENDLOOP.CLEAR gw_layout.
MOVE:  'X'  TO  gw_layout-zebra.
*         'X'  TO  gw_layout-colwidth_optimize,
*         'X'  TO  gw_layout-detail_popup.*&中列与双击明细显示:
gw_layout-box_fname     = 'SEL'.
*  gw_layout-f2code            = '&ETA'.
gw_layout-detailtitl   = '显示明细'.
gw_layout-stylefname = 'FIELD'.
gw_layout-info_fname      = 'CLR'.
gw_layout-cwidth_opt      = 'X'.
DEFINE add_fieldcat.CLEAR wa_fieldcat.wa_fieldcat-fieldname    =  &1.wa_fieldcat-scrtext_l    =  &2.wa_fieldcat-edit         =  &3.wa_fieldcat-no_zero      =  &4.wa_fieldcat-just         =  'X'.wa_fieldcat-ref_field    =  &5.wa_fieldcat-ref_table    =  &6.wa_fieldcat-outputlen    = &7.APPEND wa_fieldcat TO gt_fieldcat.
END-OF-DEFINITION."PERFORM filt_f4_callback IN PROGRAM SAPLSLVC_DIALOG IF FOUND USING '' 'LOW' ''.add_fieldcat   'MORDER0'       'Main Order'   ' '    'X'    'AUFNR' 'AFKO' ''."afko-aufnr
add_fieldcat   'MORDER01'       'Main Order'   ' '    ''    'AUFNR' 'AFKO' ''."afko-aufnr
*有前导零 AUFNR类型
add_fieldcat   'MORDER'       'Main Order'   ' '    'X'    'AUFNR' 'AFKO' ''."afko-aufnr
add_fieldcat   'MORDER1'       'Main Order'   ' '    ''    'AUFNR' 'AFKO' ''."afko-aufnr
*其中搜索帮助错误,但不会报错
add_fieldcat   'MORDER2'       'Main Order2'   ' '    'X'    '' '' ''."筛选失败
add_fieldcat   'MORDER3'       'Main Order3'   ' '    ''    '' '' ''."筛选失败
*无前导零 AUFNR类型
add_fieldcat   'MORDER4'       'Main Order4'   ' '    'X'    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER5'       'Main Order5'   ' '    ''    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER6'       'Main Order'   ' '    'X'    '' '' ''."afko-aufnr
add_fieldcat   'MORDER7'       'Main Order'   ' '    ''    '' '' ''."afko-aufnr*有前导零  字符串类型
add_fieldcat   'MORDER8'       'Main Order8'   ' '    'X'    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER9'       'Main Order9'   ' '    ''    'AUFNR' 'AFKO' ''."筛选失败
*其中搜索帮助错误,但不会报错
add_fieldcat   'MORDER10'       'Main Order10'   ' '    'X'    '' '' ''."筛选失败+前导零成功
add_fieldcat   'MORDER11'       'Main Order11'   ' '    ''    '' '' ''."筛选失败+前导零成功
*无前导零  字符串类型
add_fieldcat   'MORDER12'       'Main Order12'   ' '    'X'    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER13'       'Main Order13'   ' '    ''    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER14'       'Main Order'   ' '    'X'    '' '' ''."afko-aufnr
add_fieldcat   'MORDER15'       'Main Order'   ' '    ''    '' '' ''."afko-aufnrg_program = sy-repid.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_program = g_programis_layout_lvc      = gw_layoutit_fieldcat_lvc    = gt_fieldcat
*   i_save             = 'A'
*   it_events          = gt_eventTABLESt_outtab           = gt_outEXCEPTIONSprogram_error      = 1OTHERS             = 2.

代码版本二

*&---------------------------------------------------------------------*
*& Report ZTXYY_11142
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztxyy_11142.
TYPE-POOLS: slis.
TYPE-POOLS: vrm.DATA : gt_fieldcat TYPE lvc_t_fcat,wa_fieldcat TYPE lvc_s_fcat,g_program   TYPE sy-repid,gw_layout   TYPE lvc_s_layo.
TYPES:BEGIN OF ty_out,morder0(12),morder01(12),morder   TYPE aufk-aufnr,                "main ordermorder1  TYPE aufk-aufnr,                "main ordermorder2  TYPE aufk-aufnr,                "main ordermorder3  TYPE aufk-aufnr,                "main ordermorder4  TYPE aufk-aufnr,                "main ordermorder5  TYPE aufk-aufnr,                "main ordermorder6  TYPE aufk-aufnr,                "main ordermorder7  TYPE aufk-aufnr,                "main ordermorder8  TYPE char255,                "main ordermorder9  TYPE char255,                "main ordermorder10 TYPE char255,                "main ordermorder11 TYPE char255,                "main ordermorder12 TYPE char255,                "main ordermorder13 TYPE char255,                "main ordermorder14 TYPE char255,                "main ordermorder15 TYPE char255,                "main ordersel      TYPE c,END OF ty_out.DATA:gt_out  TYPE TABLE OF ty_out,gs_out  TYPE ty_out,gt_out1 TYPE TABLE OF ty_out,gs_out1 TYPE ty_out.SELECT aufnr AS morder FROM aufk INTO CORRESPONDING FIELDS OF TABLE gt_out1UP TO 500 ROWS.LOOP AT gt_out1 INTO gs_out1.DATA:lv_morder TYPE aufnr.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "加零EXPORTINGinput  = gs_out1-morderIMPORTINGoutput = lv_morder.gs_out-morder0 = lv_morder.gs_out-morder01 = lv_morder.gs_out-morder  = lv_morder.gs_out-morder1 = lv_morder.gs_out-morder2 = lv_morder.gs_out-morder3 = lv_morder.gs_out-morder8  = lv_morder.gs_out-morder9  = lv_morder.gs_out-morder10 = lv_morder.gs_out-morder11 = lv_morder.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' "去零EXPORTINGinput  = gs_out1-morderIMPORTINGoutput = lv_morder.gs_out-morder4 = lv_morder.gs_out-morder5 = lv_morder.gs_out-morder6 = lv_morder.gs_out-morder7 = lv_morder.gs_out-morder12 = lv_morder.gs_out-morder13 = lv_morder.gs_out-morder14 = lv_morder.gs_out-morder15 = lv_morder.APPEND gs_out TO gt_out.
ENDLOOP.CLEAR gw_layout.
MOVE:  'X'  TO  gw_layout-zebra.
*         'X'  TO  gw_layout-colwidth_optimize,
*         'X'  TO  gw_layout-detail_popup.*&中列与双击明细显示:
gw_layout-box_fname     = 'SEL'.
*  gw_layout-f2code            = '&ETA'.
gw_layout-detailtitl   = '显示明细'.
gw_layout-stylefname = 'FIELD'.
gw_layout-info_fname      = 'CLR'.
gw_layout-cwidth_opt      = 'X'.
DEFINE add_fieldcat.CLEAR wa_fieldcat.wa_fieldcat-fieldname    =  &1.wa_fieldcat-scrtext_l    =  &2.wa_fieldcat-edit         =  &3.wa_fieldcat-no_zero      =  &4.wa_fieldcat-just         =  'X'.wa_fieldcat-ref_field    =  &5.wa_fieldcat-ref_table    =  &6.wa_fieldcat-outputlen    = &7.wa_fieldcat-inttype = 'C'.wa_fieldcat-intlen = '12'.APPEND wa_fieldcat TO gt_fieldcat.
END-OF-DEFINITION."PERFORM filt_f4_callback IN PROGRAM SAPLSLVC_DIALOG IF FOUND USING '' 'LOW' ''.add_fieldcat   'MORDER0'       'Main Order'   ' '    'X'    'AUFNR' 'AFKO' ''."afko-aufnr
add_fieldcat   'MORDER01'       'Main Order'   ' '    ''    'AUFNR' 'AFKO' ''."afko-aufnr
*有前导零 AUFNR类型
add_fieldcat   'MORDER'       'Main Order'   ' '    'X'    'AUFNR' 'AFKO' ''."afko-aufnr
add_fieldcat   'MORDER1'       'Main Order'   ' '    ''    'AUFNR' 'AFKO' ''."afko-aufnr
*其中搜索帮助错误,但不会报错
add_fieldcat   'MORDER2'       'Main Order2'   ' '    'X'    '' '' ''."筛选失败
add_fieldcat   'MORDER3'       'Main Order3'   ' '    ''    '' '' ''."筛选失败
*无前导零 AUFNR类型
add_fieldcat   'MORDER4'       'Main Order4'   ' '    'X'    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER5'       'Main Order5'   ' '    ''    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER6'       'Main Order'   ' '    'X'    '' '' ''."afko-aufnr
add_fieldcat   'MORDER7'       'Main Order'   ' '    ''    '' '' ''."afko-aufnr*有前导零  字符串类型
add_fieldcat   'MORDER8'       'Main Order8'   ' '    'X'    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER9'       'Main Order9'   ' '    ''    'AUFNR' 'AFKO' ''."筛选失败
*其中搜索帮助错误,但不会报错
add_fieldcat   'MORDER10'       'Main Order10'   ' '    'X'    '' '' ''."筛选失败+前导零成功
add_fieldcat   'MORDER11'       'Main Order11'   ' '    ''    '' '' ''."筛选失败+前导零成功
*无前导零  字符串类型
add_fieldcat   'MORDER12'       'Main Order12'   ' '    'X'    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER13'       'Main Order13'   ' '    ''    'AUFNR' 'AFKO' ''."筛选失败
add_fieldcat   'MORDER14'       'Main Order'   ' '    'X'    '' '' ''."afko-aufnr
add_fieldcat   'MORDER15'       'Main Order'   ' '    ''    '' '' ''."afko-aufnrg_program = sy-repid.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_program = g_programis_layout_lvc      = gw_layoutit_fieldcat_lvc    = gt_fieldcat
*   i_save             = 'A'
*   it_events          = gt_eventTABLESt_outtab           = gt_outEXCEPTIONSprogram_error      = 1OTHERS             = 2.

代码版本三

*&---------------------------------------------------------------------*
*& Report ZTXYY_11142
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztxyy_11142.
TYPE-POOLS: slis.
TYPE-POOLS: vrm.DATA : gt_fieldcat TYPE lvc_t_fcat,wa_fieldcat TYPE lvc_s_fcat,g_program   TYPE sy-repid,gw_layout   TYPE lvc_s_layo.
TYPES:BEGIN OF ty_out,morder0(12),morder01(12),morder   TYPE aufk-aufnr,                "main ordermorder1  TYPE aufk-aufnr,                "main ordermorder2  TYPE aufk-aufnr,                "main ordermorder3  TYPE aufk-aufnr,                "main ordermorder4  TYPE aufk-aufnr,                "main ordermorder5  TYPE aufk-aufnr,                "main ordermorder6  TYPE aufk-aufnr,                "main ordermorder7  TYPE aufk-aufnr,                "main ordermorder8  TYPE char255,                "main ordermorder9  TYPE char255,                "main ordermorder10 TYPE char255,                "main ordermorder11 TYPE char255,                "main ordermorder12 TYPE char255,                "main ordermorder13 TYPE char255,                "main ordermorder14 TYPE char255,                "main ordermorder15 TYPE char255,                "main ordersel      TYPE c,END OF ty_out.DATA:gt_out  TYPE TABLE OF ty_out,gs_out  TYPE ty_out,gt_out1 TYPE TABLE OF ty_out,gs_out1 TYPE ty_out.SELECT aufnr AS morder FROM aufk INTO CORRESPONDING FIELDS OF TABLE gt_out1UP TO 500 ROWS.LOOP AT gt_out1 INTO gs_out1.DATA:lv_morder TYPE aufnr.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "加零EXPORTINGinput  = gs_out1-morderIMPORTINGoutput = lv_morder.gs_out-morder0 = lv_morder.gs_out-morder01 = lv_morder.gs_out-morder  = lv_morder.gs_out-morder1 = lv_morder.gs_out-morder2 = lv_morder.gs_out-morder3 = lv_morder.gs_out-morder8  = lv_morder.gs_out-morder9  = lv_morder.gs_out-morder10 = lv_morder.gs_out-morder11 = lv_morder.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' "去零EXPORTINGinput  = gs_out1-morderIMPORTINGoutput = lv_morder.gs_out-morder4 = lv_morder.gs_out-morder5 = lv_morder.gs_out-morder6 = lv_morder.gs_out-morder7 = lv_morder.gs_out-morder12 = lv_morder.gs_out-morder13 = lv_morder.gs_out-morder14 = lv_morder.gs_out-morder15 = lv_morder.APPEND gs_out TO gt_out.
ENDLOOP.CLEAR gw_layout.
MOVE:  'X'  TO  gw_layout-zebra.
*         'X'  TO  gw_layout-colwidth_optimize,
*         'X'  TO  gw_layout-detail_popup.*&中列与双击明细显示:
gw_layout-box_fname     = 'SEL'.
*  gw_layout-f2code            = '&ETA'.
gw_layout-detailtitl   = '显示明细'.
gw_layout-stylefname = 'FIELD'.
gw_layout-info_fname      = 'CLR'.
gw_layout-cwidth_opt      = 'X'.
DEFINE add_fieldcat.CLEAR wa_fieldcat.wa_fieldcat-fieldname    =  &1.wa_fieldcat-scrtext_l    =  &2.wa_fieldcat-edit         =  &3.wa_fieldcat-no_zero      =  &4.wa_fieldcat-just         =  'X'.wa_fieldcat-ref_field    =  &5.wa_fieldcat-ref_table    =  &6.wa_fieldcat-outputlen    = &7.APPEND wa_fieldcat TO gt_fieldcat.
END-OF-DEFINITION."PERFORM filt_f4_callback IN PROGRAM SAPLSLVC_DIALOG IF FOUND USING '' 'LOW' ''.add_fieldcat   'MORDER0'       'Main Order'   ' '    'X'    'AUFNR' 'AFKO' ''."afko-aufnr
add_fieldcat   'MORDER01'       'Main Order'   ' '    ''    'AUFNR' 'AFKO' ''."afko-aufnr
*有前导零 AUFNR类型
add_fieldcat   'MORDER'       'Main Order'   ' '    'X'    'AUFNR' 'AFKO' ''."afko-aufnr
add_fieldcat   'MORDER1'       'Main Order'   ' '    ''    'AUFNR' 'AFKO' ''."afko-aufnr
*其中搜索帮助错误,但不会报错
add_fieldcat   'MORDER2'       'Main Order2'   ' '    'X'    '' '' '12'."筛选失败
add_fieldcat   'MORDER3'       'Main Order3'   ' '    ''    '' '' '12'."筛选失败
*无前导零 AUFNR类型
add_fieldcat   'MORDER4'       'Main Order4'   ' '    'X'    'AUFNR' 'AFKO' '12'."筛选失败
add_fieldcat   'MORDER5'       'Main Order5'   ' '    ''    'AUFNR' 'AFKO' '12'."筛选失败
add_fieldcat   'MORDER6'       'Main Order'   ' '    'X'    '' '' '12'."afko-aufnr
add_fieldcat   'MORDER7'       'Main Order'   ' '    ''    '' '' ''."afko-aufnr*有前导零  字符串类型
add_fieldcat   'MORDER8'       'Main Order8'   ' '    'X'    'AUFNR' 'AFKO' '12'."筛选失败
add_fieldcat   'MORDER9'       'Main Order9'   ' '    ''    'AUFNR' 'AFKO' '12'."筛选失败
*其中搜索帮助错误,但不会报错
add_fieldcat   'MORDER10'       'Main Order10'   ' '    'X'    '' '' '12'."筛选失败+前导零成功
add_fieldcat   'MORDER11'       'Main Order11'   ' '    ''    '' '' '12'."筛选失败+前导零成功
*无前导零  字符串类型
add_fieldcat   'MORDER12'       'Main Order12'   ' '    'X'    'AUFNR' 'AFKO' '12'."筛选失败
add_fieldcat   'MORDER13'       'Main Order13'   ' '    ''    'AUFNR' 'AFKO' '12'."筛选失败
add_fieldcat   'MORDER14'       'Main Order'   ' '    'X'    '' '' ''."afko-aufnr
add_fieldcat   'MORDER15'       'Main Order'   ' '    ''    '' '' ''."afko-aufnrg_program = sy-repid.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_program = g_programis_layout_lvc      = gw_layoutit_fieldcat_lvc    = gt_fieldcat
*   i_save             = 'A'
*   it_events          = gt_eventTABLESt_outtab           = gt_outEXCEPTIONSprogram_error      = 1OTHERS             = 2.

实验

源字段类型和目标类型(字符串、表或引用)的组件没有完全相同的偏移量和类型。

ALV中你设置

字段类型为string又设置

REF_FIELD    =  &5.
REF_TABLE    =  &6.

这时的显示字段又有前导零时

你筛选时就会出现错误取不到

选中F4中的数据就会报这样的 CX_SY_RANGE_OUT_OF_BOUNDS

相关文章:

  • 外包干了三年,快要废了。。。
  • jQuery UI API 文档
  • RISC-V交叉编译器下载
  • eureka服务开启之后的默认登录账号密码是什么?
  • 高德地图绘图,点标记,并计算中心点
  • Leetcode面试经典150题-141.环形链表
  • 官宣:Zilliz 在亚马逊云科技中国区正式开服!
  • EA橘子平台Origin离线安装包获取
  • 树莓派安装 OpenCV 教程
  • 腾讯云使用
  • 企业采用电子招投标的原因及系统推荐
  • 50ETF期权可以当天买卖吗?
  • 观众登记2025中国(深圳)国际智能手机供应链展览会
  • 解算方案—二连杆与三连杆解算
  • 学习Vue3的第五天
  • 4个实用的微服务测试策略
  • Computed property XXX was assigned to but it has no setter
  • CSS3 变换
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • LeetCode18.四数之和 JavaScript
  • storm drpc实例
  • ViewService——一种保证客户端与服务端同步的方法
  • Vue UI框架库开发介绍
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 不上全站https的网站你们就等着被恶心死吧
  • 程序员最讨厌的9句话,你可有补充?
  • 关于Java中分层中遇到的一些问题
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 深入 Nginx 之配置篇
  • 原生JS动态加载JS、CSS文件及代码脚本
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • $.proxy和$.extend
  • (~_~)
  • (BFS)hdoj2377-Bus Pass
  • (day18) leetcode 204.计数质数
  • (HAL库版)freeRTOS移植STMF103
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Note)C++中的继承方式
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (二)windows配置JDK环境
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (附源码)计算机毕业设计高校学生选课系统
  • (十七)Flink 容错机制
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)VirtualBox安装增强功能
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转) Face-Resources
  • (转)nsfocus-绿盟科技笔试题目
  • (转)为C# Windows服务添加安装程序
  • ../depcomp: line 571: exec: g++: not found
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .describe() python_Python-Win32com-Excel