SAP Function Modules

PERIOD_AND_DATE_CONVERT_INPUT SAP Function module - Input conversion for a date with period







PERIOD_AND_DATE_CONVERT_INPUT is a standard SAP function module available within R/3 SAP systems depending on your version and release level. Below is the pattern details for this FM showing its interface including any import and export parameters, exceptions etc as well as any documentation contributions (Comments) specific to the object.

See here to view full function module documentation and code listing, simply by entering the name PERIOD_AND_DATE_CONVERT_INPUT into the relevant SAP transaction such as SE37 or SE80.

Associated Function Group: VDAT
Released Date: 22.12.1992
Processing type: Normal fucntion module
Normal function module settings


Pattern for FM PERIOD_AND_DATE_CONVERT_INPUT - PERIOD AND DATE CONVERT INPUT





CALL FUNCTION 'PERIOD_AND_DATE_CONVERT_INPUT' "Input conversion for a date with period
  EXPORTING
*   dialog_date_is_in_the_past = 'X'  "         Warning for date in the past (X = yes)
    external_date =             " rvdat-extdatum  Date in external format (day, week, month)
*   external_period = SPACE     " tprg-prgbz    Period indicator in external format
*   internal_period = SPACE     " tprg-prgrs    Period in internal format (1.2.3)
*   i_periv =                   " mt61d-periv
*   i_werks =                   " t439i-werks
*   i_mrppp =                   " t439i-mrppp
  IMPORTING
    internal_date =             " syst-datum    Date in internal format (type Date)
    internal_period =           " tprg-prgrs    Period in internal format (1.2.3)
    ev_date_in_past =           " char1         Single-character Indicator
    ev_period_in_past =         " char1         Single-character Indicator
  EXCEPTIONS
    DATE_INVALID = 1            "               Formal error in the entered date
    NO_DATA = 2                 "               Neither date nor period were entered
    PERIOD_INVALID = 3          "               invalid period
    .  "  PERIOD_AND_DATE_CONVERT_INPUT

ABAP code example for Function Module PERIOD_AND_DATE_CONVERT_INPUT





The ABAP code below is a full code listing to execute function module PERIOD_AND_DATE_CONVERT_INPUT including all data declarations. The code uses the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the original method of declaring data variables up front. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8).

DATA:
ld_internal_date  TYPE SYST-DATUM ,
ld_internal_period  TYPE TPRG-PRGRS ,
ld_ev_date_in_past  TYPE CHAR1 ,
ld_ev_period_in_past  TYPE CHAR1 .

DATA(ld_dialog_date_is_in_the_past) = 'some text here'.

DATA(ld_external_date) = some text here

SELECT single PRGBZ
FROM TPRG
INTO @DATA(ld_external_period).


SELECT single PRGRS
FROM TPRG
INTO @DATA(ld_internal_period).


DATA(ld_i_periv) = some text here

SELECT single WERKS
FROM T439I
INTO @DATA(ld_i_werks).


SELECT single MRPPP
FROM T439I
INTO @DATA(ld_i_mrppp).
. CALL FUNCTION 'PERIOD_AND_DATE_CONVERT_INPUT' EXPORTING * dialog_date_is_in_the_past = ld_dialog_date_is_in_the_past external_date = ld_external_date * external_period = ld_external_period * internal_period = ld_internal_period * i_periv = ld_i_periv * i_werks = ld_i_werks * i_mrppp = ld_i_mrppp IMPORTING internal_date = ld_internal_date internal_period = ld_internal_period ev_date_in_past = ld_ev_date_in_past ev_period_in_past = ld_ev_period_in_past EXCEPTIONS DATE_INVALID = 1 NO_DATA = 2 PERIOD_INVALID = 3 . " PERIOD_AND_DATE_CONVERT_INPUT
IF SY-SUBRC EQ 0. "All OK ELSEIF SY-SUBRC EQ 1. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 2. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 3. "Exception "Add code for exception here ENDIF.







ABAP code to compare 7.40 inline data declaration with original syntax

The below ABAP code uses the older none in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. It may also be useful if you are using an older version of SAP as some of the newer syntax above, such as the @DATA is not available until 4.70 EHP 8.

DATA:
ld_internal_date  TYPE SYST-DATUM ,
ld_dialog_date_is_in_the_past  TYPE STRING ,
ld_internal_period  TYPE TPRG-PRGRS ,
ld_external_date  TYPE RVDAT-EXTDATUM ,
ld_ev_date_in_past  TYPE CHAR1 ,
ld_external_period  TYPE TPRG-PRGBZ ,
ld_ev_period_in_past  TYPE CHAR1 ,
ld_internal_period  TYPE TPRG-PRGRS ,
ld_i_periv  TYPE MT61D-PERIV ,
ld_i_werks  TYPE T439I-WERKS ,
ld_i_mrppp  TYPE T439I-MRPPP .

ld_dialog_date_is_in_the_past = 'some text here'.

ld_external_date = some text here

SELECT single PRGBZ
FROM TPRG
INTO ld_external_period.


SELECT single PRGRS
FROM TPRG
INTO ld_internal_period.


ld_i_periv = some text here

SELECT single WERKS
FROM T439I
INTO ld_i_werks.


SELECT single MRPPP
FROM T439I
INTO ld_i_mrppp.

Contribute (Add Comments)

Please help keep this info upto date and use the comments section below to add useful hints, tips and information specific to this SAP function. This will then be available for you and other users to easily find by simply searching on the object name PERIOD_AND_DATE_CONVERT_INPUT or its description.