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

Parameter : DD.YYYY format

Former Member
0 Likes
1,302

hi allllll

I've some problem in user selection parameter, I want DD.YYYY format in paratermter .

for example.

( go to MC(A Transaction code in that screen we can see Period to analyze table, under this tab v see month format).i want that format. anybody help me pls

9 REPLIES 9
Read only

Former Member
0 Likes
1,228

i think u have to defind prameter type c lenght 7.

Read only

0 Likes
1,228

like krishnan said u have to defind type C, length 7 parameter.....and in the validation part check if its in the DD.YYYY format.

-Aarthi.

Read only

Former Member
0 Likes
1,228

use the same parameter type.

parameters: p_data type S001-SPBUP.

you should be getting MM.YYYY format.

Read only

Former Member
0 Likes
1,228

If its period it should MMYYYY, you can use the data element SPMON for the parameter to refer to and it will have the Period / Year format that you are looking for.

Regards,

Ravi

Note : Please mark all the helpful answers and close the thread if the issue is resolved.

Read only

Former Member
0 Likes
1,228

hi Muthu,

Do tbis way...


data : v_date type d,
       v_res  type d,
       v_res1  type d.

   v_date = sy-datum.

 v_res1 = v_date+0(4).
 v_res  = v_date+4(2).

 concatenate v_res v_res1 in to v_res separated by '.'.

write : v_res.

Regards,

Santosh

Read only

Former Member
0 Likes
1,228

hi krishna negi and sharthkumar

u should go MC(A u see the format after u tell, i want range format

Read only

Former Member
0 Likes
1,228

check it out.

REPORT ZZSL_SPBUP .

tables: S001.

select-options: SL_SPBUP for S001-SPBUP.

initialization.

SL_SPBUP-LOW = '200401'.

SL_SPBUP-HIGH = '200402'.

append SL_SPBUP.

Read only

Former Member
0 Likes
1,228

Hi Muthu,

Try this code this will work out....put the perform accordingly....

PARAMETERS: S_SPBUP LIKE S062-SPBUP.

DATA : V_DAYS TYPE P VALUE 01, " No.of Days

V_DATFM LIKE USR01-DATFM, " Date format

V_DS TYPE C.

***********************************************************************

PERFORM GET_DATE USING V_DAYS CHANGING V_FROMDATE .

*--- Perform to get no.of days of the month

PERFORM GET_NO_OF_DAYS.

*--- Perform to get posting to-date

PERFORM GET_DATE USING V_DAYS CHANGING V_TODATE.

*--- Perform to get posting period date

PERFORM GET_POSTING_PERIOD_DATE.

&----


*& Form GET_POSTING_DATE

&----


  • To get no.of days of the month

----


FORM GET_NO_OF_DAYS.

DATA: LV_DATE TYPE D.

MOVE V_FROMDATE TO LV_DATE.

CALL FUNCTION 'HR_E_NUM_OF_DAYS_OF_MONTH'

EXPORTING

P_FECHA = LV_DATE

IMPORTING

NUMBER_OF_DAYS = V_DAYS.

ENDFORM.

&----


*& Form GET_DATE

&----


  • To get posting from-date

----


FORM GET_DATE USING F_DAYS CHANGING F_DATE.

DATA: LV_DAYS(2) TYPE N.

MOVE F_DAYS TO LV_DAYS.

CONCATENATE S_SPBUP0(4) S_SPBUP4(2) LV_DAYS INTO F_DATE.

ENDFORM.

&----


*& Form GET_POSTING_PERIOD_DATE

&----


  • To get posting period date

----


FORM GET_POSTING_PERIOD_DATE.

CASE V_DATFM.

WHEN '1'.

V_DS = '.'.

ENDCASE.

IF V_DATFM = '1'.

CONCATENATE V_FROMDATE+6(2) V_DS

V_FROMDATE+4(2) V_DS

V_FROMDATE+0(4)

INTO V_PDATE_LOW.

PERFORM DATE_TO_INTERNAL_FORMAT CHANGING V_PDATE_LOW.

CONCATENATE V_TODATE+6(2) V_DS

V_TODATE+4(2) V_DS

V_TODATE+0(4)

INTO V_PDATE_HIGH.

PERFORM DATE_TO_INTERNAL_FORMAT CHANGING V_PDATE_HIGH.

ENDIF.

ENDFORM.

&----


*& Form DATE_TO_INTERNAL_FORMAT

&----


  • To convert the date into internal format

----


FORM DATE_TO_INTERNAL_FORMAT CHANGING F_DATE.

CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'

EXPORTING

DATE_EXTERNAL = F_DATE

  • ACCEPT_INITIAL_DATE =

IMPORTING

DATE_INTERNAL = F_DATE

  • EXCEPTIONS

  • DATE_EXTERNAL_IS_INVALID = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

ENDIF.

ENDFORM.

Please reward points if you find this as a right solution

Regards,

Harini

Read only

Former Member
0 Likes
1,228

Hi Muthu,

Could u please cut n paste this code in new abap editor and check the result.

tables : s031.

select-options: sl_spmon for s031-spmon modif id per.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR SL_SPMON-LOW.

PERFORM MONAT_F4.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR SL_SPMON-HIGH.

PERFORM MONAT_F4.

FORM MONAT_F4.

DATA: BEGIN OF MF_DYNPFIELDS OCCURS 1.

INCLUDE STRUCTURE DYNPREAD.

DATA: END OF MF_DYNPFIELDS.

DATA: MF_RETURNCODE LIKE SY-SUBRC,

MF_MONAT LIKE ISELLIST-MONTH,

MF_HLP_REPID LIKE SY-REPID.

FIELD-SYMBOLS: <MF_FELD>.

  • Wert von Dynpro lesen

GET CURSOR FIELD MF_DYNPFIELDS-FIELDNAME.

APPEND MF_DYNPFIELDS.

MF_HLP_REPID = SY-REPID.

DO 2 TIMES.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

DYNAME = MF_HLP_REPID

DYNUMB = SY-DYNNR

TABLES

DYNPFIELDS = MF_DYNPFIELDS

EXCEPTIONS

INVALID_ABAPWORKAREA = 01

INVALID_DYNPROFIELD = 02

INVALID_DYNPRONAME = 03

INVALID_DYNPRONUMMER = 04

INVALID_REQUEST = 05

NO_FIELDDESCRIPTION = 06

UNDEFIND_ERROR = 07.

IF SY-SUBRC = 3.

  • Aktuelles Dynpro ist Wertemengenbild

MF_HLP_REPID = 'SAPLALDB'.

ELSE.

READ TABLE MF_DYNPFIELDS INDEX 1.

  • Unterstriche durch Blanks ersetzen

TRANSLATE MF_DYNPFIELDS-FIELDVALUE USING '_ '.

EXIT.

ENDIF.

ENDDO.

IF SY-SUBRC = 0.

  • Konvertierung ins interne Format

CALL FUNCTION 'CONVERSION_EXIT_PERI_INPUT'

EXPORTING

INPUT = MF_DYNPFIELDS-FIELDVALUE

IMPORTING

OUTPUT = MF_MONAT

EXCEPTIONS

ERROR_MESSAGE = 1.

IF MF_MONAT IS INITIAL.

  • Monat ist initial => Vorschlagswert aus akt. Datum ableiten

MF_MONAT = SY-DATLO(6).

ENDIF.

CALL FUNCTION 'POPUP_TO_SELECT_MONTH'

EXPORTING

ACTUAL_MONTH = MF_MONAT

IMPORTING

SELECTED_MONTH = MF_MONAT

RETURN_CODE = MF_RETURNCODE

EXCEPTIONS

FACTORY_CALENDAR_NOT_FOUND = 01

HOLIDAY_CALENDAR_NOT_FOUND = 02

MONTH_NOT_FOUND = 03.

IF SY-SUBRC = 0 AND MF_RETURNCODE = 0.

ASSIGN (MF_DYNPFIELDS-FIELDNAME) TO <MF_FELD>. " ==>> note 148804

<MF_FELD> = MF_MONAT.

CALL FUNCTION 'CONVERSION_EXIT_PERI_OUTPUT'

EXPORTING

INPUT = MF_MONAT

IMPORTING

OUTPUT = MF_DYNPFIELDS-FIELDVALUE.

COLLECT MF_DYNPFIELDS.

CALL FUNCTION 'DYNP_VALUES_UPDATE'

EXPORTING

DYNAME = MF_HLP_REPID

DYNUMB = SY-DYNNR

TABLES

DYNPFIELDS = MF_DYNPFIELDS

EXCEPTIONS

INVALID_ABAPWORKAREA = 01

INVALID_DYNPROFIELD = 02

INVALID_DYNPRONAME = 03

INVALID_DYNPRONUMMER = 04

INVALID_REQUEST = 05

NO_FIELDDESCRIPTION = 06

UNDEFIND_ERROR = 07. "<<== note 148804

ENDIF.

ENDIF.

ENDFORM. "MONAT_F4

Please reward helpful answers.