SAP CTMV_FEATURE_BASIC_DATA Function Module for
CTMV_FEATURE_BASIC_DATA is a standard ctmv feature basic data 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 feature basic data FM, simply by entering the name CTMV_FEATURE_BASIC_DATA into the relevant SAP transaction such as SE37 or SE38.
Function Group: CTMV
Program Name: SAPLCTMV
Main Program: SAPLCTMV
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:
Function CTMV_FEATURE_BASIC_DATA 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_FEATURE_BASIC_DATA'".
EXPORTING
* CHANGE_NEUTRAL = ' ' "Change of global characteristics
* INTERNAL_UNIT_OF_MEASURE = ' ' "Internal unit of measure
* LANGUAGE = SY-LANGU "Language
* NO_CHECK_OF_VALUES = ' ' "Entries not checked against allowed values
* NUMBER_OF_POSITIONS = 0 "Number of characters
OBJECT_ID = "Object ID
* PLACES_AFTER_DECIMAL_SIGN = 0 "Number of decimal places
* REQUIRED_ENTRY = ' ' "Necessary entry (required field)
* KEY_DATE = SY-DATUM "Date
* CHANGE_NUMBER = ' ' "Change number
* CHANGE_OBJECT = ' ' "Change of object-specific characteristics
* CREATE_OBJECT = ' ' "Creation of an object-specific characteristic
* DELETE_OBJECT = ' ' "Deletion of object-specific characteristic
* FEATURE_NAME = ' ' "Name of object-specific characteristic
* FEATURE_NEUTRAL_ID = 0 "Internal number for global characteristic
* FEATURE_OBJECT_ID = 0 "Internal number object-specific characteristic
* FORMAT = ' ' "Data type
* INCLUDE_DYNPRO = ' ' "Module pool and screen number of header screen
IMPORTING
FCODE = "Function code with which the function was terminated
FEATURE_OBJECT_ID = "Internal number object-specific characteristic
FORMAT = "Data type
INTERNAL_UNIT_OF_MEASURE = "Internal unit of measure
NUMBER_OF_POSITIONS = "Number of characters
PLACES_AFTER_DECIMAL_SIGN = "Number of decimal places
REQUIRED_ENTRY = "Necessary entry (required field)
EXCEPTIONS
CANCEL_BY_USER = 1 CLEAR_OBJECT_FEATURE = 2 DUPLICATE_OBJECT = 3 FEATURE_TO_DELETE = 4 KEY_LOCKED_NEUTRAL = 5 NO_NEUTRAL_FOUND = 6 NO_OBJECT_FOUND = 7 DATE_CONFLICT = 8
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_FEATURE_BASIC_DATA
CHANGE_NEUTRAL - Change of global characteristics
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
INTERNAL_UNIT_OF_MEASURE - Internal unit of measure
Data type: CABN-MSEHIDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
LANGUAGE - Language
Data type: CABNT-SPRASDefault: SY-LANGU
Optional: Yes
Call by Reference: No ( called with pass by value option)
NO_CHECK_OF_VALUES - Entries not checked against allowed values
Data type: CABN-ATSONDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
NUMBER_OF_POSITIONS - Number of characters
Data type: CABN-ANZSTOptional: Yes
Call by Reference: No ( called with pass by value option)
OBJECT_ID - Object ID
Data type: CAWN-ATIDNOptional: No
Call by Reference: No ( called with pass by value option)
PLACES_AFTER_DECIMAL_SIGN - Number of decimal places
Data type: CABN-ANZDZOptional: Yes
Call by Reference: No ( called with pass by value option)
REQUIRED_ENTRY - Necessary entry (required field)
Data type: CABN-ATERFDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
KEY_DATE - Date
Data type: SY-DATUMDefault: SY-DATUM
Optional: Yes
Call by Reference: No ( called with pass by value option)
CHANGE_NUMBER - Change number
Data type: CABN-AENNRDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
CHANGE_OBJECT - Change of object-specific characteristics
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
CREATE_OBJECT - Creation of an object-specific characteristic
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
DELETE_OBJECT - Deletion of object-specific characteristic
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
FEATURE_NAME - Name of object-specific characteristic
Data type: CABN-ATNAMDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
FEATURE_NEUTRAL_ID - Internal number for global characteristic
Data type: CABN-ATINNOptional: Yes
Call by Reference: No ( called with pass by value option)
FEATURE_OBJECT_ID - Internal number object-specific characteristic
Data type: CABN-ATINNOptional: Yes
Call by Reference: No ( called with pass by value option)
FORMAT - Data type
Data type: CABN-ATFORDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
INCLUDE_DYNPRO - Module pool and screen number of header screen
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for CTMV_FEATURE_BASIC_DATA
FCODE - Function code with which the function was terminated
Data type: SY-TCODEOptional: No
Call by Reference: No ( called with pass by value option)
FEATURE_OBJECT_ID - Internal number object-specific characteristic
Data type: CABN-ATINNOptional: No
Call by Reference: No ( called with pass by value option)
FORMAT - Data type
Data type: CABN-ATFOROptional: No
Call by Reference: No ( called with pass by value option)
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 - Number of characters
Data type: CABN-ANZSTOptional: No
Call by Reference: No ( called with pass by value option)
PLACES_AFTER_DECIMAL_SIGN - Number of decimal places
Data type: CABN-ANZDZOptional: No
Call by Reference: No ( called with pass by value option)
REQUIRED_ENTRY - Necessary entry (required field)
Data type: CABN-ATERFOptional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
CANCEL_BY_USER - User cancelled characteristics maintenance
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
CLEAR_OBJECT_FEATURE - Overwrite deleted
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DUPLICATE_OBJECT - Characteristic already exists
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
FEATURE_TO_DELETE - Characteristic entered with deletion indicator
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
KEY_LOCKED_NEUTRAL - Global characteristic already being processed
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_NEUTRAL_FOUND - Global characteristic not found
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_OBJECT_FOUND - Object-specific characteristic not found
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DATE_CONFLICT - Change number date conflict
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for CTMV_FEATURE_BASIC_DATA 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_fcode | TYPE SY-TCODE, " | |||
lv_cancel_by_user | TYPE SY, " | |||
lv_change_neutral | TYPE SY, " SPACE | |||
lv_internal_unit_of_measure | TYPE CABN-MSEHI, " SPACE | |||
lv_language | TYPE CABNT-SPRAS, " SY-LANGU | |||
lv_no_check_of_values | TYPE CABN-ATSON, " SPACE | |||
lv_number_of_positions | TYPE CABN-ANZST, " 0 | |||
lv_object_id | TYPE CAWN-ATIDN, " | |||
lv_places_after_decimal_sign | TYPE CABN-ANZDZ, " 0 | |||
lv_required_entry | TYPE CABN-ATERF, " SPACE | |||
lv_key_date | TYPE SY-DATUM, " SY-DATUM | |||
lv_change_number | TYPE CABN-AENNR, " SPACE | |||
lv_change_object | TYPE CABN, " SPACE | |||
lv_feature_object_id | TYPE CABN-ATINN, " | |||
lv_clear_object_feature | TYPE CABN, " | |||
lv_format | TYPE CABN-ATFOR, " | |||
lv_create_object | TYPE CABN, " SPACE | |||
lv_duplicate_object | TYPE CABN, " | |||
lv_delete_object | TYPE CABN, " SPACE | |||
lv_feature_to_delete | TYPE CABN, " | |||
lv_internal_unit_of_measure | TYPE CABN-MSEHI, " | |||
lv_feature_name | TYPE CABN-ATNAM, " SPACE | |||
lv_key_locked_neutral | TYPE CABN, " | |||
lv_number_of_positions | TYPE CABN-ANZST, " | |||
lv_no_neutral_found | TYPE CABN, " | |||
lv_feature_neutral_id | TYPE CABN-ATINN, " 0 | |||
lv_places_after_decimal_sign | TYPE CABN-ANZDZ, " | |||
lv_required_entry | TYPE CABN-ATERF, " | |||
lv_no_object_found | TYPE CABN, " | |||
lv_feature_object_id | TYPE CABN-ATINN, " 0 | |||
lv_format | TYPE CABN-ATFOR, " SPACE | |||
lv_date_conflict | TYPE CABN, " | |||
lv_include_dynpro | TYPE CABN. " SPACE |
  CALL FUNCTION 'CTMV_FEATURE_BASIC_DATA' " |
EXPORTING | ||
CHANGE_NEUTRAL | = lv_change_neutral | |
INTERNAL_UNIT_OF_MEASURE | = lv_internal_unit_of_measure | |
LANGUAGE | = lv_language | |
NO_CHECK_OF_VALUES | = lv_no_check_of_values | |
NUMBER_OF_POSITIONS | = lv_number_of_positions | |
OBJECT_ID | = lv_object_id | |
PLACES_AFTER_DECIMAL_SIGN | = lv_places_after_decimal_sign | |
REQUIRED_ENTRY | = lv_required_entry | |
KEY_DATE | = lv_key_date | |
CHANGE_NUMBER | = lv_change_number | |
CHANGE_OBJECT | = lv_change_object | |
CREATE_OBJECT | = lv_create_object | |
DELETE_OBJECT | = lv_delete_object | |
FEATURE_NAME | = lv_feature_name | |
FEATURE_NEUTRAL_ID | = lv_feature_neutral_id | |
FEATURE_OBJECT_ID | = lv_feature_object_id | |
FORMAT | = lv_format | |
INCLUDE_DYNPRO | = lv_include_dynpro | |
IMPORTING | ||
FCODE | = lv_fcode | |
FEATURE_OBJECT_ID | = lv_feature_object_id | |
FORMAT | = lv_format | |
INTERNAL_UNIT_OF_MEASURE | = lv_internal_unit_of_measure | |
NUMBER_OF_POSITIONS | = lv_number_of_positions | |
PLACES_AFTER_DECIMAL_SIGN | = lv_places_after_decimal_sign | |
REQUIRED_ENTRY | = lv_required_entry | |
EXCEPTIONS | ||
CANCEL_BY_USER = 1 | ||
CLEAR_OBJECT_FEATURE = 2 | ||
DUPLICATE_OBJECT = 3 | ||
FEATURE_TO_DELETE = 4 | ||
KEY_LOCKED_NEUTRAL = 5 | ||
NO_NEUTRAL_FOUND = 6 | ||
NO_OBJECT_FOUND = 7 | ||
DATE_CONFLICT = 8 | ||
. " CTMV_FEATURE_BASIC_DATA |
ABAP code using 7.40 inline data declarations to call FM CTMV_FEATURE_BASIC_DATA
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 TCODE FROM SY INTO @DATA(ld_fcode). | ||||
DATA(ld_change_neutral) | = ' '. | |||
"SELECT single MSEHI FROM CABN INTO @DATA(ld_internal_unit_of_measure). | ||||
DATA(ld_internal_unit_of_measure) | = ' '. | |||
"SELECT single SPRAS FROM CABNT INTO @DATA(ld_language). | ||||
DATA(ld_language) | = SY-LANGU. | |||
"SELECT single ATSON FROM CABN INTO @DATA(ld_no_check_of_values). | ||||
DATA(ld_no_check_of_values) | = ' '. | |||
"SELECT single ANZST FROM CABN INTO @DATA(ld_number_of_positions). | ||||
"SELECT single ATIDN FROM CAWN INTO @DATA(ld_object_id). | ||||
"SELECT single ANZDZ FROM CABN INTO @DATA(ld_places_after_decimal_sign). | ||||
"SELECT single ATERF FROM CABN INTO @DATA(ld_required_entry). | ||||
DATA(ld_required_entry) | = ' '. | |||
"SELECT single DATUM FROM SY INTO @DATA(ld_key_date). | ||||
DATA(ld_key_date) | = SY-DATUM. | |||
"SELECT single AENNR FROM CABN INTO @DATA(ld_change_number). | ||||
DATA(ld_change_number) | = ' '. | |||
DATA(ld_change_object) | = ' '. | |||
"SELECT single ATINN FROM CABN INTO @DATA(ld_feature_object_id). | ||||
"SELECT single ATFOR FROM CABN INTO @DATA(ld_format). | ||||
DATA(ld_create_object) | = ' '. | |||
DATA(ld_delete_object) | = ' '. | |||
"SELECT single MSEHI FROM CABN INTO @DATA(ld_internal_unit_of_measure). | ||||
"SELECT single ATNAM FROM CABN INTO @DATA(ld_feature_name). | ||||
DATA(ld_feature_name) | = ' '. | |||
"SELECT single ANZST FROM CABN INTO @DATA(ld_number_of_positions). | ||||
"SELECT single ATINN FROM CABN INTO @DATA(ld_feature_neutral_id). | ||||
"SELECT single ANZDZ FROM CABN INTO @DATA(ld_places_after_decimal_sign). | ||||
"SELECT single ATERF FROM CABN INTO @DATA(ld_required_entry). | ||||
"SELECT single ATINN FROM CABN INTO @DATA(ld_feature_object_id). | ||||
"SELECT single ATFOR FROM CABN INTO @DATA(ld_format). | ||||
DATA(ld_format) | = ' '. | |||
DATA(ld_include_dynpro) | = ' '. | |||
Search for further information about these or an SAP related objects