楼主: solarwind99

求助: ABAP如何得到上一年的第一天和最后一天?

[复制链接]
论坛徽章:
10
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44奥运会纪念徽章:体操
日期:2012-06-20 14:52:212012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28ITPUB季度 技术新星
日期:2011-06-16 10:10:122011新春纪念徽章
日期:2011-02-18 11:43:34ITPUB9周年纪念徽章
日期:2010-10-08 09:31:222010新春纪念徽章
日期:2010-03-01 11:07:23祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:37
11#
发表于 2012-10-18 13:27 | 只看该作者
where后面好像是可以直接用位移的,试试看直接用where date(4) EQ variable应该就可以

使用道具 举报

回复
论坛徽章:
12
生肖徽章2007版:羊
日期:2009-03-26 09:49:47ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:192012新春纪念徽章
日期:2012-01-04 11:53:54ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042011新春纪念徽章
日期:2011-02-18 11:42:47ITPUB9周年纪念徽章
日期:2010-10-08 09:32:252010年世界杯参赛球队:塞尔维亚
日期:2010-06-10 12:57:282010新春纪念徽章
日期:2010-03-01 11:07:232010年世界杯参赛球队:英格兰
日期:2010-02-20 11:16:292009日食纪念
日期:2009-07-22 09:30:00
12#
发表于 2012-10-18 13:44 | 只看该作者
MARK,学习一下

使用道具 举报

回复
论坛徽章:
10
2010新春纪念徽章
日期:2010-03-01 11:08:34马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:20奥运会纪念徽章:射击
日期:2012-10-08 09:29:56奥运会纪念徽章:曲棍球
日期:2012-08-06 12:27:00ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15ITPUB9周年纪念徽章
日期:2010-10-08 09:31:22技术图书徽章
日期:2014-03-27 13:56:43
13#
发表于 2012-10-18 13:45 | 只看该作者
这太简单了吧,
直接取当前日期的年份 year = sy-datum+0(4),然后 year - 1得到上一年的年份
知道年份好办了吧,year 分别和 '0101',‘1231’合并

使用道具 举报

回复
论坛徽章:
5
大众
日期:2013-09-09 15:02:362014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
14#
 楼主| 发表于 2012-10-18 14:28 | 只看该作者
rosefish 发表于 2012-10-18 12:52
1. 从当前日期取得上一年的日期范围:
lv_last_date = sy-datum.
lv_last_date+4(4) = '0101'.

多谢! 我试一下.

使用道具 举报

回复
论坛徽章:
5
大众
日期:2013-09-09 15:02:362014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
15#
 楼主| 发表于 2012-10-18 15:06 | 只看该作者
rosefish 发表于 2012-10-18 12:52
1. 从当前日期取得上一年的日期范围:
lv_last_date = sy-datum.
lv_last_date+4(4) = '0101'.

我试一下. 先谢了

使用道具 举报

回复
论坛徽章:
5
大众
日期:2013-09-09 15:02:362014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
16#
 楼主| 发表于 2012-10-18 15:44 | 只看该作者
本人是ABAP新手一个, 被临时赶鸭子上架来做ABAP的. 多谢各位的帮忙!

使用道具 举报

回复
论坛徽章:
9
ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:20茶鸡蛋
日期:2012-12-14 17:02:392013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:10法拉利
日期:2014-01-10 15:27:45本田
日期:2014-02-07 17:01:332014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
17#
发表于 2012-10-18 18:27 | 只看该作者

使用道具 举报

回复
求职 : SAP实施
论坛徽章:
261
土豪章
日期:2018-07-10 16:19:05ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57妮可·罗宾
日期:2018-10-28 13:07:10ITPUB18周年纪念章
日期:2018-11-13 15:31:24ITPUB18周年纪念章
日期:2018-11-13 15:40:4519周年集字徽章-庆
日期:2019-09-06 18:30:1219周年集字徽章-19
日期:2021-02-03 16:43:4820周年集字徽章-年	
日期:2023-07-21 18:25:26
18#
发表于 2012-10-18 21:09 | 只看该作者
wilson_deng 发表于 2012-10-18 13:45
这太简单了吧,
直接取当前日期的年份 year = sy-datum+0(4),然后 year - 1得到上一年的年份
知道年份好办 ...

这个方法和我想的一样

使用道具 举报

回复
论坛徽章:
121
紫蛋头
日期:2013-07-02 19:27:392014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112014年世界杯参赛球队: 波黑
日期:2014-06-07 00:05:53喜羊羊
日期:2015-03-04 14:49:392015年新春福章
日期:2015-03-06 11:57:31
19#
发表于 2012-10-18 23:16 | 只看该作者
solarwind99 发表于 2012-10-18 15:44
本人是ABAP新手一个, 被临时赶鸭子上架来做ABAP的. 多谢各位的帮忙!

找本算法的书看看吧

使用道具 举报

回复
论坛徽章:
5
大众
日期:2013-09-09 15:02:362014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
20#
 楼主| 发表于 2012-10-24 16:55 | 只看该作者
rosefish 发表于 2012-10-18 12:52
1. 从当前日期取得上一年的日期范围:
lv_last_date = sy-datum.
lv_last_date+4(4) = '0101'.

我试了这种方法, debug的结果如下:

lv_last_date = sy-datum.   " 20121024
lv_last_date+4(4) = '0101'. " 20120101
lv_last_date = lv_last_date - 1. " 20120100 <-- 这里的值有问题
lv_first_date = lv_last_date. " 201210100
lv_first_date+4(4) = '0101'.  " 20120101

在这几行代码的第三行, lv_last_date的值变成了20120100而不是20111231, 所以接下来的几个日期计算也不准确.
我等一下试试直接用2012-1, 然后在后面加0101和1231来计算. 因为我以前不知道日期类型是可以作为字符串来计算的.

多谢!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表