REPORT z_zycc010 MESSAGE-ID z_zycc001.

TABLES: faglflext.
DATA: BEGIN OF gwa_faglflext,
        racct  LIKE faglflext-racct, "科目
        drcrk  LIKE faglflext-drcrk, "借方/贷方标识
        ryear  TYPE faglflext-ryear,
        rbukrs TYPE faglflext-rbukrs,
        prctr  TYPE faglflext-prctr,
        rpmax  TYPE faglflext-rpmax,
        hslvt  LIKE faglflext-hslvt,
        hsl01  LIKE faglflext-hsl01, "本币金额
        hsl02  LIKE faglflext-hsl02,
        hsl03  LIKE faglflext-hsl03,
        hsl04  LIKE faglflext-hsl04,
        hsl05  LIKE faglflext-hsl05,
        hsl06  LIKE faglflext-hsl06,
        hsl07  LIKE faglflext-hsl07,
        hsl08  LIKE faglflext-hsl08,
        hsl09  LIKE faglflext-hsl09,
        hsl10  LIKE faglflext-hsl10,
        hsl11  LIKE faglflext-hsl11,
        hsl12  LIKE faglflext-hsl12,
        hsl13  LIKE faglflext-hsl13,
        hsl14  LIKE faglflext-hsl14,
        hsl15  LIKE faglflext-hsl15,
        hsl16  LIKE faglflext-hsl16,
      END OF gwa_faglflext.
DATA: gt_faglflext LIKE STANDARD TABLE OF gwa_faglflext.

DATA:BEGIN OF gs_alv,
       hxmmc1 TYPE string,
       hch1   TYPE string,
       qmye1  TYPE faglflext-tsl16,
       ncye1  TYPE faglflext-tsl16,
       hxmmc2 TYPE string,
       hch2   TYPE string,
       qmye2  TYPE faglflext-tsl16,
       ncye2  TYPE faglflext-tsl16,
     END OF gs_alv,
     gt_alv LIKE TABLE OF gs_alv.

DATA:  g_bzdw TYPE string,
       g_kjqj TYPE string.

* Define ALV attribute
DATA:go_grid     TYPE REF TO cl_gui_alv_grid.
*DATA:gs_layout   TYPE lvc_s_layo,
*     gt_fieldcat TYPE lvc_t_fcat,
*     gs_variant  TYPE disvariant,
*     gs_fieldcat LIKE LINE OF gt_fieldcat,
*     gt_exclude  TYPE slis_t_extab,
*     gv_repid    TYPE syrepid.
*&------------------------------------------------------------------*
*&                     SELECT SCREEN
*&------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS:p_rbukrs TYPE faglflext-rbukrs OBLIGATORY.   "公司代码
SELECT-OPTIONS s_prctr FOR faglflext-prctr.
PARAMETERS:p_ryear TYPE faglflext-ryear OBLIGATORY,
           p_rpmax TYPE faglflext-rpmax OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.

FIELD-SYMBOLS <fs>.
DATA: g_index TYPE i.
DATA: g_tot LIKE faglflext-hsl16.
DATA: g_tot2 LIKE faglflext-hsl16.
DATA:g_hsl LIKE faglflext-hsl16.
DATA: num TYPE i.
num = p_rpmax.
RANGES:lrr_racct FOR faglflext-racct.

START-OF-SELECTION.

PERFORM frm_get_header.
  PERFORM getdata.
  PERFORM frm_get_data.
  PERFORM frm_display.

FORM getdata.

SELECT
    ryear
    prctr
    racct
    rbukrs
    rpmax
    SUM( hslvt ) AS hslvt
    SUM( hsl01 ) AS hsl01
    SUM( hsl02 ) AS hsl02
    SUM( hsl03 ) AS hsl03
    SUM( hsl04 ) AS hsl04
    SUM( hsl05 ) AS hsl05
    SUM( hsl06 ) AS hsl06
    SUM( hsl07 ) AS hsl07
    SUM( hsl08 ) AS hsl08
    SUM( hsl09 ) AS hsl09
    SUM( hsl10 ) AS hsl10
    SUM( hsl11 ) AS hsl11
    SUM( hsl12 ) AS hsl12
    SUM( hsl13 ) AS hsl13
    SUM( hsl14 ) AS hsl14
    SUM( hsl15 ) AS hsl15
    SUM( hsl16 ) AS hsl16
    INTO CORRESPONDING FIELDS OF TABLE gt_faglflext FROM faglflext
    WHERE ryear = p_ryear
    AND rbukrs = p_rbukrs
*  and drcrk = 'S'
   AND rldnr = '0L'
*  AND rpmax = p_rpmax
*  AND racct = '0000089000'
    AND prctr IN s_prctr
    GROUP BY ryear rbukrs prctr racct rpmax.
ENDFORM.
FORM frm_get_data.
  DATA:l_qmye  TYPE faglflext-tsl16,l_ncye TYPE faglflext-tsl16,
       l_qmye1 TYPE faglflext-tsl16,l_ncye1 TYPE faglflext-tsl16.

lrr_racct+0(3) = 'ICP'.
  lrr_racct-low = '*176200'.
  APPEND lrr_racct.
  PERFORM get_data TABLES lrr_racct[].
  gs_alv-hxmmc1 = '货币资金'.
  gs_alv-hch1 = '2'.
  gs_alv-qmye1 = g_tot2.
  gs_alv-ncye1 = gwa_faglflext-hslvt.
  CLEAR g_tot2.

CLEAR:lrr_racct[],lrr_racct.
  lrr_racct+0(3) = 'ICP'.
  lrr_racct-low = '*176100'.
  APPEND lrr_racct.
  PERFORM get_data TABLES lrr_racct[].
  gs_alv-hxmmc2 = '短期借款'.
  gs_alv-hch2 = '48'.
  gs_alv-qmye2 = g_tot2.
  gs_alv-ncye2 = gwa_faglflext-hslvt.
  CLEAR g_tot2.

APPEND gs_alv TO gt_alv.

"下一行由此开始
  clear:gs_alv.
  CLEAR:lrr_racct[],lrr_racct.
  lrr_racct+0(3) = 'ICP'.
  lrr_racct-low = '*465000'.
  APPEND lrr_racct.
  PERFORM get_data TABLES lrr_racct[].
  gs_alv-hxmmc1 = '交易性金融资产'.
  gs_alv-hch1 = '3'.
  gs_alv-qmye1 = g_tot2.
  gs_alv-ncye1 = gwa_faglflext-hslvt.

CLEAR:lrr_racct[],lrr_racct.
  lrr_racct+0(3) = 'ICP'.
  lrr_racct-low = '0000175003'.
  APPEND lrr_racct.
  PERFORM get_data TABLES lrr_racct[].
  gs_alv-hxmmc2 = '交易性金融负债'.
  gs_alv-hch2 = '49'.
  gs_alv-qmye2 = g_tot2.
  gs_alv-ncye2 = gwa_faglflext-hslvt.

APPEND gs_alv TO gt_alv.

ENDFORM.

FORM get_data TABLES acct LIKE lrr_racct[].
  LOOP AT gt_faglflext INTO gwa_faglflext WHERE racct IN acct.
    DATA: g_tot21 LIKE faglflext-hsl16.
    DO num TIMES
      VARYING g_tot21 FROM gwa_faglflext-hsl01 NEXT gwa_faglflext-hsl02.
      g_tot2 = g_tot2 + g_tot21.
    ENDDO.
    " WRITE:'期初余额',gwa_faglflext-hslvt.
    " WRITE:'会计科目',gwa_faglflext-racct.
    " WRITE:'利润中心',gwa_faglflext-prctr.
    " WRITE:'会计期间',gwa_faglflext-rpmax.
    " SKIP.
    " WRITE: '一月' , gwa_faglflext-hsl01.
    " WRITE: '二月' , gwa_faglflext-hsl02.
    " WRITE: '三月' , gwa_faglflext-hsl03.
    " WRITE: '四月' , gwa_faglflext-hsl04.
    " WRITE: '五月' , gwa_faglflext-hsl05.
    " WRITE: '六月' , gwa_faglflext-hsl06.
    " WRITE: '七月' , gwa_faglflext-hsl07.
    " WRITE: '八月' , gwa_faglflext-hsl08.
    " WRITE: '九月' , gwa_faglflext-hsl09.
    " WRITE: '十月' , gwa_faglflext-hsl10.
    " WRITE: '十一月' , gwa_faglflext-hsl11.
    " WRITE: '十二月' , gwa_faglflext-hsl12.
    " WRITE: '十三月' , gwa_faglflext-hsl13.
    " WRITE: '十四月' , gwa_faglflext-hsl14.
    " WRITE: '十五月' , gwa_faglflext-hsl15.
    " WRITE: '十六月' , gwa_faglflext-hsl16.
    " SKIP.
    " WRITE: '当月期末余额' , g_tot2.
    " WRITE: / ,/.

ENDLOOP.
ENDFORM.

FORM frm_get_header.
  DATA:l_bukrs_txt TYPE t001-butxt.
  DATA:l_ktext TYPE cepct-ktext.
  DATA:lv_period_end TYPE sy-datum.
  DATA:lp_rpmax TYPE faglflext-rpmax.

"取编制单位
  SELECT SINGLE butxt INTO ( l_bukrs_txt )
    FROM t001 WHERE bukrs EQ p_rbukrs.

IF s_prctr IS NOT INITIAL.
    SELECT SINGLE ktext INTO ( l_ktext ) FROM cepct WHERE spras EQ sy-langu AND prctr IN s_prctr.
    g_bzdw = l_bukrs_txt && '(' && l_ktext && ')'.
  ELSE.
    g_bzdw = l_bukrs_txt.
  ENDIF.

"会计期间
  IF p_rpmax < 1 .
    lp_rpmax = 1.
  ELSEIF p_rpmax > 12 .
    lp_rpmax = 12.
  ELSE.
    lp_rpmax = p_rpmax.
  ENDIF.

CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
    EXPORTING
      i_gjahr        = p_ryear
      i_periv        = 'K4'
      i_poper        = lp_rpmax
    IMPORTING
      e_date         = lv_period_end
    EXCEPTIONS
      input_false    = 1
      t009_notfound  = 2
      t009b_notfound = 3
      OTHERS         = 4.

CONCATENATE lv_period_end+0(4) '年' lv_period_end+4(2) '月' lv_period_end+6(2) '日' INTO g_kjqj.

ENDFORM.

*&---------------------------------------------------------------------*
*&      Form  FRM_DISPLAY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_display .
  DATA:ls_layo TYPE lvc_s_layo,
       lt_fcat TYPE lvc_t_fcat,
       ls_fcat TYPE lvc_s_fcat.

*******设置报表抬头&注释
*  PERFORM comment_build  USING er_list_top_of_page[].

* 布局设置
  CLEAR ls_layo.
  ls_layo-zebra      = 'X'.    "斑马线
  ls_layo-no_rowmark = 'X'.    "不选择选择框
*  ls_layo-box_fname = 'SEL'.

* FIELDCAT字段填充
  CLEAR lt_fcat[].
  DEFINE m_fieldcat.
    CLEAR ls_fcat.
    ls_fcat-fieldname = &1.
    ls_fcat-coltext   = &2.
    ls_fcat-outputlen = &3.
    ls_fcat-no_zero   = &4.

APPEND ls_fcat TO lt_fcat.
  END-OF-DEFINITION.

m_fieldcat 'hxmmc1' '资      产'  '' ''  .
  m_fieldcat 'hch1' '行次'    '' ''.
  m_fieldcat 'qmye1'  '期末余数' '' ''.
  m_fieldcat 'ncye1'  '年初余额' '' ''.
  m_fieldcat 'hxmmc2'  '负债和所有者权益(或股东权益)' '' ''.
  m_fieldcat 'hch2' '行次'    '' ''.
  m_fieldcat 'qmye2'  '期末余数' '' ''.
  m_fieldcat 'ncye2'  '年初余额' '' ''.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program          = sy-repid
      is_layout_lvc               = ls_layo
      it_fieldcat_lvc             = lt_fcat[]
*     i_callback_pf_status_set    = 'FRM_SET_STATUS'
      i_callback_user_command     = 'FRM_USER_COMMAND'
      i_callback_html_top_of_page = 'F_TOP_OF_PAGE'
      i_save                      = 'A'
    TABLES
      t_outtab                    = gt_alv[]
    EXCEPTIONS
      program_error               = 1
      OTHERS                      = 2.

ENDFORM.

FORM f_top_of_page USING p_cl_dd TYPE REF TO cl_dd_document.

DATA:lv_str1 TYPE string,
       lv_str2 TYPE string,
       lv_str3 TYPE string,
       lv_date TYPE string.

" 定义缓冲区变量
  DATA: m_p      TYPE i,
        m_buffer TYPE string.

" 开始输出表头标题
  m_buffer = '<HTML><CENTER><H1>资产负债表</H1></CENTER></HTML>' .
  CALL METHOD p_cl_dd->html_insert
    EXPORTING
      contents = m_buffer
    CHANGING
      position = m_p.

"取编制单位

lv_date = sy-datum.
  lv_date = lv_date+0(4) && '年' && lv_date+4(2) && '月' && '26日'.

" 输出制表人和制表日期
  CONCATENATE '<P ALIGN = CENTER >编制单位:' g_bzdw
            '&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp                     &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp'
            '&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp'
            '&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp'
            '&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp'
            '&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp'
            '&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp'
            '会计期间:' g_kjqj INTO m_buffer .
  CALL METHOD p_cl_dd->html_insert
    EXPORTING
      contents = m_buffer
    CHANGING
      position = m_p.

ENDFORM.

*&---------------------------------------------------------------------*
*&      Form  FRM_SET_STATUS
*&---------------------------------------------------------------------*
*       set status
*----------------------------------------------------------------------*
FORM frm_set_status USING extab TYPE slis_t_extab.

DATA:wa_excluding TYPE slis_extab.
  wa_excluding-fcode = '&INFO' .
  APPEND wa_excluding TO extab .

SET PF-STATUS 'S1000'.

ENDFORM. " FRM_SET_STATUS
*&---------------------------------------------------------------------*
*&      Form  FRM_USER_COMMAND
*&---------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
*     -->I_UCOMM
*     -->I_SELFIELD
*----------------------------------------------------------------------*
FORM frm_user_command USING i_ucomm LIKE sy-ucomm
                            i_selfield TYPE slis_selfield.

DATA:l_grid   TYPE REF TO cl_gui_alv_grid,
       lv_count TYPE i.

*- 获取alv
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = l_grid.
*- 获取alv改变值
  CALL METHOD l_grid->check_changed_data.
*- 刷新ALV界面
  CALL METHOD l_grid->refresh_table_display.

CASE i_ucomm.
    WHEN '&IC1'.
*      i_selfield-fieldname
*i_selfield-tabindex

WHEN OTHERS.
  ENDCASE.

i_selfield-refresh = 'X'.

ENDFORM. " FRM_USER_COMMAND

ABAP资产负债表作业相关推荐

  1. SAP ABAP ChatGPT 初体验 我会失业吗?

    SAP ABAP ChatGPT 初体验 我会失业吗? 简介: ChatGPT 最近很火,听说我可能要失业!就在今天我历经千辛万苦,终于把 ChatGPT 注册好了.话不多说,我先问两个 ABAP 开 ...

  2. SAP ABAP 业务对象 BUS1115 ActivityTypeGroup 作业类型组 BAPI 清单和相关 TCODE

    SAP ABAP 业务对象 BUS1115 ActivityTypeGroup 作业类型组 BAPI 清单和相关 TCODE 简介: SAP ABAP 业务对象 BUS1115 ActivityTyp ...

  3. ABAP实现本地化的资产负债表和损益表

    1.设计思路: SAP没有提供标准的符合中国标准的资产负债表和损益表,需要我们在系统中自定义开发,我们在配置报表版本时都指定了 一个项目的编号,一个版本下面都有期其统驭的科目范围,我们可以根据这个项目 ...

  4. 会计学第四周作业(会计科目,资产负债表,利润表)

    一.选择题 1.AC 2.BD 3.A 4.B 5.D 6.B 7.ABC 8.C 9.BCD 10.B 二.判断题 1.错 2.错 3.对 4.对 5.错 6.错 7.对 8.对 9.对 10.错 ...

  5. 计算机会计课程试题及答案,计算机会计第2次作业_报表_附答案

    计算机会计第2次作业_报表_附答案 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 . . . . .<计算机会计>课程作业 ...

  6. 计算机编程导论python程序设计答案-学堂在线_计算机科学与Python编程导论_作业课后答案...

    学堂在线_计算机科学与Python编程导论_作业课后答案 答案: 更多相关问题 近代中国完全沦为半殖民地半封建社会的标志是:A.<马关条约>B.<辛丑条约>C.<凡尔赛和 ...

  7. SAP ABAP 点滴记录

    ***************************************************************************************** 系统字段篇--STR ...

  8. 【ABAP】获取后台Job相关状态

    这一节主要对后台作业(Batch JOB)中一些平时不怎么用到的内容做一下整理,有需要对后台作业进行控制的同行可以学习参照,比如定时批量对一部分作业进行状态的变更,控制运行中作业的数量等等. 1.SA ...

  9. ABAP开发常用的表

    1 两个内表相拷可用表达式: ITABA[] = ITABB[]. 2. 为了提高程序的运行速度: Uesing ABAP sort clause instead of order by. 3. 把一 ...

最新文章

  1. Selenium提取数据之标签对象提取文本内容和属性值
  2. tensorflow tf.enable_eager_execution()(立即执行操作,不添加到稍后在“ tf.Session”中执行的图)
  3. 第1章 计算机基础知识习题答案,职称计算机基础知识习题第一章
  4. spring cloud+dotnet core搭建微服务架构:Api网关(三)
  5. slider节点透明背景_【Cocos Creator 实战教程(1)】——人机对战五子棋(节点事件相关)...
  6. 使用svnsync同步svn
  7. .net 代码混淆原理性实践
  8. 对比,还原真实的GPU池化
  9. Asp.net MVC2使用第三方控件
  10. 【Django 2021年最新版教程14】session是什么 如何使用
  11. Axure原型APP设计规范
  12. 【H.264/AVC 句法和语义详解】(十二):H264中的帧场编码模式详解
  13. android 小米盒子开发,接小米盒子Android SDK
  14. 数学期望、方差、标准差
  15. ih5学习笔记_事件对象
  16. PHP程序设计读书笔记七
  17. 【文章】我在华为打工的日子
  18. 计算机运维考核指标,信息中心考核指标库
  19. 我才22岁,我再玩一年又能怎么样?等我23岁的时候,一定给你活出个人样
  20. CP2101 usb转uart驱动

热门文章

  1. DELPHI基础开发技巧
  2. 1个钟是多久_一个番茄钟要多长时间
  3. 前端诡异参数start
  4. C练题笔记之:Leetcode-780. 到达终点
  5. 按要求编写一个Java应用程序:(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性
  6. 列表3:修改删除函数实操
  7. ERROR: cannot launch node of type [map_server/map_server]: map_server
  8. python绘制饼图的如何设置高度宽度_Matplotlib添加pictu时调整饼图大小
  9. Python根据关键词在360、百度、bing搜索下载图片
  10. 支付宝 自动发货 php,ecshop 支付宝自动发货接口