Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Abap code for Customer Exits

Former Member
0 Likes
399

Hi Xperts,

can anybody give me the Correct Coding todisplay the month year in the format "Dec 2006".

WHEN 'ZT_PRVMT-1'.

Data : month_nam(3) type c.

IF i_step = 2.

CLEAR l_s_range.

LOOP AT i_t_var_range INTO loc_var_range

WHERE vnam EQ 'ZPPRVMTH'.

l_s_range-low = loc_var_range-low.

wa_month = loc_var_range-low+4(2).

wa_year = loc_var_range-low(4).

wa_month = wa_month - 1.

If wa_month = 00.

wa_month = 12.

wa_year = wa_year - 1.

Endif.

CASE wa_month.

WHEN '01'.

month_nam = 'JAN'.

WHEN '02'.

month_nam = 'FEB'.

WHEN '03'.

month_nam = 'MAR'.

WHEN '04'.

month_nam = 'APR'.

WHEN '05'.

month_nam = 'MAY'.

WHEN '06'.

month_nam = 'JUN'.

WHEN '07'.

month_nam = 'JUL'.

WHEN '08'.

month_nam = 'AUG'.

WHEN '09'.

month_nam = 'SEP'.

WHEN '10'.

month_nam = 'OCT'.

WHEN '11'.

month_nam = 'NOV'.

WHEN '12'.

month_nam = 'DEC'.

ENDCASE.

CONCATENATE month_nam wa_year INTO L_S_RANGE-LOW SEPARATED BY ' '.

l_s_range-sign = 'I'.

l_s_range-opt = 'EQ'.

APPEND l_s_range TO e_t_range.

EXIT.

ENDLOOP.

ENDIF.

Please help me.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
379

Hi,

Try like this

p_date EQ 'X'. "The date format is like 31 apr, 2007

CONDENSE temdate NO-GAPS.

SPLIT date AT ',' INTO daymonth year.

IF STRLEN( year ) NE '4'.

error = 'X'.

WRITE : 'Invalid date format.'.

ELSE.

daymonth1 = daymonth.

CONDENSE daymonth1 NO-GAPS.

SHIFT daymonth1 LEFT BY 2 PLACES.

CONDENSE daymonth1 NO-GAPS.

month = daymonth1.

CONDENSE month NO-GAPS.

TRANSLATE month TO UPPER CASE.

SORT t_month BY monthstx.

MOVE month to mon.

READ TABLE t_month WITH KEY monthstx = mon.

IF sy-subrc <> 0.

error = 'X'.

WRITE : 'Invalid date format.' .

ELSE.

CONDENSE daymonth NO-GAPS.

day = daymonth+0(2).

CONDENSE day NO-GAPS.

CONCATENATE year t_month-monthnumber day INTO o_date.

Regards

2 REPLIES 2
Read only

Former Member
0 Likes
379

Looks like coding is good ,what is the problem at code ?

Read only

Former Member
0 Likes
380

Hi,

Try like this

p_date EQ 'X'. "The date format is like 31 apr, 2007

CONDENSE temdate NO-GAPS.

SPLIT date AT ',' INTO daymonth year.

IF STRLEN( year ) NE '4'.

error = 'X'.

WRITE : 'Invalid date format.'.

ELSE.

daymonth1 = daymonth.

CONDENSE daymonth1 NO-GAPS.

SHIFT daymonth1 LEFT BY 2 PLACES.

CONDENSE daymonth1 NO-GAPS.

month = daymonth1.

CONDENSE month NO-GAPS.

TRANSLATE month TO UPPER CASE.

SORT t_month BY monthstx.

MOVE month to mon.

READ TABLE t_month WITH KEY monthstx = mon.

IF sy-subrc <> 0.

error = 'X'.

WRITE : 'Invalid date format.' .

ELSE.

CONDENSE daymonth NO-GAPS.

day = daymonth+0(2).

CONDENSE day NO-GAPS.

CONCATENATE year t_month-monthnumber day INTO o_date.

Regards