SAP CTMV_FORMAT_CHECK Function Module for
CTMV_FORMAT_CHECK is a standard ctmv format check SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used to perform a specific ABAP function and below is the pattern details, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for ctmv format check FM, simply by entering the name CTMV_FORMAT_CHECK into the relevant SAP transaction such as SE37 or SE38.
Function Group: CTMV
Program Name: SAPLCTMV
Main Program: SAPLCTMV
Appliation area: C
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function CTMV_FORMAT_CHECK pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'CTMV_FORMAT_CHECK'".
EXPORTING
FORMAT = "Data type
* INTERVAL_VALUES = "Interval Values Allowed
* UNIT_OF_MEASURE = ' ' "Unit of measure
NUMBER_OF_POSITIONS_IMP = "Number of characters
* PLACES_AFTER_DECIMAL_SIGN_IMP = 0 "Number of decimal places
* LOWERCASES = ' ' "Case sensitive
* WITH_SIGN_IMP = ' ' "Negative values allowed
* PATTERN_IMP = ' ' "Template
* TYPE_OF_EXPONENT_IMP = 0 "Type of exponent
* EXPONENT_FIX_IMP = 0 "Exponent with fixed exponents
IMPORTING
INTERNAL_UNIT_OF_MEASURE = "Internal unit of measure
NUMBER_OF_POSITIONS_EXP = "Number of characters
PLACES_AFTER_DECIMAL_SIGN_EXP = "Number of decimal places
EXPONENT_FIX_EXP = "Type of exponent
TYPE_OF_EXPONENT_EXP = "Exponent with fixed exponents
PATTERN_EXP = "Template
WITH_SIGN_EXP = "Negative values allowed
EXCEPTIONS
MISSING_LENGTH = 1 NO_CHANGE_OF_LOWERCASES = 10 TO_MANY_DECIMALS = 2 NO_EXPONENT_POSSIBLE = 3 EXP_LENGTH_CONFLICT = 4 INVALID_PATTERN = 5 INVALID_LENGTH = 6 NO_SHORTENING = 7 NO_FORMAT_CHANGE = 8 NO_CHANGE_OF_UNIT = 9
Customer Function user exits
Below is a list of CUSTOMER FUNCTION exit user exits that are available within this program and maybe relevant for this FM.EXIT_SAPLCTMV_001 User Exit for Characteristics: Current Data Before Saving Characteristic
IMPORTING Parameters details for CTMV_FORMAT_CHECK
FORMAT - Data type
Data type: CABN-ATFOROptional: No
Call by Reference: No ( called with pass by value option)
INTERVAL_VALUES - Interval Values Allowed
Data type: CABN-ATINTOptional: Yes
Call by Reference: No ( called with pass by value option)
UNIT_OF_MEASURE - Unit of measure
Data type: RCTMV-EINH2Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
NUMBER_OF_POSITIONS_IMP - Number of characters
Data type: CABN-ANZSTOptional: No
Call by Reference: No ( called with pass by value option)
PLACES_AFTER_DECIMAL_SIGN_IMP - Number of decimal places
Data type: CABN-ANZDZOptional: Yes
Call by Reference: No ( called with pass by value option)
LOWERCASES - Case sensitive
Data type: CABN-ATKLEDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
WITH_SIGN_IMP - Negative values allowed
Data type: CABN-ATVORDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
PATTERN_IMP - Template
Data type: CABN-ATSCHDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
TYPE_OF_EXPONENT_IMP - Type of exponent
Data type: CABN-ATDEXOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPONENT_FIX_IMP - Exponent with fixed exponents
Data type: CABN-ATDIMOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for CTMV_FORMAT_CHECK
INTERNAL_UNIT_OF_MEASURE - Internal unit of measure
Data type: CABN-MSEHIOptional: No
Call by Reference: No ( called with pass by value option)
NUMBER_OF_POSITIONS_EXP - Number of characters
Data type: CABN-ANZSTOptional: No
Call by Reference: No ( called with pass by value option)
PLACES_AFTER_DECIMAL_SIGN_EXP - Number of decimal places
Data type: CABN-ANZDZOptional: No
Call by Reference: No ( called with pass by value option)
EXPONENT_FIX_EXP - Type of exponent
Data type: CABN-ATDIMOptional: No
Call by Reference: No ( called with pass by value option)
TYPE_OF_EXPONENT_EXP - Exponent with fixed exponents
Data type: CABN-ATDEXOptional: No
Call by Reference: No ( called with pass by value option)
PATTERN_EXP - Template
Data type: CABN-ATSCHOptional: No
Call by Reference: No ( called with pass by value option)
WITH_SIGN_EXP - Negative values allowed
Data type: CABN-ATVOROptional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
MISSING_LENGTH - Length missing
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_CHANGE_OF_LOWERCASES - No change to 'case sensitive' indicator
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
TO_MANY_DECIMALS - Too many decimal places
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_EXPONENT_POSSIBLE - Exponent entry not allowed
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
EXP_LENGTH_CONFLICT - Conflict between exponent entry and length
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INVALID_PATTERN - Incorrect template
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INVALID_LENGTH - Incorrect length entered
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_SHORTENING - Characteristic length reduced
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_FORMAT_CHANGE - Change to format not allowed
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_CHANGE_OF_UNIT - Change to unit of measure not allowed
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for CTMV_FORMAT_CHECK Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than 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 newer method of declaring data variables on the fly. 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), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_format | TYPE CABN-ATFOR, " | |||
| lv_missing_length | TYPE CABN, " | |||
| lv_internal_unit_of_measure | TYPE CABN-MSEHI, " | |||
| lv_interval_values | TYPE CABN-ATINT, " | |||
| lv_no_change_of_lowercases | TYPE CABN, " | |||
| lv_unit_of_measure | TYPE RCTMV-EINH2, " SPACE | |||
| lv_to_many_decimals | TYPE RCTMV, " | |||
| lv_number_of_positions_exp | TYPE CABN-ANZST, " | |||
| lv_no_exponent_possible | TYPE CABN, " | |||
| lv_number_of_positions_imp | TYPE CABN-ANZST, " | |||
| lv_places_after_decimal_sign_exp | TYPE CABN-ANZDZ, " | |||
| lv_exponent_fix_exp | TYPE CABN-ATDIM, " | |||
| lv_exp_length_conflict | TYPE CABN, " | |||
| lv_places_after_decimal_sign_imp | TYPE CABN-ANZDZ, " 0 | |||
| lv_lowercases | TYPE CABN-ATKLE, " SPACE | |||
| lv_invalid_pattern | TYPE CABN, " | |||
| lv_type_of_exponent_exp | TYPE CABN-ATDEX, " | |||
| lv_pattern_exp | TYPE CABN-ATSCH, " | |||
| lv_with_sign_imp | TYPE CABN-ATVOR, " SPACE | |||
| lv_invalid_length | TYPE CABN, " | |||
| lv_pattern_imp | TYPE CABN-ATSCH, " SPACE | |||
| lv_no_shortening | TYPE CABN, " | |||
| lv_with_sign_exp | TYPE CABN-ATVOR, " | |||
| lv_no_format_change | TYPE CABN, " | |||
| lv_type_of_exponent_imp | TYPE CABN-ATDEX, " 0 | |||
| lv_exponent_fix_imp | TYPE CABN-ATDIM, " 0 | |||
| lv_no_change_of_unit | TYPE CABN. " |
|   CALL FUNCTION 'CTMV_FORMAT_CHECK' " |
| EXPORTING | ||
| FORMAT | = lv_format | |
| INTERVAL_VALUES | = lv_interval_values | |
| UNIT_OF_MEASURE | = lv_unit_of_measure | |
| NUMBER_OF_POSITIONS_IMP | = lv_number_of_positions_imp | |
| PLACES_AFTER_DECIMAL_SIGN_IMP | = lv_places_after_decimal_sign_imp | |
| LOWERCASES | = lv_lowercases | |
| WITH_SIGN_IMP | = lv_with_sign_imp | |
| PATTERN_IMP | = lv_pattern_imp | |
| TYPE_OF_EXPONENT_IMP | = lv_type_of_exponent_imp | |
| EXPONENT_FIX_IMP | = lv_exponent_fix_imp | |
| IMPORTING | ||
| INTERNAL_UNIT_OF_MEASURE | = lv_internal_unit_of_measure | |
| NUMBER_OF_POSITIONS_EXP | = lv_number_of_positions_exp | |
| PLACES_AFTER_DECIMAL_SIGN_EXP | = lv_places_after_decimal_sign_exp | |
| EXPONENT_FIX_EXP | = lv_exponent_fix_exp | |
| TYPE_OF_EXPONENT_EXP | = lv_type_of_exponent_exp | |
| PATTERN_EXP | = lv_pattern_exp | |
| WITH_SIGN_EXP | = lv_with_sign_exp | |
| EXCEPTIONS | ||
| MISSING_LENGTH = 1 | ||
| NO_CHANGE_OF_LOWERCASES = 10 | ||
| TO_MANY_DECIMALS = 2 | ||
| NO_EXPONENT_POSSIBLE = 3 | ||
| EXP_LENGTH_CONFLICT = 4 | ||
| INVALID_PATTERN = 5 | ||
| INVALID_LENGTH = 6 | ||
| NO_SHORTENING = 7 | ||
| NO_FORMAT_CHANGE = 8 | ||
| NO_CHANGE_OF_UNIT = 9 | ||
| . " CTMV_FORMAT_CHECK | ||
ABAP code using 7.40 inline data declarations to call FM CTMV_FORMAT_CHECK
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| "SELECT single ATFOR FROM CABN INTO @DATA(ld_format). | ||||
| "SELECT single MSEHI FROM CABN INTO @DATA(ld_internal_unit_of_measure). | ||||
| "SELECT single ATINT FROM CABN INTO @DATA(ld_interval_values). | ||||
| "SELECT single EINH2 FROM RCTMV INTO @DATA(ld_unit_of_measure). | ||||
| DATA(ld_unit_of_measure) | = ' '. | |||
| "SELECT single ANZST FROM CABN INTO @DATA(ld_number_of_positions_exp). | ||||
| "SELECT single ANZST FROM CABN INTO @DATA(ld_number_of_positions_imp). | ||||
| "SELECT single ANZDZ FROM CABN INTO @DATA(ld_places_after_decimal_sign_exp). | ||||
| "SELECT single ATDIM FROM CABN INTO @DATA(ld_exponent_fix_exp). | ||||
| "SELECT single ANZDZ FROM CABN INTO @DATA(ld_places_after_decimal_sign_imp). | ||||
| "SELECT single ATKLE FROM CABN INTO @DATA(ld_lowercases). | ||||
| DATA(ld_lowercases) | = ' '. | |||
| "SELECT single ATDEX FROM CABN INTO @DATA(ld_type_of_exponent_exp). | ||||
| "SELECT single ATSCH FROM CABN INTO @DATA(ld_pattern_exp). | ||||
| "SELECT single ATVOR FROM CABN INTO @DATA(ld_with_sign_imp). | ||||
| DATA(ld_with_sign_imp) | = ' '. | |||
| "SELECT single ATSCH FROM CABN INTO @DATA(ld_pattern_imp). | ||||
| DATA(ld_pattern_imp) | = ' '. | |||
| "SELECT single ATVOR FROM CABN INTO @DATA(ld_with_sign_exp). | ||||
| "SELECT single ATDEX FROM CABN INTO @DATA(ld_type_of_exponent_imp). | ||||
| "SELECT single ATDIM FROM CABN INTO @DATA(ld_exponent_fix_imp). | ||||
Search for further information about these or an SAP related objects