Hallo liebe ABAPler,
ich habe für unsere User eine Suchhilfe angelegt, wo diese zukünftig aus unserem Qualifikationskatalog mehrere Qualifikationen auswählen können.
Leider ist es mir nicht möglich, aus dem Suchhilfe-Exit mehr als eine Qualifikationen an das Select-Option Feld zurückzugeben.
Wenn der User mehr als eine Qualifikation auswählt, wird nur immer die letzte gewählte QK in das Select-Option Feld übergeben.
Meine Coding im Suchhilfe-Exit sieht momentan wie folgt aus:
-----------------------------------------------------------------------------------------------
FUNCTION ztest.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" EXPORTING
*" REFERENCE(ET_SHLP_TAB) TYPE SHLP_DESCR_TAB_T
*" REFERENCE(ET_RECORD_TAB) TYPE DDSHRESLTS
*" TABLES
*" SHLP_TAB TYPE SHLP_DESCR_TAB_T
*" RECORD_TAB STRUCTURE SEAHLPRES
*" CHANGING
*" VALUE(SHLP) TYPE SHLP_DESCR_T
*" VALUE(CALLCONTROL) LIKE DDSHF4CTRL STRUCTURE DDSHF4CTRL
*"----------------------------------------------------------------------
TYPES:
BEGIN OF ty_s_record,
sobid TYPE sobid,
END OF ty_s_record.
DATA: lt_selected_objects TYPE TABLE OF hrsobid.
FIELD-SYMBOLS: <s_lt_selected_objects> LIKE LINE OF lt_selected_objects,
<s_record> TYPE ty_s_record,
<s_shlp_tab> LIKE LINE OF shlp_tab,
<s_shlp_tab-selop> LIKE LINE OF shlp_tab-selopt,
<s_et_record_tab> LIKE LINE OF et_record_tab,
<s_record_tab> LIKE LINE OF record_tab.
IF callcontrol-step = 'SELECT'.
callcontrol-multisel = 'X'.
** callcontrol-sortoff = true.
*
CALL FUNCTION 'RHPE_SHOW_QUALI_CATALOGUE'
EXPORTING
plvar = '01'
begda = sy-datum
endda = '99991231'
popup = 'X'
maintain = ' '
TABLES
selected_objects = lt_selected_objects
EXCEPTIONS
no_authority = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*
LOOP AT lt_selected_objects ASSIGNING <s_lt_selected_objects>.
APPEND INITIAL LINE TO record_tab ASSIGNING <s_record> CASTING.
<s_record>-sobid = <s_lt_selected_objects>-sobid.
ENDLOOP.
callcontrol-hide_list = 'X'.
callcontrol-step = 'DISP'.
ENDIF.
ENDFUNCTION.
----------------------------------------------------------------------------------------
Weiß evtl. einer von euch, was ich hier falsch mache bzw. was ich hier noch tun muss?
Da es die Möglichkeit einer Mehrfachselektion gibt, muss dies ja funktionieren...
Es wäre super nett, wenn mir hier jemand weiterhelfen könnte!
Vielen Dank im Voraus!
Viele Grüße,
Walda33
Zuletzt geändert von
walda33 am 07.04.2021 10:43, insgesamt 1-mal geändert.