2006 Oct 05 2:31 PM
i want to pass on 2 date values to a Function module and inreturn i need the total numberr of days between those 2 dates.
My function module name is HR_AUPBS_MONTH_DAY.
Pls provide me the code..its urgent?
Rgds
Giri
2006 Oct 05 2:47 PM
Hi,
/: PERFORM DATE IN PROGRAM ZDATE
/: USING &DATE1&
/: USING &DATE21&
/: CHANGING &YEAR&
/: CHANGING &MONTH&
/: CHANGING &DATE&
/: ENDPERFORM<b>In program ZDATE,</b>
form Date tables intab structure itcsy
outab structure itcsy.
DATA: L_DATE_1 TYPE SY-DATUM,
L_DATE_2 TYPE SY-DATUM.
DATA: L_YEAR(2),
L_MONTH(2),
L_DATE(2).
read table intab with key name = 'DATE1'.
if sy-subrc = 0.
L_DATE_1 = intab-value.
ENDIF.
read table intab with key name = 'DATE2'.
if sy-subrc = 0.
L_DATE_2 = intab-value.
ENDIF.
CALL FUNCTION 'HR_AUPBS_MONTH_DAY'
EXPORTING
BEG_DA = L_DATE_1
END_DA = L_DATE_2
IMPORTING
NO_YEAR = L_YEAR
NO_MONTH = L_MONTH
NO_DAY = L_DAY
* NO_CAL_DAY = CAL_DAY.
CLEAR OUTTAB.
READ TABLE OUTAB WITH KEY NAME = 'YEAR'.
IF SY-SUBRC = 0.
OUTAB-VALUE = L_YEAR.
modify outab index sy-tabix.
ENDIF.
READ TABLE OUTAB WITH KEY NAME = 'MONTH'.
IF SY-SUBRC = 0.
OUTAB-VALUE = L_MONTH.
modify outab index sy-tabix.
ENDIF.
READ TABLE OUTAB WITH KEY NAME = 'DATE'.
IF SY-SUBRC = 0.
OUTAB-VALUE = L_DATE.
modify outab index sy-tabix.
ENDIF.copy and paste this code, this will work, in the Script, DATE, MONTH and Year will be avilable ...
Regards
Sudheer
hi,
there is no need of any FM for this, just substract it .
Data: datehigh type sy-datum,
datelow type sy-datum.
data: diff type i.
datehigh = sy-datum.
datelow = sy-datum - 100.
diff = datehigh - datelow.
write: diff.
rgds
anver
2006 Oct 05 2:35 PM
hi,
there is no need of any FM for this, just substract it .
Data: datehigh type sy-datum,
datelow type sy-datum.
data: diff type i.
datehigh = sy-datum.
datelow = sy-datum - 100.
diff = datehigh - datelow.
write: diff.
rgds
anver
2006 Oct 05 2:36 PM
Hi ramada,
Y would you need a fm for that?
v_days = date2 - date1. " will do the same for you.
If you still want to use the fm:
here is the code:
CALL FUNCTION 'HR_AUPBS_MONTH_DAY'
EXPORTING
BEG_DA = P_BEGDA
END_DA = P_ENDDA
IMPORTING
NO_YEAR = P_NO_YEAR
NO_MONTH = P_NO_MON
NO_DAY = P_NO_DAY
NO_CAL_DAY = P_CAL_DAY.
2006 Oct 05 2:36 PM
HI,
Sample code which is similar to your requirement
Write the following lines of code in your driver program(ZTESTPDF)
FORM INCR_NUM TABLES INTAB STRUCTURE ITCSY
OUTAB STRUCTURE ITCSY.
DATA: V_DATE LIKE SY-DATUM , V_CHAR(10) TYPE C.
READ TABLE OUTAB WITH KEY NAME = 'GV'.
IF SY-SUBRC = 0.
V_DATE = SY-DATUM + 1.
CONCATENATE V_DATE+4(2) V_DATE+6(2) V_DATE+0(4) INTO V_CHAR
SEPARATED BY '.'.
OUTAB-VALUE = V_CHAR.
CONDENSE OUTAB-VALUE.
MODIFY OUTAB INDEX SY-TABIX.
ENDIF.
ENDFORM.
write these lines in your script.
/: DEFINE &AB& TYPE I,
/: &GV&
/: &AB& = 1
/: PERFORM INCR_NUM IN PROGRAM ZTESTPDF
/: USING &AB&
/: CHANGING &GV&
/: TABLES INPUT_TABLE
/: OUTPUT_TABLE
/: ENDPERFORM
Regards,
sailaja.
2006 Oct 05 2:37 PM
2006 Oct 05 2:47 PM
Hi,
/: PERFORM DATE IN PROGRAM ZDATE
/: USING &DATE1&
/: USING &DATE21&
/: CHANGING &YEAR&
/: CHANGING &MONTH&
/: CHANGING &DATE&
/: ENDPERFORM<b>In program ZDATE,</b>
form Date tables intab structure itcsy
outab structure itcsy.
DATA: L_DATE_1 TYPE SY-DATUM,
L_DATE_2 TYPE SY-DATUM.
DATA: L_YEAR(2),
L_MONTH(2),
L_DATE(2).
read table intab with key name = 'DATE1'.
if sy-subrc = 0.
L_DATE_1 = intab-value.
ENDIF.
read table intab with key name = 'DATE2'.
if sy-subrc = 0.
L_DATE_2 = intab-value.
ENDIF.
CALL FUNCTION 'HR_AUPBS_MONTH_DAY'
EXPORTING
BEG_DA = L_DATE_1
END_DA = L_DATE_2
IMPORTING
NO_YEAR = L_YEAR
NO_MONTH = L_MONTH
NO_DAY = L_DAY
* NO_CAL_DAY = CAL_DAY.
CLEAR OUTTAB.
READ TABLE OUTAB WITH KEY NAME = 'YEAR'.
IF SY-SUBRC = 0.
OUTAB-VALUE = L_YEAR.
modify outab index sy-tabix.
ENDIF.
READ TABLE OUTAB WITH KEY NAME = 'MONTH'.
IF SY-SUBRC = 0.
OUTAB-VALUE = L_MONTH.
modify outab index sy-tabix.
ENDIF.
READ TABLE OUTAB WITH KEY NAME = 'DATE'.
IF SY-SUBRC = 0.
OUTAB-VALUE = L_DATE.
modify outab index sy-tabix.
ENDIF.copy and paste this code, this will work, in the Script, DATE, MONTH and Year will be avilable ...
Regards
Sudheer
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |