ABAP中ALV导出excel表格时有个字段总是少一位,请问是什么原因?如何解决?

 我来答
liuxy_888
2011-04-09
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
这是SAP的一个Bug,FM方式ALV Grid和Class ALV Grid都会出现,但是ALV List好像没有这个BUG。

在以下几个条件满足的时候就会出现这个问题:
1.字段对应的域Convers. routine = ALPHA,也就是有前导零的字段,比如供应商号、商品号、客户号等。
2.做ALV Fieldcat的时候,没有指定参考表和参考字段。
3.列的表头文本(seltext_s等)比实际显示的数据短。

所以解决问题的时候从2、3两点下手即可。

REPORT z_barry_field_loss .
TYPE-POOLS: slis.
DATA: gd_fieldcat TYPE slis_t_fieldcat_alv.
DATA: sla TYPE slis_layout_alv ,
i_repid LIKE sy-repid ,
ls_fieldcat TYPE slis_fieldcat_alv.
DATA: BEGIN OF itab OCCURS 0,
lifnr LIKE lfa1-lifnr ,
kunnr LIKE kna1-kunnr ,
matnr LIKE mara-matnr ,
bukrs LIKE bsik-bukrs ,
END OF itab.

START-OF-SELECTION.
itab-lifnr = '0000100047'.
itab-kunnr = '0000001006'.
itab-bukrs = 'ZB01'.
itab-matnr = '000000000001100198'.
APPEND itab.

CLEAR ls_fieldcat .
ls_fieldcat-fieldname = 'LIFNR'.
ls_fieldcat-seltext_s = 'LI'.
ls_fieldcat-ref_fieldname = 'LIFNR'. "|注释
ls_fieldcat-ref_tabname = 'LFA1'. "|
ls_fieldcat-ddictxt = 'S'.
APPEND ls_fieldcat TO gd_fieldcat .

CLEAR ls_fieldcat .
ls_fieldcat-fieldname = 'KUNNR'.
ls_fieldcat-seltext_s = 'KU'.
ls_fieldcat-ref_fieldname = 'KUNNR'. "|注释
ls_fieldcat-ref_tabname = 'KNA1'. "|
APPEND ls_fieldcat TO gd_fieldcat .

CLEAR ls_fieldcat .
ls_fieldcat-fieldname = 'BUKRS'.
ls_fieldcat-seltext_s = 'BU'.
APPEND ls_fieldcat TO gd_fieldcat .

CLEAR ls_fieldcat .
ls_fieldcat-fieldname = 'MATNR'.
ls_fieldcat-seltext_s = 'MAT'.
ls_fieldcat-ref_fieldname = 'MATNR'. "|注释
ls_fieldcat-ref_tabname = 'MAKT'. "|
APPEND ls_fieldcat TO gd_fieldcat .

i_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = i_repid
it_fieldcat = gd_fieldcat[]
i_save = 'A'
is_layout = sla
i_callback_user_command = 'USER_COMMAND'
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2.
匿名用户
2012-08-21
展开全部
有一种比较简单的方法, 就是你在ABAP里面定义输出字段的名字时,名字的长度设得比字段数据本身的长度更长,这样就不会出现这样的问题了。(建议用全名,或者英文名。)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Britney_do
2011-04-06 · 超过31用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:55.1万
展开全部
你说的那个字段,是什么字段呢,类型,长度.是不是这个地方问题呢
追问
TKNUM
运单号字段,导出时少最后一位。
追答
是不是excel列的宽度拉宽一点就能显示出来呢
或者发下代码看看呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
动人又聪慧的白桦4348
2011-04-08 · 超过21用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:0
展开全部
用哪种方式导出的,是本地文件还是excel表输出
两种都试试看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式