求去年本月合计(ABAP程序)
2015-11-26 16:36
477 查看
*&---------------------------------------------------------------------*
*& 子例程池 Z_VAR_EXAMPLE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
PROGRAM z_var_zcalday_v095.
*&---------------------------------------------------------------------*
*& Subroutine Pool Z_VAR_ZLDATE
*&
*&---------------------------------------------------------------------*
* Program ID : Z_VAR_ZLDATE
* Program Title : User exit for ZLDATE
* Development ID :
* Description : Exit for variable ZLDATE
*======================================================================
* CHANGE HISTORY LOG
*----------------------------------------------------------------------
* Date | Name | Change ID | Change Request Number
*----------------------------------------------------------------------
* | | IDDXXXXX |
* DESCRIPTION:
***********************************************************************
*&---------------------------------------------------------------------*
TYPE-POOLS: rrs0, rsr, rro01.
DATA: l_s_range TYPE rsr_s_rangesid,
l_s_var_range TYPE rrrangeexit.
**&---------------------------------------------------------------------*
**& Form DO_USER_EXIT
**&---------------------------------------------------------------------*
** text
**----------------------------------------------------------------------*
** -->I_VNAM Name of Variable to be Replaced
** -->I_VARTYP Variable Type (Characteristic Value, Text, Formula, and so on)
** -->I_IOBJNM InfoObject that the Variable Refers to
** -->I_S_COB_PRO InfoObject Properties
** -->I_S_RKB1D Query Reporting Attribute
** -->I_PERIV Query Definition Attribute
** -->I_T_VAR_RANGE Variable Range
** -->I_STEP Step
** -->E_T_RANGE Variables Value Table
**----------------------------------------------------------------------*
FORM do_user_exit USING i_vnam LIKE rszglobv-vnam
i_vartyp LIKE rszglobv-vartyp
i_iobjnm LIKE rszglobv-iobjnm
i_s_cob_pro TYPE rsd_s_cob_pro
"i_s_cob_pro type ZRSD_S_COB_PRO
i_s_rkb1d LIKE rsr_s_rkb1d
i_periv TYPE rro01_s_rkb1f-periv
i_t_var_range TYPE rrs0_t_var_range
i_step TYPE i
CHANGING e_t_range TYPE rsr_t_rangesid.
DATA: i_year(4) TYPE c,
i_month(2) TYPE c,
I_MONTH2(2) TYPE C,
I_DATE TYPE SY-DATUM,
L_DATE TYPE SY-DATUM,
l_DATE2 TYPE SY-DATUM.
IF i_step = 2.
L_DATE = SY-DATUM - 1.
CLEAR l_s_range.
BREAK-POINT.
i_year = L_DATE(4).
i_year = i_year - 1.
i_month = l_DATE+4(2).
CONCATENATE i_year i_month '01' INTO l_s_range-low.
I_DATE = l_s_range-low.
CALL FUNCTION 'SN_LAST_DAY_OF_MONTH'
EXPORTING
DAY_IN = I_DATE
IMPORTING
END_OF_MONTH = l_DATE2.
l_s_range-HIGH = l_DATE2.
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
APPEND l_s_range TO e_t_range.
EXIT.
ENDIF.
ENDFORM. "do_user_exit
===========================================
然后到query designer中做个 ZCALDAY_V95的用户出口变量
*& 子例程池 Z_VAR_EXAMPLE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
PROGRAM z_var_zcalday_v095.
*&---------------------------------------------------------------------*
*& Subroutine Pool Z_VAR_ZLDATE
*&
*&---------------------------------------------------------------------*
* Program ID : Z_VAR_ZLDATE
* Program Title : User exit for ZLDATE
* Development ID :
* Description : Exit for variable ZLDATE
*======================================================================
* CHANGE HISTORY LOG
*----------------------------------------------------------------------
* Date | Name | Change ID | Change Request Number
*----------------------------------------------------------------------
* | | IDDXXXXX |
* DESCRIPTION:
***********************************************************************
*&---------------------------------------------------------------------*
TYPE-POOLS: rrs0, rsr, rro01.
DATA: l_s_range TYPE rsr_s_rangesid,
l_s_var_range TYPE rrrangeexit.
**&---------------------------------------------------------------------*
**& Form DO_USER_EXIT
**&---------------------------------------------------------------------*
** text
**----------------------------------------------------------------------*
** -->I_VNAM Name of Variable to be Replaced
** -->I_VARTYP Variable Type (Characteristic Value, Text, Formula, and so on)
** -->I_IOBJNM InfoObject that the Variable Refers to
** -->I_S_COB_PRO InfoObject Properties
** -->I_S_RKB1D Query Reporting Attribute
** -->I_PERIV Query Definition Attribute
** -->I_T_VAR_RANGE Variable Range
** -->I_STEP Step
** -->E_T_RANGE Variables Value Table
**----------------------------------------------------------------------*
FORM do_user_exit USING i_vnam LIKE rszglobv-vnam
i_vartyp LIKE rszglobv-vartyp
i_iobjnm LIKE rszglobv-iobjnm
i_s_cob_pro TYPE rsd_s_cob_pro
"i_s_cob_pro type ZRSD_S_COB_PRO
i_s_rkb1d LIKE rsr_s_rkb1d
i_periv TYPE rro01_s_rkb1f-periv
i_t_var_range TYPE rrs0_t_var_range
i_step TYPE i
CHANGING e_t_range TYPE rsr_t_rangesid.
DATA: i_year(4) TYPE c,
i_month(2) TYPE c,
I_MONTH2(2) TYPE C,
I_DATE TYPE SY-DATUM,
L_DATE TYPE SY-DATUM,
l_DATE2 TYPE SY-DATUM.
IF i_step = 2.
L_DATE = SY-DATUM - 1.
CLEAR l_s_range.
BREAK-POINT.
i_year = L_DATE(4).
i_year = i_year - 1.
i_month = l_DATE+4(2).
CONCATENATE i_year i_month '01' INTO l_s_range-low.
I_DATE = l_s_range-low.
CALL FUNCTION 'SN_LAST_DAY_OF_MONTH'
EXPORTING
DAY_IN = I_DATE
IMPORTING
END_OF_MONTH = l_DATE2.
l_s_range-HIGH = l_DATE2.
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
APPEND l_s_range TO e_t_range.
EXIT.
ENDIF.
ENDFORM. "do_user_exit
===========================================
然后到query designer中做个 ZCALDAY_V95的用户出口变量
相关文章推荐
- 关于SAP BW中删除标准DSO中已经激活的请求
- 整理硬盘发现几个以前做的视频,分享下
- 朗泽SAP:SAP在中国已进入高速时代
- SAP HANA 常见问答
- SYBASE IQ 相关资料
- SAP BW 面试指南连载1
- seletc-options:当输入的数据量过多时 SQL语句dump
- 程序效率相关小技巧(除去很多共知的)
- SAP ABAP SQL 自动查询工具
- SAP系统直接查询物流、快递跟踪信息
- SAP ECC 主数据自动切换、刷新方案
- SAP RFC
- SAP各模块常用BAPI
- ABAP 内表用法小结
- SAP中日期时间函数收集
- ABAP调用外部WebService
- 怎么优化query
- User client windows logon basic data
- ABAP 字段查找
- SM36 定义后台作业之日期变量