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.