SAP QPK1_SL_CODE_TREE Function Module for Tree setup for selecting codes using selected sets









QPK1_SL_CODE_TREE is a standard qpk1 sl code tree SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Tree setup for selecting codes using selected sets 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 qpk1 sl code tree FM, simply by entering the name QPK1_SL_CODE_TREE into the relevant SAP transaction such as SE37 or SE38.

Function Group: QPK1
Program Name: SAPLQPK1
Main Program: SAPLQPK1
Appliation area: Q
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:



Function QPK1_SL_CODE_TREE 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 'QPK1_SL_CODE_TREE'"Tree setup for selecting codes using selected sets
EXPORTING
I_KATALOGART = "Catalog Type
I_WERKS = "Filter for plants (coding by *,+)
* I_AUSWAHLMGE = '*' "Filter for selected sets (coding by *,+)
* I_CODEGRUPPE = '*' "Filter for code groups (coding by *,+)
* I_CODE = '*' "Filter for codes (coding by *,+)
* I_SPRACHE = SY-LANGU "Language for texts

IMPORTING
E_ROOT = "Root Node
E_LAST_LEAF = "Last Node
ET_TREETAB = "Data for Node of Tree for Codes
ET_QPK1AC = "Table Type for QPK1AC

EXCEPTIONS
NO_MATCH_IN_RANGE = 1 NO_USER_SELECTION = 2 OBJECT_LOCKED = 3 LOCK_ERROR = 4 OBJECT_MISSING = 5
.



IMPORTING Parameters details for QPK1_SL_CODE_TREE

I_KATALOGART - Catalog Type

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

I_WERKS - Filter for plants (coding by *,+)

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

I_AUSWAHLMGE - Filter for selected sets (coding by *,+)

Data type: QPAC-AUSWAHLMGE
Default: '*'
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_CODEGRUPPE - Filter for code groups (coding by *,+)

Data type: QPGR-CODEGRUPPE
Default: '*'
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_CODE - Filter for codes (coding by *,+)

Data type: QPCD-CODE
Default: '*'
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_SPRACHE - Language for texts

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

EXPORTING Parameters details for QPK1_SL_CODE_TREE

E_ROOT - Root Node

Data type: I
Optional: No
Call by Reference: Yes

E_LAST_LEAF - Last Node

Data type: I
Optional: No
Call by Reference: Yes

ET_TREETAB - Data for Node of Tree for Codes

Data type: QPK1_TT_NODEREC
Optional: No
Call by Reference: Yes

ET_QPK1AC - Table Type for QPK1AC

Data type: QPK1_TT_QPK1AC
Optional: No
Call by Reference: Yes

EXCEPTIONS details

NO_MATCH_IN_RANGE - No entries found

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

NO_USER_SELECTION - No entry was selected

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

OBJECT_LOCKED - Object is locked

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

LOCK_ERROR - Error Occurred During Locking

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

OBJECT_MISSING - Code not available

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

Copy and paste ABAP code example for QPK1_SL_CODE_TREE 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_e_root  TYPE I, "   
lv_i_katalogart  TYPE QPAC-KATALOGART, "   
lv_no_match_in_range  TYPE QPAC, "   
lv_i_werks  TYPE QPAM-WERKS, "   
lv_e_last_leaf  TYPE I, "   
lv_no_user_selection  TYPE I, "   
lv_et_treetab  TYPE QPK1_TT_NODEREC, "   
lv_i_auswahlmge  TYPE QPAC-AUSWAHLMGE, "   '*'
lv_object_locked  TYPE QPAC, "   
lv_et_qpk1ac  TYPE QPK1_TT_QPK1AC, "   
lv_lock_error  TYPE QPK1_TT_QPK1AC, "   
lv_i_codegruppe  TYPE QPGR-CODEGRUPPE, "   '*'
lv_i_code  TYPE QPCD-CODE, "   '*'
lv_object_missing  TYPE QPCD, "   
lv_i_sprache  TYPE SY-LANGU. "   SY-LANGU

  CALL FUNCTION 'QPK1_SL_CODE_TREE'  "Tree setup for selecting codes using selected sets
    EXPORTING
         I_KATALOGART = lv_i_katalogart
         I_WERKS = lv_i_werks
         I_AUSWAHLMGE = lv_i_auswahlmge
         I_CODEGRUPPE = lv_i_codegruppe
         I_CODE = lv_i_code
         I_SPRACHE = lv_i_sprache
    IMPORTING
         E_ROOT = lv_e_root
         E_LAST_LEAF = lv_e_last_leaf
         ET_TREETAB = lv_et_treetab
         ET_QPK1AC = lv_et_qpk1ac
    EXCEPTIONS
        NO_MATCH_IN_RANGE = 1
        NO_USER_SELECTION = 2
        OBJECT_LOCKED = 3
        LOCK_ERROR = 4
        OBJECT_MISSING = 5
. " QPK1_SL_CODE_TREE




ABAP code using 7.40 inline data declarations to call FM QPK1_SL_CODE_TREE

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 KATALOGART FROM QPAC INTO @DATA(ld_i_katalogart).
 
 
"SELECT single WERKS FROM QPAM INTO @DATA(ld_i_werks).
 
 
 
 
"SELECT single AUSWAHLMGE FROM QPAC INTO @DATA(ld_i_auswahlmge).
DATA(ld_i_auswahlmge) = '*'.
 
 
 
 
"SELECT single CODEGRUPPE FROM QPGR INTO @DATA(ld_i_codegruppe).
DATA(ld_i_codegruppe) = '*'.
 
"SELECT single CODE FROM QPCD INTO @DATA(ld_i_code).
DATA(ld_i_code) = '*'.
 
 
"SELECT single LANGU FROM SY INTO @DATA(ld_i_sprache).
DATA(ld_i_sprache) = SY-LANGU.
 


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!