SAP ERP有期初余额与期末余额之说,那又什么是期初余额呢
什么是期初余额?
期初余额(opening balance),是指期初已存在的账户余额。期初余额以上期期末余额为基础,反映了以前期间的交易和上期采用的会计政策的结果。期初已存在的账户余额是由上期结转至本期的金额,或是上期期末余额调整后的金额。通常,期初余额是上期账户结转至本期账户的余额,在数额上与相应账户的上期期末余额相等。但是,由于受上期期后事项、会计政策变更、前期会计差错更正等诸因素的影响,上期期末余额结转至本期时,有时需经过调整或重新表述。
源自百度词条——期初余额
可以简单的把期初余额理解为:某个期间开始时某个账户科目的余额
年初余额+
FAGLFLEXT是一个视图,从中可以分析出各个科目的期间余额等
HSLVT
:上年结转余额,也称为年初余额
某年xxxx的某期间aa的期初余额=xxxx年初余额+期间01余额值+期间02余额值+……期间aa-1余额值
:某年xxxx的某期间aa的期初余额=HSLVT+HSL01+HSL02+……HSLaa-1
其中需要注意的是:借贷标记,若为S,期间余额值1:;若为H,期间余额值-1
查询三月份某科目的期初余额
SELECT SUM( HSLVT + HSL01 + HSL02 ) FROM FAGLEXT WHERE RBUKRS = '7010' AND RACCT = '1001010000'
SQL 运行效果:
345.6
@5B\Q成功消息@ PRD Statement 'SELECT SUM( hslvt + hsl01 + hsl02 )...' successfully executed in 118 ms 815 us. 已获取 1 行。
使用explain
解析该上述语句,分析怎样从视图FAGLFLEXT取出科目的余额数据的
FAGLFLEXT是一个视图表,数据源从哪取的呢?
上图可见FAGLFLEXT的数据源为V_FAGLFLEXT_DDL,V_FAGLFLEXT_DDL也是一个视图表,,实际上数据源往上追溯相当于经过了FGL_GLSI_ACD->FGL_GLSI_ACD->FGL_GLTT1->FGL_GLTT2->FGL_FAGLFLEXT->V_FAGLFLEXT_DDL一系列中间层逻辑处理,其实际的数据源则是表ACDOCA,
FAGLFLEXT存在体现了CDS所具备的强大能力。每次从FAGLFLEXT分析,都要经过这样多的中间层(FGL_GLSI_ACD->FGL_GLSI_ACD->FGL_GLTT1->FGL_GLTT2->FGL_FAGLFLEXT->V_FAGLFLEXT_DDL一).经过的中间层越多,性能就越差。因此,可直接接取FAGLFLEXT的最终数据源ACDOCA,这样操作HANA 数据库性能更高。
通过表ACDOCA查询查询三月份某科目的期初余额
SELECT
SUM(HSL)
FROM ACDOCA
where POPER <3
AND rbukrs = '7010'
and RACCT= '1001010000'
SQL运行效果:
345.6
@5B\Q成功消息@ PRD Statement 'SELECT SUM(HSL) FROM ACDOCA where...' successfully executed in 17 ms 732 us. 已获取 1 行。
使用explain
解析SQL语句
可见从表ACDOCA查询的结果与从视图FAGLFLEXT查询的结果一样,而且查询速度及性能比从视图FAGLFLEXT查询更高