SAP CHANGEDOCUMENT_CLOSE Function Module for Change document: Close change document creation
CHANGEDOCUMENT_CLOSE is a standard changedocument close SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Change document: Close change document creation 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 changedocument close FM, simply by entering the name CHANGEDOCUMENT_CLOSE into the relevant SAP transaction such as SE37 or SE38.
Function Group: SCD0
Program Name: SAPLSCD0
Main Program: SAPLSCD0
Appliation area: *
Release date: 29-Jan-1995
Mode(Normal, Remote etc): Normal Function Module
Update:

Function CHANGEDOCUMENT_CLOSE 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 'CHANGEDOCUMENT_CLOSE'"Change document: Close change document creation.
EXPORTING
DATE_OF_CHANGE = "Changed On
OBJECTCLASS = "Object class name
OBJECTID = "Object value ID
TCODE = "Transaction in which change was made
TIME_OF_CHANGE = "Changed at
USERNAME = "Changed by (name)
* OBJECT_CHANGE_INDICATOR = 'U' "Flag: Object inserted, changed or deleted
* PLANNED_OR_REAL_CHANGES = ' ' "Not used
* NO_CHANGE_POINTERS = ' ' "Flag: No documents written
IMPORTING
CHANGENUMBER = "Change document number
EXCEPTIONS
HEADER_INSERT_FAILED = 1 NO_POSITION_INSERTED = 2 OBJECT_INVALID = 3 OPEN_MISSING = 4 POSITION_INSERT_FAILED = 5
IMPORTING Parameters details for CHANGEDOCUMENT_CLOSE
DATE_OF_CHANGE - Changed On
Data type: CDHDR-UDATEOptional: No
Call by Reference: No ( called with pass by value option)
OBJECTCLASS - Object class name
Data type: CDHDR-OBJECTCLASOptional: No
Call by Reference: No ( called with pass by value option)
OBJECTID - Object value ID
Data type: CDHDR-OBJECTIDOptional: No
Call by Reference: No ( called with pass by value option)
TCODE - Transaction in which change was made
Data type: CDHDR-TCODEOptional: No
Call by Reference: No ( called with pass by value option)
TIME_OF_CHANGE - Changed at
Data type: CDHDR-UTIMEOptional: No
Call by Reference: No ( called with pass by value option)
USERNAME - Changed by (name)
Data type: CDHDR-USERNAMEOptional: No
Call by Reference: No ( called with pass by value option)
OBJECT_CHANGE_INDICATOR - Flag: Object inserted, changed or deleted
Data type: CDHDR-CHANGE_INDDefault: 'U'
Optional: Yes
Call by Reference: No ( called with pass by value option)
PLANNED_OR_REAL_CHANGES - Not used
Data type: CDHDR-CHANGE_INDDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
NO_CHANGE_POINTERS - Flag: No documents written
Data type: CDHDR-CHANGE_INDDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for CHANGEDOCUMENT_CLOSE
CHANGENUMBER - Change document number
Data type: CDHDR-CHANGENROptional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
HEADER_INSERT_FAILED - SQL error during INSET of header
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_POSITION_INSERTED - No items were entered
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
OBJECT_INVALID - OPEN was called with other object
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
OPEN_MISSING - No OPEN was performed
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
POSITION_INSERT_FAILED - G/L account number
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for CHANGEDOCUMENT_CLOSE 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_changenumber | TYPE CDHDR-CHANGENR, " | |||
| lv_date_of_change | TYPE CDHDR-UDATE, " | |||
| lv_header_insert_failed | TYPE CDHDR, " | |||
| lv_objectclass | TYPE CDHDR-OBJECTCLAS, " | |||
| lv_no_position_inserted | TYPE CDHDR, " | |||
| lv_objectid | TYPE CDHDR-OBJECTID, " | |||
| lv_object_invalid | TYPE CDHDR, " | |||
| lv_tcode | TYPE CDHDR-TCODE, " | |||
| lv_open_missing | TYPE CDHDR, " | |||
| lv_time_of_change | TYPE CDHDR-UTIME, " | |||
| lv_position_insert_failed | TYPE CDHDR, " | |||
| lv_username | TYPE CDHDR-USERNAME, " | |||
| lv_object_change_indicator | TYPE CDHDR-CHANGE_IND, " 'U' | |||
| lv_planned_or_real_changes | TYPE CDHDR-CHANGE_IND, " SPACE | |||
| lv_no_change_pointers | TYPE CDHDR-CHANGE_IND. " SPACE |
|   CALL FUNCTION 'CHANGEDOCUMENT_CLOSE' "Change document: Close change document creation |
| EXPORTING | ||
| DATE_OF_CHANGE | = lv_date_of_change | |
| OBJECTCLASS | = lv_objectclass | |
| OBJECTID | = lv_objectid | |
| TCODE | = lv_tcode | |
| TIME_OF_CHANGE | = lv_time_of_change | |
| USERNAME | = lv_username | |
| OBJECT_CHANGE_INDICATOR | = lv_object_change_indicator | |
| PLANNED_OR_REAL_CHANGES | = lv_planned_or_real_changes | |
| NO_CHANGE_POINTERS | = lv_no_change_pointers | |
| IMPORTING | ||
| CHANGENUMBER | = lv_changenumber | |
| EXCEPTIONS | ||
| HEADER_INSERT_FAILED = 1 | ||
| NO_POSITION_INSERTED = 2 | ||
| OBJECT_INVALID = 3 | ||
| OPEN_MISSING = 4 | ||
| POSITION_INSERT_FAILED = 5 | ||
| . " CHANGEDOCUMENT_CLOSE | ||
ABAP code using 7.40 inline data declarations to call FM CHANGEDOCUMENT_CLOSE
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 CHANGENR FROM CDHDR INTO @DATA(ld_changenumber). | ||||
| "SELECT single UDATE FROM CDHDR INTO @DATA(ld_date_of_change). | ||||
| "SELECT single OBJECTCLAS FROM CDHDR INTO @DATA(ld_objectclass). | ||||
| "SELECT single OBJECTID FROM CDHDR INTO @DATA(ld_objectid). | ||||
| "SELECT single TCODE FROM CDHDR INTO @DATA(ld_tcode). | ||||
| "SELECT single UTIME FROM CDHDR INTO @DATA(ld_time_of_change). | ||||
| "SELECT single USERNAME FROM CDHDR INTO @DATA(ld_username). | ||||
| "SELECT single CHANGE_IND FROM CDHDR INTO @DATA(ld_object_change_indicator). | ||||
| DATA(ld_object_change_indicator) | = 'U'. | |||
| "SELECT single CHANGE_IND FROM CDHDR INTO @DATA(ld_planned_or_real_changes). | ||||
| DATA(ld_planned_or_real_changes) | = ' '. | |||
| "SELECT single CHANGE_IND FROM CDHDR INTO @DATA(ld_no_change_pointers). | ||||
| DATA(ld_no_change_pointers) | = ' '. | |||
Search for further information about these or an SAP related objects