SAP COC1_FEATURE_CHECK Function Module for
COC1_FEATURE_CHECK is a standard coc1 feature 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 coc1 feature check FM, simply by entering the name COC1_FEATURE_CHECK into the relevant SAP transaction such as SE37 or SE38.
Function Group: COC1
Program Name: SAPLCOC1
Main Program:
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function COC1_FEATURE_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 'COC1_FEATURE_CHECK'".
EXPORTING
* FEATURE_ID = 0 "Internal characteristic number
* FEATURE_NAME = ' ' "Characteristic description
* FEATURE_NEUTRAL_NAME = ' ' "Characteristic name
* LANGUAGE = ' ' "Language key
* MESSAGE_TYPE_INP = 'E' "Message type (E,I,W,...)
* KEY_DATE = SY-DATUM "
IMPORTING
FEATURE_ID = "Internal characteristic number
ONLY_ONE_VALUE = "Characteristic value may be assigned only once
PATTERN = "Template
PLACES_AFTER_DECIMAL_SIGN = "Number of decimal places
REDUNDANT_STORAGE = "Redundant storage of master record fields
REQUIRED_ENTRY = "Entry required
STATUS = "Characteristic status
TABLE_FEATURE = "Characteristic referring to a table field
TITLE1 = "Heading 1
TITLE2 = "Heading 2
USE_OF_INTERVALS = "Interval values allowed
FEATURE_NAME = "Characteristic description
WITH_SIGN = "Value with sign
CONVERSION_EXIT = "Characteristic name
VALUE_ASSIGNMENT_WITH_LONGTEXT = "Indicator: Characteristic value is long text
FUNCTION_FOR_AUTO_VALUATION = "Function module for automatic value assignment
ONLY_AUTO_VALUATION = "Indicator: Only automatic value assignment
TABLE_FOR_AUTO_VALUATION = "Table for automatic value assignment
FIELD_FOR_AUTO_VALUATION = "Field for automatic value assignment
MATCHCODE = "
REF_STRUCTURE_FOR_FOREIGN_KEY = "
REF_FIELD_FOR_FOREIGN_KEY = "
FEATURE_NEUTRAL_NAME = "Characteristic name
SET_GET_PARAMETER = "
REMOTE_SYSTEM = "
REMOTE_F4 = "
REMOTE_CHK = "
FEATURE_TYPE = "Characteristic type
FORMAT = "Format
INTERNAL_UNIT_OF_MEASURE = "Internal descr. of the unit of measure (not language-dependent)
LOWER_CASES = "Lower case letter can be used
NUMBER_OF_POSITIONS = "Number of characters
OBJECT_ID = "ID of the object the characteristic belongs to
EXCEPTIONS
INVALID_CLASS_TYPE = 1 MISSING_FEATURE_INFORMATION = 2 NO_FEATURE_FOUND = 3 NO_FEATURE_VALID = 4 NO_LANGUAGE = 5
IMPORTING Parameters details for COC1_FEATURE_CHECK
FEATURE_ID - Internal characteristic number
Data type: CABN-ATINNOptional: Yes
Call by Reference: No ( called with pass by value option)
FEATURE_NAME - Characteristic description
Data type: CABNT-ATBEZDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
FEATURE_NEUTRAL_NAME - Characteristic name
Data type: CABN-ATNAMDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
LANGUAGE - Language key
Data type: CABNT-SPRASDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
MESSAGE_TYPE_INP - Message type (E,I,W,...)
Data type: SY-MSGTYDefault: 'E'
Optional: Yes
Call by Reference: No ( called with pass by value option)
KEY_DATE -
Data type: SY-DATUMDefault: SY-DATUM
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for COC1_FEATURE_CHECK
FEATURE_ID - Internal characteristic number
Data type: CABN-ATINNOptional: No
Call by Reference: No ( called with pass by value option)
ONLY_ONE_VALUE - Characteristic value may be assigned only once
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
PATTERN - Template
Data type: CABN-ATSCHOptional: 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)
REDUNDANT_STORAGE - Redundant storage of master record fields
Data type: CABN-ATWRIOptional: No
Call by Reference: No ( called with pass by value option)
REQUIRED_ENTRY - Entry required
Data type: CABN-ATERFOptional: No
Call by Reference: No ( called with pass by value option)
STATUS - Characteristic status
Data type: CABN-ATMSTOptional: No
Call by Reference: No ( called with pass by value option)
TABLE_FEATURE - Characteristic referring to a table field
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
TITLE1 - Heading 1
Data type: CABNT-ATUE1Optional: No
Call by Reference: No ( called with pass by value option)
TITLE2 - Heading 2
Data type: CABNT-ATUE2Optional: No
Call by Reference: No ( called with pass by value option)
USE_OF_INTERVALS - Interval values allowed
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
FEATURE_NAME - Characteristic description
Data type: CABNT-ATBEZOptional: No
Call by Reference: No ( called with pass by value option)
WITH_SIGN - Value with sign
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
CONVERSION_EXIT - Characteristic name
Data type: CABN-ATKONOptional: No
Call by Reference: No ( called with pass by value option)
VALUE_ASSIGNMENT_WITH_LONGTEXT - Indicator: Characteristic value is long text
Data type: COCC-TXTRFOptional: No
Call by Reference: No ( called with pass by value option)
FUNCTION_FOR_AUTO_VALUATION - Function module for automatic value assignment
Data type: COCC-ATFKTOptional: No
Call by Reference: No ( called with pass by value option)
ONLY_AUTO_VALUATION - Indicator: Only automatic value assignment
Data type: COCC-ATOBLOptional: No
Call by Reference: No ( called with pass by value option)
TABLE_FOR_AUTO_VALUATION - Table for automatic value assignment
Data type: COCC-ATTBLOptional: No
Call by Reference: No ( called with pass by value option)
FIELD_FOR_AUTO_VALUATION - Field for automatic value assignment
Data type: COCC-ATFLDOptional: No
Call by Reference: No ( called with pass by value option)
MATCHCODE -
Data type: COCC-MCODEOptional: No
Call by Reference: No ( called with pass by value option)
REF_STRUCTURE_FOR_FOREIGN_KEY -
Data type: COCC-FKTBLOptional: No
Call by Reference: No ( called with pass by value option)
REF_FIELD_FOR_FOREIGN_KEY -
Data type: COCC-FKFLDOptional: No
Call by Reference: No ( called with pass by value option)
FEATURE_NEUTRAL_NAME - Characteristic name
Data type: CABN-ATNAMOptional: No
Call by Reference: No ( called with pass by value option)
SET_GET_PARAMETER -
Data type: COCC-ATPIDOptional: No
Call by Reference: No ( called with pass by value option)
REMOTE_SYSTEM -
Data type: COCC2-REMOTE_SYSTEMOptional: No
Call by Reference: No ( called with pass by value option)
REMOTE_F4 -
Data type: COCC2-REMOTE_F4Optional: No
Call by Reference: No ( called with pass by value option)
REMOTE_CHK -
Data type: COCC2-REMOTE_CHKOptional: No
Call by Reference: No ( called with pass by value option)
FEATURE_TYPE - Characteristic type
Data type: CABN-ATIDNOptional: No
Call by Reference: No ( called with pass by value option)
FORMAT - Format
Data type: CABN-ATFOROptional: No
Call by Reference: No ( called with pass by value option)
INTERNAL_UNIT_OF_MEASURE - Internal descr. of the unit of measure (not language-dependent)
Data type: CABN-MSEHIOptional: No
Call by Reference: No ( called with pass by value option)
LOWER_CASES - Lower case letter can be used
Data type:Optional: 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)
OBJECT_ID - ID of the object the characteristic belongs to
Data type: CAWN-ATIDNOptional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
INVALID_CLASS_TYPE - Class type not supported
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
MISSING_FEATURE_INFORMATION - Insufficient information for characteristic determination
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_FEATURE_FOUND - Characteristic not found
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_FEATURE_VALID - No valid characteristic for class type found
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_LANGUAGE - No language entered
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for COC1_FEATURE_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_feature_id | TYPE CABN-ATINN, " | |||
| lv_feature_id | TYPE CABN-ATINN, " 0 | |||
| lv_invalid_class_type | TYPE CABN, " | |||
| lv_only_one_value | TYPE CABN, " | |||
| lv_pattern | TYPE CABN-ATSCH, " | |||
| lv_places_after_decimal_sign | TYPE CABN-ANZDZ, " | |||
| lv_redundant_storage | TYPE CABN-ATWRI, " | |||
| lv_required_entry | TYPE CABN-ATERF, " | |||
| lv_status | TYPE CABN-ATMST, " | |||
| lv_table_feature | TYPE CABN, " | |||
| lv_title1 | TYPE CABNT-ATUE1, " | |||
| lv_title2 | TYPE CABNT-ATUE2, " | |||
| lv_use_of_intervals | TYPE CABNT, " | |||
| lv_feature_name | TYPE CABNT-ATBEZ, " | |||
| lv_feature_name | TYPE CABNT-ATBEZ, " SPACE | |||
| lv_missing_feature_information | TYPE CABNT, " | |||
| lv_with_sign | TYPE CABNT, " | |||
| lv_conversion_exit | TYPE CABN-ATKON, " | |||
| lv_value_assignment_with_longtext | TYPE COCC-TXTRF, " | |||
| lv_function_for_auto_valuation | TYPE COCC-ATFKT, " | |||
| lv_only_auto_valuation | TYPE COCC-ATOBL, " | |||
| lv_table_for_auto_valuation | TYPE COCC-ATTBL, " | |||
| lv_field_for_auto_valuation | TYPE COCC-ATFLD, " | |||
| lv_matchcode | TYPE COCC-MCODE, " | |||
| lv_ref_structure_for_foreign_key | TYPE COCC-FKTBL, " | |||
| lv_ref_field_for_foreign_key | TYPE COCC-FKFLD, " | |||
| lv_no_feature_found | TYPE COCC, " | |||
| lv_feature_neutral_name | TYPE CABN-ATNAM, " | |||
| lv_feature_neutral_name | TYPE CABN-ATNAM, " SPACE | |||
| lv_set_get_parameter | TYPE COCC-ATPID, " | |||
| lv_remote_system | TYPE COCC2-REMOTE_SYSTEM, " | |||
| lv_remote_f4 | TYPE COCC2-REMOTE_F4, " | |||
| lv_remote_chk | TYPE COCC2-REMOTE_CHK, " | |||
| lv_language | TYPE CABNT-SPRAS, " SPACE | |||
| lv_feature_type | TYPE CABN-ATIDN, " | |||
| lv_no_feature_valid | TYPE CABN, " | |||
| lv_format | TYPE CABN-ATFOR, " | |||
| lv_no_language | TYPE CABN, " | |||
| lv_message_type_inp | TYPE SY-MSGTY, " 'E' | |||
| lv_key_date | TYPE SY-DATUM, " SY-DATUM | |||
| lv_internal_unit_of_measure | TYPE CABN-MSEHI, " | |||
| lv_lower_cases | TYPE CABN, " | |||
| lv_number_of_positions | TYPE CABN-ANZST, " | |||
| lv_object_id | TYPE CAWN-ATIDN. " |
|   CALL FUNCTION 'COC1_FEATURE_CHECK' " |
| EXPORTING | ||
| FEATURE_ID | = lv_feature_id | |
| FEATURE_NAME | = lv_feature_name | |
| FEATURE_NEUTRAL_NAME | = lv_feature_neutral_name | |
| LANGUAGE | = lv_language | |
| MESSAGE_TYPE_INP | = lv_message_type_inp | |
| KEY_DATE | = lv_key_date | |
| IMPORTING | ||
| FEATURE_ID | = lv_feature_id | |
| ONLY_ONE_VALUE | = lv_only_one_value | |
| PATTERN | = lv_pattern | |
| PLACES_AFTER_DECIMAL_SIGN | = lv_places_after_decimal_sign | |
| REDUNDANT_STORAGE | = lv_redundant_storage | |
| REQUIRED_ENTRY | = lv_required_entry | |
| STATUS | = lv_status | |
| TABLE_FEATURE | = lv_table_feature | |
| TITLE1 | = lv_title1 | |
| TITLE2 | = lv_title2 | |
| USE_OF_INTERVALS | = lv_use_of_intervals | |
| FEATURE_NAME | = lv_feature_name | |
| WITH_SIGN | = lv_with_sign | |
| CONVERSION_EXIT | = lv_conversion_exit | |
| VALUE_ASSIGNMENT_WITH_LONGTEXT | = lv_value_assignment_with_longtext | |
| FUNCTION_FOR_AUTO_VALUATION | = lv_function_for_auto_valuation | |
| ONLY_AUTO_VALUATION | = lv_only_auto_valuation | |
| TABLE_FOR_AUTO_VALUATION | = lv_table_for_auto_valuation | |
| FIELD_FOR_AUTO_VALUATION | = lv_field_for_auto_valuation | |
| MATCHCODE | = lv_matchcode | |
| REF_STRUCTURE_FOR_FOREIGN_KEY | = lv_ref_structure_for_foreign_key | |
| REF_FIELD_FOR_FOREIGN_KEY | = lv_ref_field_for_foreign_key | |
| FEATURE_NEUTRAL_NAME | = lv_feature_neutral_name | |
| SET_GET_PARAMETER | = lv_set_get_parameter | |
| REMOTE_SYSTEM | = lv_remote_system | |
| REMOTE_F4 | = lv_remote_f4 | |
| REMOTE_CHK | = lv_remote_chk | |
| FEATURE_TYPE | = lv_feature_type | |
| FORMAT | = lv_format | |
| INTERNAL_UNIT_OF_MEASURE | = lv_internal_unit_of_measure | |
| LOWER_CASES | = lv_lower_cases | |
| NUMBER_OF_POSITIONS | = lv_number_of_positions | |
| OBJECT_ID | = lv_object_id | |
| EXCEPTIONS | ||
| INVALID_CLASS_TYPE = 1 | ||
| MISSING_FEATURE_INFORMATION = 2 | ||
| NO_FEATURE_FOUND = 3 | ||
| NO_FEATURE_VALID = 4 | ||
| NO_LANGUAGE = 5 | ||
| . " COC1_FEATURE_CHECK | ||
ABAP code using 7.40 inline data declarations to call FM COC1_FEATURE_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 ATINN FROM CABN INTO @DATA(ld_feature_id). | ||||
| "SELECT single ATINN FROM CABN INTO @DATA(ld_feature_id). | ||||
| "SELECT single ATSCH FROM CABN INTO @DATA(ld_pattern). | ||||
| "SELECT single ANZDZ FROM CABN INTO @DATA(ld_places_after_decimal_sign). | ||||
| "SELECT single ATWRI FROM CABN INTO @DATA(ld_redundant_storage). | ||||
| "SELECT single ATERF FROM CABN INTO @DATA(ld_required_entry). | ||||
| "SELECT single ATMST FROM CABN INTO @DATA(ld_status). | ||||
| "SELECT single ATUE1 FROM CABNT INTO @DATA(ld_title1). | ||||
| "SELECT single ATUE2 FROM CABNT INTO @DATA(ld_title2). | ||||
| "SELECT single ATBEZ FROM CABNT INTO @DATA(ld_feature_name). | ||||
| "SELECT single ATBEZ FROM CABNT INTO @DATA(ld_feature_name). | ||||
| DATA(ld_feature_name) | = ' '. | |||
| "SELECT single ATKON FROM CABN INTO @DATA(ld_conversion_exit). | ||||
| "SELECT single TXTRF FROM COCC INTO @DATA(ld_value_assignment_with_longtext). | ||||
| "SELECT single ATFKT FROM COCC INTO @DATA(ld_function_for_auto_valuation). | ||||
| "SELECT single ATOBL FROM COCC INTO @DATA(ld_only_auto_valuation). | ||||
| "SELECT single ATTBL FROM COCC INTO @DATA(ld_table_for_auto_valuation). | ||||
| "SELECT single ATFLD FROM COCC INTO @DATA(ld_field_for_auto_valuation). | ||||
| "SELECT single MCODE FROM COCC INTO @DATA(ld_matchcode). | ||||
| "SELECT single FKTBL FROM COCC INTO @DATA(ld_ref_structure_for_foreign_key). | ||||
| "SELECT single FKFLD FROM COCC INTO @DATA(ld_ref_field_for_foreign_key). | ||||
| "SELECT single ATNAM FROM CABN INTO @DATA(ld_feature_neutral_name). | ||||
| "SELECT single ATNAM FROM CABN INTO @DATA(ld_feature_neutral_name). | ||||
| DATA(ld_feature_neutral_name) | = ' '. | |||
| "SELECT single ATPID FROM COCC INTO @DATA(ld_set_get_parameter). | ||||
| "SELECT single REMOTE_SYSTEM FROM COCC2 INTO @DATA(ld_remote_system). | ||||
| "SELECT single REMOTE_F4 FROM COCC2 INTO @DATA(ld_remote_f4). | ||||
| "SELECT single REMOTE_CHK FROM COCC2 INTO @DATA(ld_remote_chk). | ||||
| "SELECT single SPRAS FROM CABNT INTO @DATA(ld_language). | ||||
| DATA(ld_language) | = ' '. | |||
| "SELECT single ATIDN FROM CABN INTO @DATA(ld_feature_type). | ||||
| "SELECT single ATFOR FROM CABN INTO @DATA(ld_format). | ||||
| "SELECT single MSGTY FROM SY INTO @DATA(ld_message_type_inp). | ||||
| DATA(ld_message_type_inp) | = 'E'. | |||
| "SELECT single DATUM FROM SY INTO @DATA(ld_key_date). | ||||
| DATA(ld_key_date) | = SY-DATUM. | |||
| "SELECT single MSEHI FROM CABN INTO @DATA(ld_internal_unit_of_measure). | ||||
| "SELECT single ANZST FROM CABN INTO @DATA(ld_number_of_positions). | ||||
| "SELECT single ATIDN FROM CAWN INTO @DATA(ld_object_id). | ||||
Search for further information about these or an SAP related objects