ABAP SMARTFORMS 如何对字段进行计算后输出
SMARTFORMS文本里输出内表某一字段的值I_TABLE-DATE,值为"2012-10-30",现在要输出这个值的前一个月,即"2012年9月",要怎么输出呢我现在...
SMARTFORMS 文本里输出内表某一字段的值 I_TABLE-DATE,值为"2012-10-30",
现在要输出这个值的前一个月,即"2012年9月",要怎么输出呢
我现在只会输出“2012年10月”,即
&I_TABLE-DATE+0(4)&年&I_TABLE-DATE+5(2)&月 展开
现在要输出这个值的前一个月,即"2012年9月",要怎么输出呢
我现在只会输出“2012年10月”,即
&I_TABLE-DATE+0(4)&年&I_TABLE-DATE+5(2)&月 展开
5个回答
展开全部
思路:SMARTFORMS里输出的只能是变量或常量,所以你要在输出I_TABLE-DATE前,定义一个全局变量A,写一个简单的取前一个月的逻辑,然后输出I_TABLE-DATE改为A就可以了
步骤:1、在SMARTFORMS--表格--全局设置--全局定义中定义A LIKE CHAR10.
2、在输出I_TABLE-DATE文本前,添加一个程序行,用Function:FIMA_DATE_CREATE等获取上个月数据:“2012年10月”
3、输出文本I_TABLE-DATE改为A,激活即可
步骤:1、在SMARTFORMS--表格--全局设置--全局定义中定义A LIKE CHAR10.
2、在输出I_TABLE-DATE文本前,添加一个程序行,用Function:FIMA_DATE_CREATE等获取上个月数据:“2012年10月”
3、输出文本I_TABLE-DATE改为A,激活即可
展开全部
你首先要用这个函数得到上一个月才能得到2012年9月.你现在是2012-10-30,怎么会得到2012年9月呢?
CALL FUNCTION 'FIMA_DATE_CREATE'
EXPORTING
I_DATE = SY-DATUM "当前日期
I_MONTHS = '-1' "减1月
I_SET_LAST_DAY_OF_MONTH = 'X'
IMPORTING
E_DATE = LASTDATE. "得到上一个月日期
CALL FUNCTION 'FIMA_DATE_CREATE'
EXPORTING
I_DATE = SY-DATUM "当前日期
I_MONTHS = '-1' "减1月
I_SET_LAST_DAY_OF_MONTH = 'X'
IMPORTING
E_DATE = LASTDATE. "得到上一个月日期
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
右键-创建-逻辑流-程序行
在程序行里面去计算上一个月是几月
然后按照你现在的输出方式进行输出
建议在调用smartform之前
就在代码里面计算好
然后在smartform里面直接输出就好了
计算上一个月不用多说吧
在程序行里面去计算上一个月是几月
然后按照你现在的输出方式进行输出
建议在调用smartform之前
就在代码里面计算好
然后在smartform里面直接输出就好了
计算上一个月不用多说吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你需要计算这个日期的前一个月是多少,方法是先设定一个变量,里面装这个日期的当月第一天,本例就是2012-10-01,然后用这个变量-1,就可以得到上个月的最后一天
然后你取前六位就可以了
concatenate I_TABLE-DATE+0(4) I_TABLE-DATE+5(2) '01' into var
var = var - 1.
输出var+0(6)
然后你取前六位就可以了
concatenate I_TABLE-DATE+0(4) I_TABLE-DATE+5(2) '01' into var
var = var - 1.
输出var+0(6)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
data: year(4) type c,
month(2) type c.
year = sy-datum+0(4).
month=sy-datum+4(2).
month = month -1.
month(2) type c.
year = sy-datum+0(4).
month=sy-datum+4(2).
month = month -1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询