点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
把它放到多个领域.. !! 帮忙..
输出中的abap字段重叠。
和s00 ttcode上的用户命令设置参数也不起作用.. !!
*&--------------------------------------------- ------------------------ * *&报告Z_FI_GLACC *&------------------------------------------------ --------------------- * *& *&------------------------------------------------ --------------------- * 报告z_fi_glacc没有标准页标题。 表格:bseg,bkpf,skat。 类型:开始于ty_final, hkont TYPE hkont," gl帐号 saknr TYPE saknr," gl帐号 belnr TYPE belnr,文件编号 TYPE budat,"发布日期 bldat TYPE bldat,"文档日期 TYPE augcp,"输入日期 * dmbtr TYPE dmbtr,"本地货币 pswsl TYPE pswsl, xref1 TYPE xref1,"商业伙伴 sgxtx TYPE sgtxt,"项目文本 dzuonr TYPE dzuonr,"分配号 bktxt TYPE bktxt,标题文本 wrbtr TYPE wrbtr, txt50 TYPE txt50, ty_final结束。 数据:TYPE TABLE OF ty_final, wa TYPE ty_final, it_fcat TYPE slis_t_fieldcat_alv, wa_fcat TYPE slis_fieldcat_alv, it_event TYPE slis_t_event, wa_event TYPE slis_alv_event, 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块的选择屏幕开始。 选择选项:s1 for bseg-hkont," gl帐号 s2 FOR bseg-h_budat,"发布数据 s3 FOR bseg-prctr。 利润中心 块b的选择屏幕结束。 * *在s1上的"选择屏幕"上。 *如果s1不是初始的。 * MESSAGE'输入正确的数据'TYPE'E'。 * 万一。 * *在s2上的"选择屏幕"上。 *如果s2不是初始的。 * MESSAGE'输入正确的数据'TYPE'E'。 * 万一。 * *在s3上的"选择屏幕"上。 *如果s3不是初始的。 * MESSAGE'输入正确的数据'TYPE'E'。 * 万一。 选择开始。 执行get_data。 选择结束。 执行fcat。 执行事件。 执行alvcall。 使用r_ucomm更改rs_selfield来执行usercmd。 FORM get_data。 SELECT belnr, 赫康特 h_budat, h_bldat, 奥格, pswsl, * dmbtr, 外部参照1, sgtxt, zuonr, 从bseg到表@DATA(t_bseg)中的wrbtr 在@ s1的hkont 和h_budat IN @ s2 和prctr IN @ s3。 检查sy-subrc EQ 0。 SELECT bktxt, 贝恩 从bkpf到表@DATA(t_bkpf)中的@t_bseg中所有条目 在哪里belnr EQ @ t_bseg-belnr 和@@ s2中的budat。 如果t_bseg []不是初始的。 通过hkont排序t_bseg。 从t_bseg比较hkont删除相邻的重复项。 SELECT saknr, txt50" GL帐户 从skat到表@DATA(t_skat)中@t_bseg中的所有条目 在哪里saknr EQ @ t_bseg-hkont。 万一。 排序:t_bseg BY belnr, t_bkpf BY belnr。 循环到t_bseg INTO DATA(w_bseg)。 wa-belnr = w_bseg-belnr。 wa-budat = w_bseg-h_budat。 wa-bldat = w_bseg-h_bldat。 wa-augcp = w_bseg-augcp。 wa-wrbtr = w_bseg-wrbtr。 wa-pswsl = w_bseg-pswsl。 wa-xref1 = w_bseg-xref1。 wa-dzuonr = w_bseg-zuonr。 使用键belnr = w_bseg-belnr二进制搜索将表t_bkpf读入DATA(w_bkpf)。 如果sy-subrc EQ 0。 wa-bktxt = w_bkpf-bktxt。 万一。 使用键saknr = w_bseg-hkont二进制搜索将表t_skat读入DATA(w_skat)。 如果sy-subrc EQ 0。 wa-saknr = w_skat-saknr。 wa-txt50 = w_skat-txt50。 万一。 附加到它。 清除。 结局。 ENDFORM。 表格fcat。 清除wa_fcat。 清除it_fcat。 *刷新wa_fcat。 刷新it_fcat。 wa_fcat-fieldname ='BELNR'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='文件编号'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='H_BUDAT'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='发布日期'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='H_BLDAT'。 wa_fcat-ref_tabname ='BSEG'。 wa_fcat-seltext_m ='文档日期'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 wa_fcat-fieldname ='AUGCP'。 wa_fcat-ref_tabname ='BSEG'。 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 ='DMBTR'。 * wa_fcat-ref_tabname ='BSEG'。 * wa_fcat-seltext_m ='货币'。 *将wa_fcat附加到it_fcat。 *清除wa_fcat。 wa_fcat-fieldname ='ZUONR'。 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'。 wa_fcat-ref_tabname ='SKAT'。 wa_fcat-seltext_m ='DISCRIPTION'。 将wa_fcat附加到it_fcat。 清除wa_fcat。 将wa_fcat附加到it_fcat。 清除wa_fcat。 ENDFORM。 FORM事件。 通话功能" REUSE_ALV_EVENTS_GET" 输入 et_events = it_event 例外情况 list_type_wrong = 1 其他= 2。 如果it_event不是INITIAL。 清除wa_event。 读取表it_event到wa_event中,键名='USER_COMMAND'。 wa_event-form ='USER'。 从wa_event修改it_event 索引sy-tabix TRANSPORTING表格。 万一。 ENDFORM。 FORM alvcall。 通话功能'REUSE_ALV_GRID_DISPLAY' 出口 i_callback_program = v_prog i_callback_user_command ='USERCMD' i_grid_title ='总帐科目明细' it_fieldcat = it_fcat it_events = it_event 桌子 t_outtab =它。 ENDFORM。 FORM usercmd使用r_ucoma TYPE sy-ucomm 更改rs_selfield的类型slis_selfield。 案例rs_selfield-fieldname。 当" BELNR"。 设置参数ID'DFD' FIELD rs_selfield值。 呼叫交易" FS00"并跳过第一屏。 消息"无效字段"类型" S"。 结束。 ENDFORM。
aaaaaaaaaaaaaaaaa.jpg (73.8 kB)
在字段目录中,声明'H_BUDAT'...,并且内部表BUDAT中有
检查字段目录的名称和所显示内部表的列的名称
Tq正常工作
而且您还应该对内部表(T_SKAT)进行排序,因为您在T_SKAT读取表中使用了二进制搜索。 如果要在读取表中使用二进制搜索,总是应该进行排序。
一周热门 更多>