Date validation in the selection screen

Hi
I am new to all this..so pls help me with this...
I need to validate my input field in the selection screen to have the format as YYYYMMDD i.e user is allowed to enter the date in this format only!!
Now how to validate this kind of a format??

Hi
That's INPUT format just one used to save a date, so u need to check it only.
It's the same if you used a DATS format, because its INPUT FORMAT is the same, for example, output format of SY-DATUM is DD.MM.YYYY, but input format is YYYYMMDD, so:
PARAMATERS: P_DATE LIKE SY-DATUM.
AT SELECTION-SCREEN.
IF P_DATE < SY-DATUM.
  MESSAGE E208(00) 'Error'.
ENDIF.
In your case the INPUT and OUTPUT format are the same so:
PARAMATERS: P_DATE(8) TYPE N.
AT SELECTION-SCREEN.
IF P_DATE < SY-DATUM.
  MESSAGE E208(00) 'Error'.
ENDIF.
Max

Similar Messages

  • Get Months for the given date ranges on the Selection Screen

    Hello All,
    If I give Begin Date (Begda) and End Date (Endda) on the Selection Screen, I need to get all the months given in the selection screen ranges.
    Could any one please suggest me how to proceed further on this.
    Thanks in Advance
    Regards
    Yathish

    HI,
    Check this FM
    HR_99S_INTERVAL_BETWEEN_DATES  ---> this can help you it will return the month in this table MONTH_TAB
    HR_99S_MONTHS_BETWEEN_DATES

  • Splitting the date based on the selection screen input

    Hi all,
    In the Selection screen of my report i had maintained two fields
    SELECT-OPTIONS  : S_DATE    FOR TPCDATE-FROM_DATE.
    PARAMETERS      : P_NUMBER  TYPE ZMMAREA-NUMBER.
    I need to code such that
    S_DATE should be splitted into P_NUMBER times
    for example if P_NUMBER is 4 i need  S_DATE should be splitted into 4 equal parts or near by equal parts
                        IF  P_NUMBER is 2 i need  S_DATE should be splitted into 2 equal parts or  near by equal parts
    Please suggest me the code of if any Function module exists fot this date splitting
    Thanks in advance
    Ajay.D

    though date question are not allowed, this requirement sounds little different.
    you can take a difference between those days by: S_date-high - S_date-low.
    then divide the difference by p_number. now you get the split positions.
    now in a do enddo you can negate the dates by the split amount you got from the divisions.
    like...
    PARAMETERS: num type i.
    select-OPTIONS: s_date for sy-datum.
    data : gv_split type i, gv_temp type sy-datum.
    gv_split = s_date-high - s_date-low.
    gv_split = gv_split / num.
    gv_temp = s_date-high.
    do num times.
      gv_temp = gv_temp - gv_split.
      WRITE / gv_temp.
    enddo.

  • Filtering of the data based upon the selection screen data using ldb

    Hi Experts ,
    I am using ldb pnpce, for my report ,and i created my own report category with selection paramaters
    action type and payroll area
    now the problem is when i am giving the action type as Z0 ,the data to be extracted is not getting filtered
    based upon the action type ,the data consists the records having different action types other than Z0
    Please give me some solution for this

    Thanks Durga ,but the link wat ever u was for hiding the selection screen fields
    but my question is when am using get pernr event my data is not getting filtered with the selection screen paramater value
    i,e m giving action type as only hiring ,but m getting the data for all the action types ,its not filtering based upon my selection

  • The dates dont insert the selection screen WHY?

    RANGES: r_datum FOR MKPF-BUDAT.
    RANGES: r_lgort FOR t001l-lgort.
    RANGES: r_werks FOR t001l-werks.
    r_datum-sign = 'I'.
    r_datum-option = 'EQ'.
    r_datum-low  = date.
    r_datum-high = date_e.
    r_lgort-sign = 'I'.
    r_lgort-option = 'BT'.
    r_lgort-low = w_lgort.
    r_lgort-high = lv_lgort.
    append r_lgort.
    SUBMIT zxxxx
       WITH <b>datum IN r_datum</b>- i see the dates but they not apear in the selection screen why?
       WITH lgort IN r_lgort.

    Hai Lalit
    The date field should be sy-datum Type (YYYYMMDD)
    data : date   type sydatum value '20060101',
           date_e type sydatum value '20060501'.
    r_datum-sign = 'I'.
    r_datum-option = 'EQ'.
    r_datum-low = date.
    r_datum-high = date_e.
    after this
    your missing  <b>'append r_datum.</b>'
    Thanks & regards
    Sreenivasulu P
    Message was edited by: Sreenivasulu Ponnadi

  • Cursor on a error-data field in the Selection-Screen

    Hi all,
    I have a normal selection-screen in which I have 4 select-options.
    I require that when user enters a wrong data in the 3rd field, the cursor should blink in that field.
    I tried to use AT SELECTION-SCREEN ON fld  event, but through this, the other's field input is disabled which I don't want.
    What should I do?
    Can I do it using SCREEN table?
    Regards,
    Saurabh A. Buksh

    Hi Saurabd,
    you could use the general event
    AT SELECTION-SCREEN.
    with no restriction on the fields. Then
    SET CURSOR FIELD error_field.
    MESSAGE Exxx...
    Best regards,
    Florin

  • F4 ( Search Help ) for date field  on the selection screen

    Hi Freinds,
    i have used WDR_SELECT_OPTIONS In my component, i have one date field on selection screen(BUDAT), for this date field i want seach help 
    this is my code
    create a range table for Posting Date
    lt_range_table = wd_this->m_handler->create_range_table(
                                                              i_typename = 'BUDAT' ).
    add Posting Date  to the selection
    wd_this->m_handler->add_selection_field( i_id = 'BUDAT'
         i_value_help_type = if_wd_value_help_handler=>CO_PREFIX_SEARCHHELP
                                               I_VALUE_HELP_ID = '??????'
                                               I_DESCRIPTION = 'Posting Date'
                                               it_result = lt_range_table ).
    can any one help me
    Thanks
    Srini

    hi sarbjeet 
    i created search help in dictionary and i used that search help in my program, but still its now working , any other ideas
    Thnx
    srini

  • How do we declare a date field in the selection screen?

    As an input,so that the user can give a appro date.
    Thanks in advance.
    Regards,
    Shilpa

    You can also do a select-option for a date.
    select-options: s_datum for sy-datum.
    REgards,
    Rich Heilman

  • How to use MM/YYYY Format in the selection Screen?

    There is this program RMCB0300 where the date format in the selection screen has MM/YYYY Format.
    I am working on a report which requires it "Period" Field in the selection screen to be in the same format.
    However, i am trying to give the select option as " SL_SPMON FOR S031-SPMON MODIF ID PER." and declaring S031 table in the declaration part.
    But still, its not been able to provide me F4 help in the inpur screen.
    Can someone please provide me some guidance in this regard?

    Hi,
    the following works for me..
    *& Report  ZPMONAT                                                     *
    report  zpmonat                                 .
    tables: s031.
    selection-screen begin of block abc.
    select-options:  sl_spmon for s031-spmon.
    selection-screen end of block abc.
    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.
    start-of-selection.
    end-of-selection.
    *&      Form  monat_f4
    *       text
    *  -->  p1        text
    *  <--  p2        text
    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
    Regards,
    Suresh Datti

  • How to display data from internal table in the SELECTION-SCREEN

    Hello Experts,
    My requirement is to display the data's from an internal table in the selection screen. I tried using selection-screen comment. But it is working only for a single record. Can anyone please tell me how to do this?

    Hi Ritika,
    we cant use write statement inside selection-screen.
    see my coding.
    SELECTION-SCREEN BEGIN OF SCREEN 123 AS WINDOW TITLE TEXT-456.
      SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-BL1
                                          NO INTERVALS.
        SELECT-OPTIONS SEL1 FOR SY-DATUM.
        PARAMETERS     PAR1(10).
    <b>** I WANT ALL RECORDS FROM AN INTERNAL TABLE HERE ONLY</b>
        SELECTION-SCREEN END OF BLOCK BL1.
      SELECTION-SCREEN PUSHBUTTON 2(10)  but1 USER-COMMAND cli1.
      SELECTION-SCREEN PUSHBUTTON 20(10)  but2 USER-COMMAND cli2.
    SELECTION-SCREEN END OF SCREEN 123.

  • FISCAL year from Date  in the Selection Screen.

    Hi Folks,
    Is there any function module which returns the Fiscal year if we provide the date in ranges.
    I mean, I have a select option for date in the selection screen.So,if a user enters the date say 01042007 01042007 it should return the corresponding fiscal year.
    Kindly let me know if anyone here has any idea regarding this.
    Thanks,
    K.Kiran.

    Hello,
    Check these FM's
    FTIS
    FTI_FISCAL_YEAR_MONTH_GET
    KBPA                           Budget/Plan - application-specific
    KBPA_GET_START_FISCAL_YEAR     Determine Start Year for Funds Management
    KBPA_GET_START_FISCAL_YEAR_OPT
    Vasanth

  • Validation for the select option value range of selection screen

    Hi All.
    if i wish to validate the selection screen parameter for a value range(select options),is it possible?
    what should i write in code.Also,m using FM DD_DOMVALUES_GET to get the values for a specific domain name.
    Please reply.

    Hiii,
         Yes it is possible.... Can you give me the piece of code ... about the select option
    and also the value range against which you want to validate the select option.
    So that i can help you with the coding tips...
    Thanks in advance..

  • Calling the selection screen of report with data for the selection field

    I have the selection screen with 2 fileds.
    sales order and  payment terms.
    My requirement is to update the payment terms into the ztable for the given order.
    Sometimes the payment terms will be there ie already maintained ,in that case i need to show to the user the existing payment term ,so that he can modify and save that one.If the payment term is not existing then simply i can go inside the program and update the payment term.
    What I thought of doing is , writing a report program and then after the user inputs the selection screen ie order number , I Will check in the ztable and if the payment terms is found then i will use the key word leave list processing. But i dont know how to populate the payement term in the selection screen oncegaing from the program

    Hi shiva,
    when the user enters sales order number on screen, in parameter 1,
    you want to show payment term, on selection screen itself, in parameter 2.
    We can use the event
    AT SELECTION-SCREEN.
    Eg. PO Number <----
    > User
    Below is sample code for same.
    If you enter PO Number, the system will show the corresponding user in parameter2.
    Just copy paste.
    REPORT  YAM_TEMPA09.
    PARAMETERS : EBELN LIKE EKKO-EBELN.
    PARAMETERS : ERNAM LIKE EKKO-ERNAM.
    AT SELECTION-SCREEN.
    ERNAM = ''.
    SELECT SINGLE ERNAM
    FROM EKKO
    INTO ERNAM
    WHERE EBELN = EBELN.
    regards,
    amit m.

  • How to get a check box on the selection screen

    Hi all
    can any body tell me how to get a check box on the selection screen

    parameter: pa_check   as checkbox.
    To define the input field of a parameter as a checkbox, you use the following syntax:
    PARAMETERS <p> ...... AS CHECKBOX ......
    Parameter <p> is created with type C and length 1. In this case, you may not use the additions TYPE and LIKE. Valid values for <p> are ' ' and 'X'. These values are assigned to the parameter when the user clicks the checkbox on the selection screen.
    If you use the TYPE addition to refer to a data type in the ABAP Dictionary of type CHAR and length 1 for which 'X' and ' ' are defined as valid values in the domain, the parameter automatically appears as a checkbox on the selection screen.
    REPORT DEMO.
    PARAMETERS: A AS CHECKBOX,
    B AS CHECKBOX DEFAULT 'X'.

  • Report OutPut directly to  the printer by selecting in the selection screen

    Hi Guys,
    Can any one help,
    How to give Report output (ALV report ) directly to the printer by selecting the printer name in the selection screen .
    Sap Version is ECC 6.0.
    Thanks In advance
    praveen k

    hi,
    u can do it using submit statement.
    SUBMIT TO SAP-SPOOL
    Basic form
    SUBMIT rep ... TO SAP-SPOOL.
    Extras:
    1.... DESTINATION dest         ... COPIES cop
            ... LIST NAME name
            ... LIST DATASET dsn
            ... COVER TEXT text
            ... LIST AUTHORITY auth
            ... IMMEDIATELY flag
            ... KEEP IN SPOOL flag
            ... NEW LIST IDENTIFICATION flag
            ... DATASET EXPIRATION days
            ... LINE-COUNT lin
            ... LINE-SIZE  col
            ... LAYOUT layout
            ... SAP COVER PAGE mode
            ... COVER PAGE flag
            ... RECEIVER rec
            ... DEPARTMENT dep
            ... ARCHIVE MODE armode
            ... ARCHIVE PARAMETERS arparams
            ... WITHOUT SPOOL DYNPRO
    2. ... SPOOL PARAMETERS params
             ... ARCHIVE PARAMETERS arparams
             ... WITHOUT SPOOL DYNPRO
    3. ... Further parameters (for passing variants)
            are described in the documentation for SUBMIT
    The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See Missing print parameters with SUBMIT.
    Effect
    Calls the report rep with list output to the SAP spool database.
    Additions
    ... DESTINATION dest(output device)
    ... COPIES cop(number of copies)
    ... LIST NAME name(name of list)
    ... LIST DATASET dsn(name of spool dataset)
    ... COVER TEXT text(title of spool request)
    ... LIST AUTHORITY auth(authorization for display)
    ... IMMEDIATELY flag(print immediately ?)
    ... KEEP IN SPOOL flag(keep list after print ?)
    ... NEW LIST IDENTIFICATION flag(new spool request ?)
    ... DATASET EXPIRATION days(number of days list
    retained)
    ... LINE-COUNT lin ( lin lines per page)
    ... LINE-SIZE  col(col columns per line)
    ... LAYOUT layout(print format)
    ... SAP COVER PAGE mode(SAP cover sheet ?)
    ... COVER PAGE flag(selection cover sheet ?)
    ... RECEIVER rec(SAP user name of
    recipient)
    ... DEPARTMENT dep(name of department)
    ... ARCHIVE MODE armode(archiving mode)
    ... ARCHIVE PARAMETERS arparams(structure with archiving
    parameters)
    ... WITHOUT SPOOL DYNPRO(skip print control screen)
    With the parameters IMMEDIATELY, KEEP IN SPOOL, NEW LIST IDENTIFICATION and COVER TEXT, flag must be a literal or character field with the length 1. If flag is blank, the parameter is switched off, but any other character switches the parameter on. You can also omit any of the sub-options of PRINT ON. mode with SAP COVER PAGE can accept the values ' ', 'X' and 'D'. These values have the following meaning:
    ' ' : Do not output cover sheet
    'X' : Output cover sheet
    'D' : Cover sheet output according to printer setting
    armode with ARCHIVE MODE can accept the values '1', '2' and '3'. These values have the following meaning:
    '1' : Print only
    '2' : Archive only
    '3' : Print and archive
    arparams with ARCHIVE PARAMETERS must have the same structure as ARC_PARAMS. This parameter should only be processed with the function module GET_PRINT_PARAMETERS.
    Effect
    Output is to the SAP spool database with the specified parameters. If you omit one of the parameters, the system uses a default value. Before output to the spool, you normally see a screen where you can enter and/or modify the spool parameters. However, you can suppress this screen with the following statement:
    ... TO SAP-SPOOL WITHOUT SPOOL DYNPRO
    You could use this option if all the spool parameters have already been set!
    reward points if hlpful.
    Note
    When specifying the LINE-SIZE, you should not give any value > 132 because most printers cannot print wider lists.
    Addition 2
    ... SPOOL PARAMETERS params(structure with print
    parameters)
    ... ARCHIVE PARAMETERS arparams(Structure with archive
    parameters)
    ... WITHOUT SPOOL DYNPRO(skip print parameters
    screen)
    Effect
    Output is to the SAP spool database with the specified parameters. The print parameters are passed by the field string params which must have the structure of PRI_PARAMS. The field string can be filled and modified with the function module GET_PRINT_PARAMETERS. The specification arparams with ARCHIVE PARAMETERS must have the structure of ARC_PARAMS. This parameter should only be processed with the function module GET_PRINT_PARAMETERS. Before output to the spool, you normally see a screen where you can enter and/or modify the spool parameters. However, you can suppress this screen with the following statement:
    ... WITHOUT SPOOL DYNPRO
    Example
    Without archiving
    DATA: PARAMS LIKE PRI_PARAMS,
          DAYS(1)  TYPE N VALUE 2,
          COUNT(3) TYPE N VALUE 1,
          VALID    TYPE C.
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
      EXPORTING DESTINATION           = 'LT50'
                COPIES                = COUNT
                LIST_NAME             = 'TEST'
                LIST_TEXT             = 'SUBMIT ... TO SAP-SPOOL'
                IMMEDIATELY           = 'X'
                RELEASE               = 'X'
                NEW_LIST_ID           = 'X'
                EXPIRATION            = DAYS
                LINE_SIZE             = 79
                LINE_COUNT            = 23
                LAYOUT                = 'X_PAPER'
                SAP_COVER_PAGE        = 'X'
                COVER_PAGE            = 'X'
                RECEIVER              = 'SAP*'
                DEPARTMENT            = 'System'
                NO_DIALOG             = ' '
      IMPORTING OUT_PARAMETERS        = PARAMS
                VALID                 = VALID.
    IF VALID <> SPACE.
      SUBMIT RSTEST00 TO SAP-SPOOL
        SPOOL PARAMETERS PARAMS
        WITHOUT SPOOL DYNPRO.
    ENDIF.
    Example
    With archiving
    DATA: PARAMS   LIKE PRI_PARAMS,
          ARPARAMS LIKE ARC_PARAMS,
          DAYS(1)  TYPE N VALUE 2,
          COUNT(3) TYPE N VALUE 1,
          VALID    TYPE C.
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
      EXPORTING DESTINATION            = 'LT50'
                COPIES                 = COUNT
                LIST_NAME              = 'TEST'
                LIST_TEXT              = 'SUBMIT ... TO SAP-SPOOL'
                IMMEDIATELY            = 'X'
                RELEASE                = 'X'
                NEW_LIST_ID            = 'X'
                EXPIRATION             = DAYS
                LINE_SIZE              = 79
                LINE_COUNT             = 23
                LAYOUT                 = 'X_PAPER'
                SAP_COVER_PAGE         = 'X'
                COVER_PAGE             = 'X'
                RECEIVER               = 'SAP*'
                DEPARTMENT             = 'System'
                SAP_OBJECT             = 'RS'
                AR_OBJECT              = 'TEST'
                ARCHIVE_ID             = 'XX'
                ARCHIVE_INFO           = 'III'
                ARCHIVE_TEXT           = 'Description'
                NO_DIALOG              = ' '
      IMPORTING OUT_PARAMETERS         = PARAMS
                OUT_ARCHIVE_PARAMETERS = ARPARAMS
                VALID                  = VALID.
    IF VALID <> SPACE.
      SUBMIT RSTEST00 TO SAP-SPOOL
        SPOOL PARAMETERS PARAMS
        ARCHIVE PARAMETERS ARPARAMS
        WITHOUT SPOOL DYNPRO.
    ENDIF.

Maybe you are looking for

  • Could anyone point me to a beginners guide to code in XCode?

    I am going to learn how to code, and I am using the lastest version of xCode. If someone could point me to a guide for total beginners, that would very helpful to  me!

  • TAB in paragraph format for Script

    hi, i am doubt with the tabs for paragraph format in the script. how actually it work? i try to make change on the tab, but some time even i put a larger value, the space in the output will become smaller, can anyone explain to me how the tab actuall

  • Can I delete Receipts.pkg files? For Permissions repair, verify first?

    I recently read that all *.bom (/Library/Receipts/boms/*.bom) files should be preserved so Mac os x knows what files an installer put into which location. But what about those large .pkg files (/Library/Receipts/*.pkg)? Those take up more than half a

  • 2 users with same user id in OIM!

    hi, can you please help me with this production environment issue! there are 2 users with same userid, same first name and last name in OIM but are only one is present in all of the target resources. i just dont know how to delete such user, as the t

  • Web Service Issue

    Hello Everyone, I am having an issue with web services. I created an ABAP FM based web service in R/3 (WAS 640). The web service was created successfully but when I try to publish it to wsNavigator using WSADMIN, it take me to the wsNavigator on our