SAP CLVM_CLASS_BOOK Function Module for Update Class









CLVM_CLASS_BOOK is a standard clvm class book SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Update Class processing and below is the pattern details for this FM, 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 clvm class book FM, simply by entering the name CLVM_CLASS_BOOK into the relevant SAP transaction such as SE37 or SE38.

Function Group: CLVM
Program Name: SAPLCLVM
Main Program: SAPLCLVM
Appliation area: M
Release date: 14-Feb-1995
Mode(Normal, Remote etc): Normal Function Module
Update: 3



Function CLVM_CLASS_BOOK 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 'CLVM_CLASS_BOOK'"Update Class
EXPORTING
* ACTIVITY_TYPE = ' ' "Activity category: 0=Create 1=Change 3=Delete
* CHANGE_NUMBER = ' ' "Change number
* KEY_DATE = SY-DATUM "Valid from
* CHANGE_DOCUMENT = ' ' "Create Change Documents
* EFFECTIVITY = ' ' "
* KLAH_UPDATE = ' ' "Indicator: Change to class header
* KLAS_UPDATE = ' ' "Indicator: New class (get internal number)
* KLAT_UPDATE = ' ' "Indicator: Change to Descriptions
* KSML_UPDATE = ' ' "Indicator: Change to characteristics
* KSSK_UPDATE = ' ' "Indicator: Change status (reqd char.)
* SWOR_UPDATE = ' ' "Indicator: Change to keywords
* VIEW = ' ' "Indicator: characteristics per org. area
XKLAH = "Class header structure

TABLES
* SMERKAE = "Table: New/deleted characteristics
* TKLAT = "Table structure: descriptions
* TKSML = "Table structure: characteristics
* TSWOR = "Table structure: keywords
* OKSML = "Old characteristic records (KSML) before change

EXCEPTIONS
NO_NUMBER_RANGE = 1 ERROR_DELETE_KSML = 10 ERROR_INSERT_KLAT = 11 ERROR_UPDATE_KLAT = 12 NO_NUMBER_RANGE_OBJECT = 2 ERROR_NUMBER_RANGE = 3 ERROR_INSERT_KLAH = 4 ERROR_UPDATE_KLAH = 5 ERROR_DELETE_KLAH = 6 ERROR_INSERT_SWOR = 7 ERROR_UPDATE_SWOR = 8 ERROR_INSERT_KSML = 9
.



IMPORTING Parameters details for CLVM_CLASS_BOOK

ACTIVITY_TYPE - Activity category: 0=Create 1=Change 3=Delete

Data type: RMCLM-BASISD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

CHANGE_NUMBER - Change number

Data type: KSML-AENNR
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

KEY_DATE - Valid from

Data type: SY-DATUM
Default: SY-DATUM
Optional: Yes
Call by Reference: No ( called with pass by value option)

CHANGE_DOCUMENT - Create Change Documents

Data type: RMCLM-BASISD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

EFFECTIVITY -

Data type: RMCLM-BASISD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

KLAH_UPDATE - Indicator: Change to class header

Data type: RMCLM-BASISD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

KLAS_UPDATE - Indicator: New class (get internal number)

Data type: RMCLM-BASISD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

KLAT_UPDATE - Indicator: Change to Descriptions

Data type: RMCLM-BASISD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

KSML_UPDATE - Indicator: Change to characteristics

Data type: RMCLM-BASISD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

KSSK_UPDATE - Indicator: Change status (reqd char.)

Data type: RMCLM-BASISD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

SWOR_UPDATE - Indicator: Change to keywords

Data type: RMCLM-BASISD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

VIEW - Indicator: characteristics per org. area

Data type: RMCLM-BASISD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

XKLAH - Class header structure

Data type: KLAH
Optional: No
Call by Reference: No ( called with pass by value option)

TABLES Parameters details for CLVM_CLASS_BOOK

SMERKAE - Table: New/deleted characteristics

Data type: CLSMERKAE
Optional: Yes
Call by Reference: No ( called with pass by value option)

TKLAT - Table structure: descriptions

Data type: KLAT
Optional: Yes
Call by Reference: No ( called with pass by value option)

TKSML - Table structure: characteristics

Data type: KSML
Optional: Yes
Call by Reference: No ( called with pass by value option)

TSWOR - Table structure: keywords

Data type: SWOR
Optional: Yes
Call by Reference: No ( called with pass by value option)

OKSML - Old characteristic records (KSML) before change

Data type: KSML
Optional: Yes
Call by Reference: No ( called with pass by value option)

EXCEPTIONS details

NO_NUMBER_RANGE - Number assignment: number range not found

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_DELETE_KSML - Update: error deleting KSML

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_INSERT_KLAT - Update: error creating KLAT

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_UPDATE_KLAT - Update: error changing KLAT

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

NO_NUMBER_RANGE_OBJECT - Number assignment: object KLASSE not found

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_NUMBER_RANGE - Number assignment: error

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_INSERT_KLAH - Update: error creating KLAH

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_UPDATE_KLAH - Update: error changing KLAH

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_DELETE_KLAH - Update: error deleting KLAH

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_INSERT_SWOR - Update: error creating SWOR

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_UPDATE_SWOR - Update: error changing SWOR

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

ERROR_INSERT_KSML - Update: error creating KSML

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

Copy and paste ABAP code example for CLVM_CLASS_BOOK 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:
lt_smerkae  TYPE STANDARD TABLE OF CLSMERKAE, "   
lv_activity_type  TYPE RMCLM-BASISD, "   SPACE
lv_no_number_range  TYPE RMCLM, "   
lv_change_number  TYPE KSML-AENNR, "   SPACE
lv_error_delete_ksml  TYPE KSML, "   
lv_key_date  TYPE SY-DATUM, "   SY-DATUM
lv_error_insert_klat  TYPE SY, "   
lv_change_document  TYPE RMCLM-BASISD, "   SPACE
lv_error_update_klat  TYPE RMCLM, "   
lv_effectivity  TYPE RMCLM-BASISD, "   SPACE
lt_tklat  TYPE STANDARD TABLE OF KLAT, "   
lv_klah_update  TYPE RMCLM-BASISD, "   SPACE
lv_no_number_range_object  TYPE RMCLM, "   
lt_tksml  TYPE STANDARD TABLE OF KSML, "   
lv_klas_update  TYPE RMCLM-BASISD, "   SPACE
lv_error_number_range  TYPE RMCLM, "   
lt_tswor  TYPE STANDARD TABLE OF SWOR, "   
lv_klat_update  TYPE RMCLM-BASISD, "   SPACE
lv_error_insert_klah  TYPE RMCLM, "   
lt_oksml  TYPE STANDARD TABLE OF KSML, "   
lv_ksml_update  TYPE RMCLM-BASISD, "   SPACE
lv_error_update_klah  TYPE RMCLM, "   
lv_kssk_update  TYPE RMCLM-BASISD, "   SPACE
lv_error_delete_klah  TYPE RMCLM, "   
lv_swor_update  TYPE RMCLM-BASISD, "   SPACE
lv_error_insert_swor  TYPE RMCLM, "   
lv_view  TYPE RMCLM-BASISD, "   SPACE
lv_error_update_swor  TYPE RMCLM, "   
lv_xklah  TYPE KLAH, "   
lv_error_insert_ksml  TYPE KLAH. "   

  CALL FUNCTION 'CLVM_CLASS_BOOK'  "Update Class
    EXPORTING
         ACTIVITY_TYPE = lv_activity_type
         CHANGE_NUMBER = lv_change_number
         KEY_DATE = lv_key_date
         CHANGE_DOCUMENT = lv_change_document
         EFFECTIVITY = lv_effectivity
         KLAH_UPDATE = lv_klah_update
         KLAS_UPDATE = lv_klas_update
         KLAT_UPDATE = lv_klat_update
         KSML_UPDATE = lv_ksml_update
         KSSK_UPDATE = lv_kssk_update
         SWOR_UPDATE = lv_swor_update
         VIEW = lv_view
         XKLAH = lv_xklah
    TABLES
         SMERKAE = lt_smerkae
         TKLAT = lt_tklat
         TKSML = lt_tksml
         TSWOR = lt_tswor
         OKSML = lt_oksml
    EXCEPTIONS
        NO_NUMBER_RANGE = 1
        ERROR_DELETE_KSML = 10
        ERROR_INSERT_KLAT = 11
        ERROR_UPDATE_KLAT = 12
        NO_NUMBER_RANGE_OBJECT = 2
        ERROR_NUMBER_RANGE = 3
        ERROR_INSERT_KLAH = 4
        ERROR_UPDATE_KLAH = 5
        ERROR_DELETE_KLAH = 6
        ERROR_INSERT_SWOR = 7
        ERROR_UPDATE_SWOR = 8
        ERROR_INSERT_KSML = 9
. " CLVM_CLASS_BOOK




ABAP code using 7.40 inline data declarations to call FM CLVM_CLASS_BOOK

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 BASISD FROM RMCLM INTO @DATA(ld_activity_type).
DATA(ld_activity_type) = ' '.
 
 
"SELECT single AENNR FROM KSML INTO @DATA(ld_change_number).
DATA(ld_change_number) = ' '.
 
 
"SELECT single DATUM FROM SY INTO @DATA(ld_key_date).
DATA(ld_key_date) = SY-DATUM.
 
 
"SELECT single BASISD FROM RMCLM INTO @DATA(ld_change_document).
DATA(ld_change_document) = ' '.
 
 
"SELECT single BASISD FROM RMCLM INTO @DATA(ld_effectivity).
DATA(ld_effectivity) = ' '.
 
 
"SELECT single BASISD FROM RMCLM INTO @DATA(ld_klah_update).
DATA(ld_klah_update) = ' '.
 
 
 
"SELECT single BASISD FROM RMCLM INTO @DATA(ld_klas_update).
DATA(ld_klas_update) = ' '.
 
 
 
"SELECT single BASISD FROM RMCLM INTO @DATA(ld_klat_update).
DATA(ld_klat_update) = ' '.
 
 
 
"SELECT single BASISD FROM RMCLM INTO @DATA(ld_ksml_update).
DATA(ld_ksml_update) = ' '.
 
 
"SELECT single BASISD FROM RMCLM INTO @DATA(ld_kssk_update).
DATA(ld_kssk_update) = ' '.
 
 
"SELECT single BASISD FROM RMCLM INTO @DATA(ld_swor_update).
DATA(ld_swor_update) = ' '.
 
 
"SELECT single BASISD FROM RMCLM INTO @DATA(ld_view).
DATA(ld_view) = ' '.
 
 
 
 


Search for further information about these or an SAP related objects



Comments on this SAP object

What made you want to lookup this SAP object? Please tell us what you were looking for and anything you would like to be included on this page!