在alv报告输出中,我只得到8位数字,但表中有10位数字.. !!

2020-08-17 17:02发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在alv报告输出中,我仅得到8位...

         点击此处--->   EasySAP.com群内免费提供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)