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

Needed a FM

Former Member
0 Likes
963

Hi,

I had a requirement to check date format of a date field..i need to convert that into standard format.

ex: 11/11/2005(MM/DD/YYYY) to 20051111 (yyyymmdd).

i got a FM DATE_CONV_EXT_TO_INT.

It's working fine with MM/DD/YYYY.

But if i change user format to MM-DD-YYYY ..it's not working.

Can any body suggest me the right FM to use which works for all Instances of formats.

Thanks in adv.

6 REPLIES 6
Read only

Former Member
0 Likes
937

INSTEAD OF FM..USE THIS PERFORM..

REPORT zanid_test4 MESSAGE-ID zz.

*

DATA INPUT1_DATE(10) TYPE C VALUE '10-05-2005'.

DATA INPUT2_DATE(10) TYPE C VALUE '10/05/2005'.

DATA OUTPUT1_DATE LIKE SY-DATUM.

DATA OUTPUT2_DATE LIKE SY-DATUM.

start-of-selection.

PERFORM CHANGE_FORMAT USING INPUT1_DATE

CHANGING OUTPUT1_DATE.

PERFORM CHANGE_FORMAT USING INPUT2_DATE

CHANGING OUTPUT2_DATE.

&----


*& Form CHANGE_FORMAT

&----


  • text

----


  • -->P_INPUT_DATE text

  • <--P_OUTPUT_DATE text

----


form CHANGE_FORMAT using p_input_date

changing p_output_date.

CONCATENATE p_input_date6(4) p_input_date(2) p_input_date3(2)

INTO p_output_date.

endform. " CHANGE_FORMAT

IT WILL WORK IN BOTH THE CASES.

plz reward points if it helps you.

Read only

Former Member
0 Likes
937

Hi Use the folowing FM's

CONVERT_DATE_TO_EXTERNAL

CONVERT_DATE_TO_INTERNAL

regards

vijay

Read only

Former Member
0 Likes
937

Anid ..

I need for any format i have given for sample purpose only.

I need for dd.mm.yyyy..etc.

Vijay..

this FMs not working

Read only

0 Likes
937

Hi Raja,

thats really not possible by any means..

for example: if user gives 30052005..its ofcourse 30th may 2005..

but if user enters 12112005..how would you say its

12 nov 2005, or 11 dec 2005..

why dont you force the user to give a valid date??

just declare the field as : p_date like sy_datum.

Read only

Former Member
0 Likes
937

Hi Raja,

I hope there is no need of FM to convert it into system

format.

Use the WRITE TO statement.

Check the syntax of WRITE TO statement.

Regards,

Gopi.

Read only

Former Member
0 Likes
937

Hi guys,

I had gone for the following logic.

select single datfm into usr01-datfm from usr01 where

bname eq sy-uname .

if sy-subrc eq 0 .

move: usr01-datfm to wf_datfm .

endif .

*

if wf_datfm eq '1' .

l_date0(4) = l_dtmp6(4).

l_date4(2) = l_dtmp3(2).

l_date6(2) = l_dtmp0(2).

elseif wf_datfm eq '2' or wf_datfm eq '3' .

l_date0(4) = l_dtmp6(4).

l_date4(2) = l_dtmp0(2).

l_date6(2) = l_dtmp3(2).

elseif wf_datfm eq '4' or wf_datfm eq '5' or wf_datfm eq '6' .

l_date0(4) = l_dtmp0(4).

l_date4(2) = l_dtmp5(2).

l_date6(2) = l_dtmp8(2).

endif .

Is this OK?