2006 Mar 29 7:34 AM
how can print caleneder
If the user enters any value, say, 062006, then print the calendar for this month in the output list.
2006 Mar 29 7:49 AM
hi joseph,,
try tis program,
REPORT Z_CALANDER.
parameter period(6) type c.
data: month(2) type c,
year(4) type c.
data workdate like sy-datum.
data monthday type i.
data pos type p.
data numdays type p.
data day_of_week_num like SCAL-INDICATOR.
data LAST_DAY like sy-datum.
month = period+0(2).
year = period+2(4).
write:/ month,/ year.
concatenate year month '01' into workdate.
write:/ workdate.
CALL FUNCTION 'DATE_COMPUTE_DAY'
EXPORTING
DATE = workdate
IMPORTING
DAY = day_of_week_num.
write:/ 'the day is', day_of_week_num ,'th day of the week'.
write: /20 'mon',30 'tue',40 'wed',50 'thu',60 'fri',70 'sat',80 'sun',
/.
monthday = 1.
case day_of_week_num.
when '1'.
write monthday under 'mon'.
pos = 10.
when '2'.
write monthday under 'tue'.
pos = 20.
when '3'.
write monthday under 'wed'.
pos = 30.
when '4'.
write monthday under 'thu'.
pos = 40.
when '5'.
write monthday under 'fri'.
pos = 50.
when '6'.
write monthday under 'sat'.
pos = 60.
when '7'.
write monthday under 'sun'.
pos = 70.
when others.
endcase.
CALL FUNCTION 'HR_E_NUM_OF_DAYS_OF_MONTH'
EXPORTING
P_FECHA = workdate
IMPORTING
NUMBER_OF_DAYS = numdays.
while monthday lt numdays.
monthday = monthday + 1.
pos = pos + 10.
if pos = 80.
write /.
pos = 10.
endif.
write at pos monthday.
endwhile.
if it is helpfull,
reward points,
regards,
padma.
2006 Mar 29 7:49 AM
hi joseph,,
try tis program,
REPORT Z_CALANDER.
parameter period(6) type c.
data: month(2) type c,
year(4) type c.
data workdate like sy-datum.
data monthday type i.
data pos type p.
data numdays type p.
data day_of_week_num like SCAL-INDICATOR.
data LAST_DAY like sy-datum.
month = period+0(2).
year = period+2(4).
write:/ month,/ year.
concatenate year month '01' into workdate.
write:/ workdate.
CALL FUNCTION 'DATE_COMPUTE_DAY'
EXPORTING
DATE = workdate
IMPORTING
DAY = day_of_week_num.
write:/ 'the day is', day_of_week_num ,'th day of the week'.
write: /20 'mon',30 'tue',40 'wed',50 'thu',60 'fri',70 'sat',80 'sun',
/.
monthday = 1.
case day_of_week_num.
when '1'.
write monthday under 'mon'.
pos = 10.
when '2'.
write monthday under 'tue'.
pos = 20.
when '3'.
write monthday under 'wed'.
pos = 30.
when '4'.
write monthday under 'thu'.
pos = 40.
when '5'.
write monthday under 'fri'.
pos = 50.
when '6'.
write monthday under 'sat'.
pos = 60.
when '7'.
write monthday under 'sun'.
pos = 70.
when others.
endcase.
CALL FUNCTION 'HR_E_NUM_OF_DAYS_OF_MONTH'
EXPORTING
P_FECHA = workdate
IMPORTING
NUMBER_OF_DAYS = numdays.
while monthday lt numdays.
monthday = monthday + 1.
pos = pos + 10.
if pos = 80.
write /.
pos = 10.
endif.
write at pos monthday.
endwhile.
if it is helpfull,
reward points,
regards,
padma.
2006 Mar 29 7:50 AM
<b>RS_VARI_V_WDAYS_UP_TO_NOW</b> RS_VARI_V_WDAYS_UP_TO_NOW
<b>DATE_CONVERT_TO_FACTORYDATE</b> Returns factory calendar date for a date Calculates and returns factory calendar date for a date (if CorrectOption = '+');
Checks if the date is work day (if CorrectOption = '-').
<b>DATE_GET_WEEK</b> Returns week in which a date lies Import : YYYYMMDD; Export : YYYYNN, where NN is # of week.
<b>WEEK_GET_FIRST_DAY</b> Calendar function: Return first day for a week
Import week in format YYYYNN where NN is # of week.
<b>DATE_COMPUTE_DAY</b> Returns day of week for a date
Import : YYYYMMDD; Export : 1-Monday, ...
RS_VARI_V_1_ACTUAL_MONTH
RS_VARI_V_1_LAST_MONTH
RS_VARI_V_1_NEXT_MONTH Returns first day of the actual/last/next month.
RS_VARI_V_ACTUAL_MONTH
RS_VARI_V_LAST_MONTH Returns selection range for the actual/last month.
Output: 1st line in table P_DATETAB
RS_VARI_V_DAYS_UP_TO_NOW Returns selection range from today-a_days to today+b_days.
Input: 1st line in P_INTRANGE (a=P_INTRANGE-LOW, b=P_INTRANGE-HIGH);
Output: 1st line in table P_DATETAB
RS_VARI_V_WDAYS_UP_TO_NOW Returns selection range from today-a_work_days to today+b_work_days.
Input: a=P_INTRANGE-LOW, b=P_INTRANGE-HIGH (if P_INTRANGE-SIGN <> 'C');
Fact.Calendar Id = P_INTRANGE-OPTION (if P_INTRANGE-SIGN = 'C')
Output: 1st line in table P_DATETAB
RS_VARI_V_MONTH_XXX_YYY Returns selection range for the actual month [-a_months +b_months].
Input: 1st line in P_INTRANGE (a=P_INTRANGE-LOW, b=P_INTRANGE-HIGH);
Output: 1st line in table P_DATETAB
RS_VARI_V_L_LAST_MONTH Returns last day of last month.
RS_VARI_V_MONTH_UP_TO_NOW Returns selection range for the actual month up to now.
Output: 1st line in table P_DATETAB
RS_VARI_V_QUARTER1XXXX
RS_VARI_V_QUARTER2XXXX
RS_VARI_V_QUARTER3XXXX
RS_VARI_V_QUARTER4XXXX
Returns selection range for the Quarter of the given year.
Input: 1st line in P_INTRANGE (Year=P_INTRANGE-LOW);
Output: 1st line in table P_DATETAB
RS_VARI_V_TODAY Today
RS_VARI_V_TODAY_X Returns Today + P_INTRANGE-LOW days
RS_VARI_V_TODAY_XWD Returns Today + P_INTRANGE-LOW work_days
Input: work_days = P_INTRANGE-LOW (if P_INTRANGE-SIGN <> 'C');
Fact.Calendar Id = P_INTRANGE-OPTION (if P_INTRANGE-SIGN = 'C')
RS_VARI_V_XWD_ACTUAL_MONTH Returns 1st day of the actual month + P_INTRANGE-LOW work_days
Input: work_days = P_INTRANGE-LOW (if P_INTRANGE-SIGN <> 'C');
Fact.Calendar Id = P_INTRANGE-OPTION (if P_INTRANGE-SIGN = 'C')
regards
vinod