SAP PPEEXPL_GET_CMP_DATA Function Module for NOTRANSL: Lesen der CMP Objekte eines Knotens
PPEEXPL_GET_CMP_DATA is a standard ppeexpl get cmp data SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for NOTRANSL: Lesen der CMP Objekte eines Knotens 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 ppeexpl get cmp data FM, simply by entering the name PPEEXPL_GET_CMP_DATA into the relevant SAP transaction such as SE37 or SE38.
Function Group: PPEEXPL
Program Name: SAPLPPEEXPL
Main Program: SAPLPPEEXPL
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function PPEEXPL_GET_CMP_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 'PPEEXPL_GET_CMP_DATA'"NOTRANSL: Lesen der CMP Objekte eines Knotens.
EXPORTING
* IV_MSG_HANDLING = 'A' "
* IV_MSG_CONTEXT = "Application Context of Message
* IV_BYPASS_LIBUFFER = ' ' "Generic Type
* IV_USE_MEMORY = 'X' "Generic Type
* IS_MEMORY_HANDLE = "DE-EN-LANG-SWITCH-NO-TRANSLATION
* IV_WRITE_SH_MEMORY = PPET_TRUE "Generic Type
IMPORTING
ES_PNODID = "
ET_PALTID = "
ET_PACMP = "
ET_PRELID = "
ET_PRPVR = "
ET_VBK_TMP_PNODID = "
ET_VBK_TMP_PNCMP = "
EV_IS_VBK = "Generic Type
ES_MEM = "
ES_PNCMP = "PVS Item Node: Attributes
ES_PNTYPE = "Generated Table for View
ET_POSVID = "
ET_AENNR = "PVS Variant (CMP): Basic Data
ET_PVCMPD = "PVS Variant (CMP): Basic Data
ET_PVCMPR = "PVS Variant (CMP): Supplement to the Selection Criteria
ET_PVCMPV = "
ET_PVCMPP = "PVS Variant (CMP): Component Attributes
CHANGING
* CV_PNGUID = "Internal Number of iPPE Node
* CV_PAGUID = "Internal Identification for PVS Objects
EXCEPTIONS
OBJECT_DOES_NOT_EXIST = 1
IMPORTING Parameters details for PPEEXPL_GET_CMP_DATA
IV_MSG_HANDLING -
Data type: PPET_MSG_OPTDefault: 'A'
Optional: Yes
Call by Reference: Yes
IV_MSG_CONTEXT - Application Context of Message
Data type: PPE_MSG_CONTEXTOptional: Yes
Call by Reference: Yes
IV_BYPASS_LIBUFFER - Generic Type
Data type: CDefault: SPACE
Optional: Yes
Call by Reference: Yes
IV_USE_MEMORY - Generic Type
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: Yes
IS_MEMORY_HANDLE - DE-EN-LANG-SWITCH-NO-TRANSLATION
Data type: PPET8_MEMORY_HANDLEOptional: Yes
Call by Reference: Yes
IV_WRITE_SH_MEMORY - Generic Type
Data type: CDefault: PPET_TRUE
Optional: Yes
Call by Reference: Yes
EXPORTING Parameters details for PPEEXPL_GET_CMP_DATA
ES_PNODID -
Data type: PPET_PNODID_LIOptional: No
Call by Reference: Yes
ET_PALTID -
Data type: PPET_PALTID_LI_TABOptional: No
Call by Reference: Yes
ET_PACMP -
Data type: PPET1_PACMP_LI_TABOptional: No
Call by Reference: Yes
ET_PRELID -
Data type: PPET_PRELID_LI_TABOptional: No
Call by Reference: Yes
ET_PRPVR -
Data type: PPET1_PRPVR_LI_TABOptional: No
Call by Reference: Yes
ET_VBK_TMP_PNODID -
Data type: PPET_PNODID_LI_TABOptional: No
Call by Reference: Yes
ET_VBK_TMP_PNCMP -
Data type: PPET1_PNCMP_LI_TABOptional: No
Call by Reference: Yes
EV_IS_VBK - Generic Type
Data type: COptional: No
Call by Reference: Yes
ES_MEM -
Data type: PPET8_MEMOptional: No
Call by Reference: Yes
ES_PNCMP - PVS Item Node: Attributes
Data type: PPET1_PNCMP_LIOptional: No
Call by Reference: Yes
ES_PNTYPE - Generated Table for View
Data type: V_CPNTYPEOptional: No
Call by Reference: Yes
ET_POSVID -
Data type: PPET_POSVID_LI_TABOptional: No
Call by Reference: Yes
ET_AENNR - PVS Variant (CMP): Basic Data
Data type: PPET_AENNR_TABOptional: No
Call by Reference: Yes
ET_PVCMPD - PVS Variant (CMP): Basic Data
Data type: PPET1_PVCMPD_LI_TABOptional: No
Call by Reference: Yes
ET_PVCMPR - PVS Variant (CMP): Supplement to the Selection Criteria
Data type: PPET1_PVCMPR_LI_TABOptional: No
Call by Reference: Yes
ET_PVCMPV -
Data type: PPET1_PVCMPV_LI_TABOptional: No
Call by Reference: Yes
ET_PVCMPP - PVS Variant (CMP): Component Attributes
Data type: PPET1_PVCMPP_LI_TABOptional: No
Call by Reference: Yes
CHANGING Parameters details for PPEEXPL_GET_CMP_DATA
CV_PNGUID - Internal Number of iPPE Node
Data type: PNODID-PNGUIDOptional: Yes
Call by Reference: Yes
CV_PAGUID - Internal Identification for PVS Objects
Data type: PALTID-PAGUIDOptional: Yes
Call by Reference: Yes
EXCEPTIONS details
OBJECT_DOES_NOT_EXIST - DE-EN-LANG-SWITCH-NO-TRANSLATION
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for PPEEXPL_GET_CMP_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_cv_pnguid | TYPE PNODID-PNGUID, " | |||
| lv_es_pnodid | TYPE PPET_PNODID_LI, " | |||
| lv_iv_msg_handling | TYPE PPET_MSG_OPT, " 'A' | |||
| lv_object_does_not_exist | TYPE PPET_MSG_OPT, " | |||
| lv_et_paltid | TYPE PPET_PALTID_LI_TAB, " | |||
| lv_et_pacmp | TYPE PPET1_PACMP_LI_TAB, " | |||
| lv_et_prelid | TYPE PPET_PRELID_LI_TAB, " | |||
| lv_et_prpvr | TYPE PPET1_PRPVR_LI_TAB, " | |||
| lv_et_vbk_tmp_pnodid | TYPE PPET_PNODID_LI_TAB, " | |||
| lv_et_vbk_tmp_pncmp | TYPE PPET1_PNCMP_LI_TAB, " | |||
| lv_ev_is_vbk | TYPE C, " | |||
| lv_es_mem | TYPE PPET8_MEM, " | |||
| lv_es_pncmp | TYPE PPET1_PNCMP_LI, " | |||
| lv_cv_paguid | TYPE PALTID-PAGUID, " | |||
| lv_iv_msg_context | TYPE PPE_MSG_CONTEXT, " | |||
| lv_es_pntype | TYPE V_CPNTYPE, " | |||
| lv_iv_bypass_libuffer | TYPE C, " SPACE | |||
| lv_et_posvid | TYPE PPET_POSVID_LI_TAB, " | |||
| lv_iv_use_memory | TYPE C, " 'X' | |||
| lv_et_aennr | TYPE PPET_AENNR_TAB, " | |||
| lv_is_memory_handle | TYPE PPET8_MEMORY_HANDLE, " | |||
| lv_et_pvcmpd | TYPE PPET1_PVCMPD_LI_TAB, " | |||
| lv_iv_write_sh_memory | TYPE C, " PPET_TRUE | |||
| lv_et_pvcmpr | TYPE PPET1_PVCMPR_LI_TAB, " | |||
| lv_et_pvcmpv | TYPE PPET1_PVCMPV_LI_TAB, " | |||
| lv_et_pvcmpp | TYPE PPET1_PVCMPP_LI_TAB. " |
|   CALL FUNCTION 'PPEEXPL_GET_CMP_DATA' "NOTRANSL: Lesen der CMP Objekte eines Knotens |
| EXPORTING | ||
| IV_MSG_HANDLING | = lv_iv_msg_handling | |
| IV_MSG_CONTEXT | = lv_iv_msg_context | |
| IV_BYPASS_LIBUFFER | = lv_iv_bypass_libuffer | |
| IV_USE_MEMORY | = lv_iv_use_memory | |
| IS_MEMORY_HANDLE | = lv_is_memory_handle | |
| IV_WRITE_SH_MEMORY | = lv_iv_write_sh_memory | |
| IMPORTING | ||
| ES_PNODID | = lv_es_pnodid | |
| ET_PALTID | = lv_et_paltid | |
| ET_PACMP | = lv_et_pacmp | |
| ET_PRELID | = lv_et_prelid | |
| ET_PRPVR | = lv_et_prpvr | |
| ET_VBK_TMP_PNODID | = lv_et_vbk_tmp_pnodid | |
| ET_VBK_TMP_PNCMP | = lv_et_vbk_tmp_pncmp | |
| EV_IS_VBK | = lv_ev_is_vbk | |
| ES_MEM | = lv_es_mem | |
| ES_PNCMP | = lv_es_pncmp | |
| ES_PNTYPE | = lv_es_pntype | |
| ET_POSVID | = lv_et_posvid | |
| ET_AENNR | = lv_et_aennr | |
| ET_PVCMPD | = lv_et_pvcmpd | |
| ET_PVCMPR | = lv_et_pvcmpr | |
| ET_PVCMPV | = lv_et_pvcmpv | |
| ET_PVCMPP | = lv_et_pvcmpp | |
| CHANGING | ||
| CV_PNGUID | = lv_cv_pnguid | |
| CV_PAGUID | = lv_cv_paguid | |
| EXCEPTIONS | ||
| OBJECT_DOES_NOT_EXIST = 1 | ||
| . " PPEEXPL_GET_CMP_DATA | ||
ABAP code using 7.40 inline data declarations to call FM PPEEXPL_GET_CMP_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 PNGUID FROM PNODID INTO @DATA(ld_cv_pnguid). | ||||
| DATA(ld_iv_msg_handling) | = 'A'. | |||
| "SELECT single PAGUID FROM PALTID INTO @DATA(ld_cv_paguid). | ||||
| DATA(ld_iv_bypass_libuffer) | = ' '. | |||
| DATA(ld_iv_use_memory) | = 'X'. | |||
| DATA(ld_iv_write_sh_memory) | = PPET_TRUE. | |||
Search for further information about these or an SAP related objects