How To Use Macro In Program.

*-----------------------------------------------------------------------
*
* Company XXX Company Limited
*
* ProgrameName: ZZW_MACRO
*
* Author: Lilo.Zhu
*
* Date: 08/14/2007
*
* Description: Study SAP In Program How To Use Macro
*
*-----------------------------------------------------------------------
REPORT ZZW_MACRO

Data: l_date type date.

Selection-Screen Begin Of Block B1 With Frame Title Text-001.
Parameters: I_Date Type Date.
* R_F1 RadioButton Group G1 Default 'X',
* R_F2 RadioButton Group G1,
* R_F3 RadioButton Group G1.
Selection-Screen End Of Block B1.

Selection-Screen Begin Of Block B2 With Frame Title Text-002.
Parameters: R_F11 RadioButton Group G2 Default 'X',
R_F22 RadioButton Group G2,
R_F33 RadioButton Group G2.
Selection-Screen End Of Block B2.

*-----------------------------------------------------------------------
* Define Macro
*-----------------------------------------------------------------------

Define Val_Date.
Clear: %_Date1,
%_Date2.

%_Date1(4) = &1. "Year
%_Date1+4(2) = &2. "Month
%_Date1+6(2) = &3. "Date

%_Date2 = %_Date1 - 1.
%_Date2 = %_Date2 + 1.

If %_Date1 <> %_Date2.
Sy-Subrc = 1.
Else.
Case &4.
When 'YYYYMMDD'.
CONCATENATE &1 &2 &3 into l_date.
When 'DDMMYYYY'.
CONCATENATE &3 &2 &1 into l_date.
When 'MMDDYYYY'.
Concatenate &2 &3 &1 into l_date.
EndCase.
EndIF.

End-Of-Definition.

Define OutPut.
Data: %_Date1 like Sy-Datum,
%_Date2 like sy-Datum,
%_Date3(8),
%_Date4(8).

Val_Date &1+0(4) &1+4(2) &1+6(2) &2.
End-Of-Definition.

*-----------------------------------------------------------------------
* Initialization.
*-----------------------------------------------------------------------
Initialization.

*-----------------------------------------------------------------------
* Start-Of-Selection
*-----------------------------------------------------------------------
Start-of-Selection.
Data: X_Date(8),
Flag(8).
X_Date = I_date.

IF R_F11 EQ 'X'.
Flag = 'YYYYMMDD'.
ElseIF R_F22 EQ 'X'.
Flag = 'MMDDYYYY'.
ElseIF R_F33 EQ 'X'.
Flag = 'DDMMYYYY'.
EndIf.
Output X_Date Flag.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值