点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在alv报告输出中,我仅得到8位数字,但表中有更多数字.. !! 如何获得表中的确切输出。 *&------------------------------------------------ --------------------- * *&报告Z_FI_GLACC *&------------------------------------------------ --------------------- * *& *&------------------------------------------------ --------------------- * 报告z_fi_glacc没有标准页标题。 表格:bseg,bkpf,skat。 类型:开始于ty_final, sel, prctr TYPE prctr, hkont TYPE hkont, belnr TYPE belnr, TYPE budat, TYPE BLDAT, augcp TYPE augcp, pswsl TYPE pswsl, xref1类型xref1, sgxtx TYPE sgtxt, dzuonr TYPE dzuonr, wrbtr TYPE wrbtr, bktxt TYPE bktxt, cpudt TYPE cpudt, saknr TYPE saknr, txt50 TYPE txt50, ty_final结束。 数据:gt ty_final类型表, gwa TYPE ty_final, it_fcat TYPE slis_t_fieldcat_alv, wa_fcat TYPE slis_fieldcat_alv, gs_layout TYPE slis_layout_alv, gs_varient TYPE变量, v_prog TYPE sy-repid, v_name TYPE sy-uname, rs_selfield TYPE slis_selfield, v_selfield TYPE slis_selfield值, r_ucomm TYPE sy-ucomm。 初始化。 v_prog = sy-repid。 v_name = sy-uname。 带有标题标题文本001的b1块的选择屏幕开始。 选择选项:s_hkont for bseg-hkont," gl帐号 s_budat FOR bseg-h_budat,"发布数据 s_prctr FOR bseg-prctr。 利润中心 块b的选择屏幕结束。 选择开始。 执行get_data。 选择结束。 执行fcat。 执行alvcall。 使用r_ucomm更改rs_selfield来执行usercmd。 FORM get_data。 SELECT prctr, 赫康特 belnr, h_budat, h_bldat, 奥格, pswsl, 外部参照1, sgtxt, zuonr, 从bseg到表@DATA(l_bseg)中的wrbtr 在@s_hkont的hkont AND h_budat IN @s_budat * AND koart ='S''A资产 ** D客户 ** K供应商 ** M材质 **总账科目 和prctr IN @s_prctr。 检查sy-subrc EQ 0。 SELECT bktxt, cpudt, 贝恩 从bkpf到表@DATA(l_bkpf)中所有@l_bseg中的条目 在哪里belnr EQ @ l_bseg-belnr 与@@ s_budat中的好友。 如果l_bseg []不初始化。 SELECT saknr, txt50 从skat到表@DATA(l_skat)中所有@l_bseg中的条目 在哪里saknr EQ @ l_bseg-hkont。 万一。 排序:l_bseg BY belnr, l_bkpf BY belnr。 循环到l_bseg INTO DATA(w_bseg)。 gwa-prctr = w_bseg-prctr。 gwa-hkont = w_bseg-hkont。 gwa-belnr = w_bseg-belnr。 gwa-budat = w_bseg-h_budat。 gwa-bldat = w_bseg-h_bldat。 gwa-augcp = w_bseg-augcp。 gwa-pswsl = w_bseg-pswsl。 gwa-xref1 = w_bseg-xref1。 gwa-sgxtx = w_bseg-sgtxt。 gwa-dzuonr = w_bseg-zuonr。 gwa-wrbtr = w_bseg-wrbtr。 使用键belnr = w_bseg-belnr二进制搜索将表l_bkpf读入DATA(w_bkpf)。 如果sy-subrc EQ 0。 gwa-bktxt = w_bkpf-bktxt。 gwa-cpudt = w_bkpf-cpudt。 万一。 使用键saknr = w_bseg-hkont二进制搜索将表l_skat读入DATA(w_skat)。 如果sy-subrc EQ 0。 gwa-saknr = w_skat-saknr。 gwa-txt50 = w_skat-txt50。 万一。 将gwa附加到gt。 清除gwa。 结局。 ENDFORM。 表格fcat。 gs_layout-colwidth_optimize ='X'。 gs_layout-box_fieldname ='SEL'。 gs_varient-report = sy-repid。 wa_fcat-fieldname ='BELNR'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='文件编号'。 wa_fcat-hotspot ='X'。 wa_fcat-outputlen ='15'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='SGTXT'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='项目文本'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='PRCTR'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='利润中心'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='BUDAT'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='发布日期'。 wa_fcat-datatype ='DATS'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='BLDAT'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='文档日期'。 wa_fcat-datatype ='DATS'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='CPUDT'。 wa_fcat-ref_tabname ='BKPF'。 wa_fcat-seltext_m ='输入日期'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='WRBTR'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='凭证货币金额'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='PSWSL'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='货币'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='DZUONR'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='指派人'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='BKTXT'。 wa_fcat-ref_tabname ='BKPF'。 wa_fcat-seltext_m ='标题文本'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='SAKNR'。 wa_fcat-ref_tabname ='SKA1'。 wa_fcat-seltext_m ='总账科目'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='XREF1'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='商业伙伴'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='TXT50_SKAT'。 wa_fcat-ref_tabname ='SKAT'。 wa_fcat-seltext_m ='说明'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 *将wa_fcat附加到it_fcat。 *清除wa_fcat。 ENDFORM。 FORM alvcall。 通话功能'REUSE_ALV_GRID_DISPLAY' 出口 i_callback_program = v_prog i_callback_user_command ='USERCMD' i_grid_title ='总帐科目明细' is_layout = gs_layout it_fieldcat = it_fcat is_variant = gs_varient 桌子 t_outtab = gt。 ENDFORM。 FORM usercmd使用r_ucoma TYPE sy-ucomm更改rs_selfield TYPE slis_selfield。 案例r_ucoma。 当"&IC1"时。 案例rs_selfield-fieldname。 当" BELNR"。 设置参数ID'BLN' FIELD rs_selfield值。 呼叫交易" FS00"并跳过第一屏。 结束。 结束。 ENDFORM。
bseg.jpg (44.7 kB)
您好 Manoj Kumar
在您使用源代码更新问题时,我可以 您更详细的答案。 我可以看到以下声明的问题:
将其更改为:
HTH,BR
Dominik Tylczynski
Hello Manoj
您需要检查您的定义 用于ALV的结构。 字段"文档编号"可能定义不正确。 如果找不到错误,请使用注释编辑器的CODE选项将报告的代码作为注释添加到问题中。
请问候,Mateusz
作为Dominik 说,您定义了错误的类型。 对于属性BELNR,您使用TYPE BELNR而不是BELNR_D!
=>您需要在类型ty_final中更正BELNR的类型,该类型用作ALV表变量gt的结构。
Mateusz Adamus Manoj Kumar
字段目录中的字段名称必须与要显示的内部表的字段名称相对应。 它不必与数据库表中的字段名称相同。 因此,SGXTX在这里起作用,因为在字段目录和内部表声明中使用了相同的名称。
你好 Manoj Kumar
仅凭确切的问题很难说清楚
但是,您应该使用ALV字段"文档编号"检查要显示的内部表的声明。 最有可能将其定义为8个字符的字段。
最诚挚的问候
Dominik Tylczynski
谢谢我明白了
# p#一周热门 更多>