‎2009 Mar 06 5:43 AM
Hi Friends, I have 1 problem here
I m prescribing my coding and logic as following:
DATA: KYEAR(4) TYPE C,
NYEAR(4) TYPE C,
KYEAR = SY-DATUM+0(4),
NYEAR = SYEAR - 1 .
IF SYEAR EQ KYEAR AND SMONTH < 4.
SELECT APERNR ASMONTH ASYEAR AAPF AVPF AEPF
BTMONTH BTYEAR BEMPLOYEEPF BEMPLOYERPF
FROM ( ZUPWARDHAWOR AS A INNER JOIN ZTRANS_ENTRY AS B
ON APERNR = BPERNR )
INTO CORRESPONDING FIELDS OF BODY1
WHERE A~SYEAR BETWEEN NYEAR AND SYEAR
AND A~SMONTH BETWEEN '04' AND SMONTH
AND A~PERNR = SMF1-PERNR AND
B~PERNR = SMF1-PERNR "AND
BTMONTH = ASMONTH AND
BTYEAR = ASYEAR
ORDER BY ASYEAR ASMONTH ASCENDING .
APPEND BODY1.
COUNT = COUNT + 1.
ENDSELECT.
Month name is SMONTH year is SYEAR.
I need when i put JAN 2009 OR Feb 2009 the data should be select from APRIL 2008 to Jan 2009 or Feb 2009.
But according to my logic the data is selecting when i hide month from WHERE condition.
It is selected data from jan2008 to jan 2009. But i want Aprill 2008 to till current month and year.
Plz try to solve it soon.
Regards,
Swapnika
‎2009 Mar 06 5:58 AM
Hi ,
please stop posting duplicate threads:
Reported
IF SYEAR EQ KYEAR AND SMONTH < 4.
SELECT APERNR ASMONTH ASYEAR AAPF AVPF AEPF
BTMONTH BTYEAR BEMPLOYEEPF BEMPLOYERPF
FROM ( ZUPWARDHAWOR AS A INNER JOIN ZTRANS_ENTRY AS B
ON APERNR = BPERNR )
INTO CORRESPONDING FIELDS OF BODY1
WHERE
( ( ASYEAR = NYEAR AND ASMONTH > '04' ) or
( ASYEAR = SYEAR AND ASMONTH < S_month) )
AND A~PERNR = SMF1-PERNR AND
B~PERNR = SMF1-PERNR "AND
BTMONTH = ASMONTH AND
BTYEAR = ASYEAR
ORDER BY ASYEAR ASMONTH ASCENDING .
Edited by: Dev Parbutteea on Mar 6, 2009 7:00 AM
‎2009 Mar 06 5:52 AM
Hi,
Build the range table and use in Selcet quesy
R_YEAR-sign = 'I'.
R_YEAR-option = 'BT'.
R_YEAR-LOW = NYEAR.
R_YEAR-HIGH= SYEAR.
Append r_YEAR.
R_MONTH-sign = 'I'.
R_MONTH-option = 'BT'.
R_MONTH-LOW = '04'.
R_MONTH-HIGH= SMONTH.
Append r_MONTH.
SELECT A~PERNR A~SMONTH A~SYEAR A~APF A~VPF A~EPF
B~TMONTH B~TYEAR B~EMPLOYEEPF B~EMPLOYERPF
FROM ( ZUPWARDHAWOR AS A INNER JOIN ZTRANS_ENTRY AS B
ON A~PERNR = B~PERNR )
INTO CORRESPONDING FIELDS OF BODY1
WHERE A~SYEAR In R_YEAR " BETWEEN NYEAR AND SYEAR
AND A~SMONTH IN R_MONTH " BETWEEN '04' AND SMONTH
AND A~PERNR = SMF1-PERNR AND
B~PERNR = SMF1-PERNR "AND
B~TMONTH = A~SMONTH AND
B~TYEAR = A~SYEAR
ORDER BY A~SYEAR A~SMONTH ASCENDING .
‎2009 Mar 06 5:58 AM
Hi ,
please stop posting duplicate threads:
Reported
IF SYEAR EQ KYEAR AND SMONTH < 4.
SELECT APERNR ASMONTH ASYEAR AAPF AVPF AEPF
BTMONTH BTYEAR BEMPLOYEEPF BEMPLOYERPF
FROM ( ZUPWARDHAWOR AS A INNER JOIN ZTRANS_ENTRY AS B
ON APERNR = BPERNR )
INTO CORRESPONDING FIELDS OF BODY1
WHERE
( ( ASYEAR = NYEAR AND ASMONTH > '04' ) or
( ASYEAR = SYEAR AND ASMONTH < S_month) )
AND A~PERNR = SMF1-PERNR AND
B~PERNR = SMF1-PERNR "AND
BTMONTH = ASMONTH AND
BTYEAR = ASYEAR
ORDER BY ASYEAR ASMONTH ASCENDING .
Edited by: Dev Parbutteea on Mar 6, 2009 7:00 AM
‎2009 Mar 06 9:02 AM
Do not keep posting the same question. I've deleted the ones you posted earlier. It is unfair on those who answer your query if you keep opening the same question.