mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 02:58:20 +08:00
fix generate shlp + messagepopover (#523)
* fix generate shlp + messagepopover * Update src/z2ui5_cl_xml_view.clas.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> * added dynamic call of function module * local decleration of shlp_descr type * abaplint - update table key * update max cyclic complexity * add abaplint fix --------- Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> Co-authored-by: oblomov <102328295+oblomov-dev@users.noreply.github.com>
This commit is contained in:
parent
54cd6bd34b
commit
db2b9f22db
|
@ -67,7 +67,7 @@
|
||||||
"cyclomatic_complexity": {
|
"cyclomatic_complexity": {
|
||||||
"exclude": [],
|
"exclude": [],
|
||||||
"severity": "Error",
|
"severity": "Error",
|
||||||
"max": 18
|
"max": 25
|
||||||
},
|
},
|
||||||
"dangerous_statement": true,
|
"dangerous_statement": true,
|
||||||
"db_operation_in_loop": true,
|
"db_operation_in_loop": true,
|
||||||
|
|
|
@ -599,8 +599,14 @@
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
||||||
METHODS message_popover
|
METHODS message_popover
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!items TYPE clike OPTIONAL
|
!items TYPE clike OPTIONAL
|
||||||
!groupitems TYPE clike OPTIONAL
|
!groupitems TYPE clike OPTIONAL
|
||||||
|
!listselect TYPE clike OPTIONAL
|
||||||
|
!activetitlepress TYPE clike OPTIONAL
|
||||||
|
!placement TYPE clike OPTIONAL
|
||||||
|
!afterclose TYPE clike OPTIONAL
|
||||||
|
!beforeclose TYPE clike OPTIONAL
|
||||||
|
!initiallyexpanded TYPE clike OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
||||||
METHODS message_item
|
METHODS message_item
|
||||||
|
@ -610,7 +616,11 @@
|
||||||
!subtitle TYPE clike OPTIONAL
|
!subtitle TYPE clike OPTIONAL
|
||||||
!description TYPE clike OPTIONAL
|
!description TYPE clike OPTIONAL
|
||||||
!groupname TYPE clike OPTIONAL
|
!groupname TYPE clike OPTIONAL
|
||||||
!markupdescription TYPE abap_bool OPTIONAL
|
!markupdescription TYPE clike OPTIONAL
|
||||||
|
!textDirection TYPE clike OPTIONAL
|
||||||
|
!longtextUrl TYPE clike OPTIONAL
|
||||||
|
!counter TYPE clike OPTIONAL
|
||||||
|
!activeTitle TYPE clike OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
||||||
METHODS page
|
METHODS page
|
||||||
|
@ -1928,6 +1938,7 @@
|
||||||
!searchevent TYPE clike OPTIONAL
|
!searchevent TYPE clike OPTIONAL
|
||||||
!isshlp TYPE any OPTIONAL
|
!isshlp TYPE any OPTIONAL
|
||||||
ircontroller TYPE REF TO object OPTIONAL
|
ircontroller TYPE REF TO object OPTIONAL
|
||||||
|
shlpid TYPE string OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view ##NEEDED.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view ##NEEDED.
|
||||||
|
|
||||||
|
@ -3108,11 +3119,15 @@ CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD message_item.
|
METHOD message_item.
|
||||||
result = _generic( name = `MessageItem`
|
result = _generic( name = `MessageItem`
|
||||||
t_prop = VALUE #( ( n = `type` v = type )
|
t_prop = VALUE #( ( n = `type` v = type )
|
||||||
( n = `title` v = title )
|
( n = `title` v = title )
|
||||||
( n = `subtitle` v = subtitle )
|
( n = `subtitle` v = subtitle )
|
||||||
( n = `description` v = description )
|
( n = `description` v = description )
|
||||||
( n = `groupName` v = groupname )
|
( n = `longtextUrl` v = longtextUrl )
|
||||||
|
( n = `textDirection` v = textDirection )
|
||||||
|
( n = `groupName` v = groupname )
|
||||||
|
( n = `activeTitle` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( activeTitle ) )
|
||||||
|
( n = `counter` v = counter )
|
||||||
( n = `markupDescription` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( markupdescription ) ) ) ).
|
( n = `markupDescription` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( markupdescription ) ) ) ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -3131,8 +3146,14 @@ CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD message_popover.
|
METHOD message_popover.
|
||||||
result = _generic( name = `MessagePopover`
|
result = _generic( name = `MessagePopover`
|
||||||
t_prop = VALUE #( ( n = `items` v = items )
|
t_prop = VALUE #( ( n = `items` v = items )
|
||||||
( n = `groupItems` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( groupitems ) ) ) ).
|
( n = `activeTitlePress` v = activetitlepress )
|
||||||
|
( n = `placement` v = placement )
|
||||||
|
( n = `listSelect` v = listselect )
|
||||||
|
( n = `afterClose` v = afterclose )
|
||||||
|
( n = `beforeClose` v = beforeClose )
|
||||||
|
( n = `initiallyExpanded` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( initiallyexpanded ) )
|
||||||
|
( n = `groupItems` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( groupitems ) ) ) ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -4603,69 +4624,146 @@ CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zfc_ddic_search_help.
|
METHOD zfc_ddic_search_help.
|
||||||
|
|
||||||
TYPES:
|
TYPES ty_fields TYPE SORTED TABLE OF char30 WITH UNIQUE KEY table_line.
|
||||||
BEGIN OF ty_ddshfprop,
|
|
||||||
fieldname(30) TYPE c,
|
|
||||||
shlpinput(1) TYPE c,
|
|
||||||
shlpoutput(1) TYPE c,
|
|
||||||
shlpselpos(2) TYPE n,
|
|
||||||
shlplispos(2) TYPE n,
|
|
||||||
shlpseldis(1) TYPE c,
|
|
||||||
defaultval(21) TYPE c,
|
|
||||||
END OF ty_ddshfprop.
|
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_ddfields,
|
BEGIN OF ty_ddshtextsearch,
|
||||||
tabname(30) TYPE c,
|
request(60) TYPE c,
|
||||||
fieldname(30) TYPE c,
|
fields TYPE ty_fields,
|
||||||
langu(1) TYPE c,
|
END OF ty_ddshtextsearch.
|
||||||
position(4) TYPE n,
|
|
||||||
offset(6) TYPE n,
|
|
||||||
domname(30) TYPE c,
|
TYPES:
|
||||||
rollname(30) TYPE c,
|
BEGIN OF ty_ddshselops,
|
||||||
checktable(30) TYPE c,
|
shlpname(30) TYPE c,
|
||||||
leng(6) TYPE n,
|
shlpfield(30) TYPE c,
|
||||||
intlen(6) TYPE n,
|
sign(1) TYPE c,
|
||||||
outputlen(6) TYPE n,
|
option(2) TYPE c,
|
||||||
decimals(6) TYPE n,
|
low(45) TYPE c,
|
||||||
datatype(4) TYPE c,
|
high(45) TYPE c,
|
||||||
inttype(1) TYPE c,
|
END OF ty_ddshselops.
|
||||||
reftable(30) TYPE c,
|
|
||||||
reffield(30) TYPE c,
|
TYPES t_ty_ddshselops TYPE TABLE OF ty_ddshselops WITH empty KEY.
|
||||||
precfield(30) TYPE c,
|
|
||||||
authorid(3) TYPE c,
|
TYPES:
|
||||||
memoryid(20) TYPE c,
|
BEGIN OF ty_ddshfprops,
|
||||||
logflag(1) TYPE c,
|
fieldname(30) TYPE c,
|
||||||
mask(20) TYPE c,
|
shlpinput(1) TYPE c,
|
||||||
masklen(4) TYPE n,
|
shlpoutput(1) TYPE c,
|
||||||
convexit(5) TYPE c,
|
shlpselpos(2) TYPE n,
|
||||||
headlen(2) TYPE n,
|
shlplispos(2) TYPE n,
|
||||||
scrlen1(2) TYPE n,
|
shlpseldis(1) TYPE c,
|
||||||
scrlen2(2) TYPE n,
|
defaultval(21) TYPE c,
|
||||||
scrlen3(2) TYPE n,
|
END OF ty_ddshfprops.
|
||||||
fieldtext(60) TYPE c,
|
|
||||||
reptext(55) TYPE c,
|
TYPES t_ty_ddshfprops TYPE TABLE OF ty_ddshfprops WITH empty KEY.
|
||||||
scrtext_s(10) TYPE c,
|
|
||||||
scrtext_m(20) TYPE c,
|
TYPES:
|
||||||
scrtext_l(40) TYPE c,
|
BEGIN OF ty_ddfields,
|
||||||
keyflag(1) TYPE c,
|
tabname(30) TYPE c,
|
||||||
lowercase(1) TYPE c,
|
fieldname(30) TYPE c,
|
||||||
mac(1) TYPE c,
|
langu(1) TYPE c,
|
||||||
genkey(1) TYPE c,
|
position(4) TYPE n,
|
||||||
noforkey(1) TYPE c,
|
offset(6) TYPE n,
|
||||||
valexi(1) TYPE c,
|
domname(30) TYPE c,
|
||||||
noauthch(1) TYPE c,
|
rollname(30) TYPE c,
|
||||||
sign(1) TYPE c,
|
checktable(30) TYPE c,
|
||||||
dynpfld(1) TYPE c,
|
leng(6) TYPE n,
|
||||||
f4availabl(1) TYPE c,
|
intlen(6) TYPE n,
|
||||||
comptype(1) TYPE c,
|
outputlen(6) TYPE n,
|
||||||
lfieldname(132) TYPE c,
|
decimals(6) TYPE n,
|
||||||
ltrflddis(1) TYPE c,
|
datatype(4) TYPE c,
|
||||||
bidictrlc(1) TYPE c,
|
inttype(1) TYPE c,
|
||||||
outputstyle(2) TYPE n,
|
reftable(30) TYPE c,
|
||||||
nohistory(1) TYPE c,
|
reffield(30) TYPE c,
|
||||||
ampmformat(1) TYPE c,
|
precfield(30) TYPE c,
|
||||||
END OF ty_ddfields.
|
authorid(3) TYPE c,
|
||||||
|
memoryid(20) TYPE c,
|
||||||
|
logflag(1) TYPE c,
|
||||||
|
mask(20) TYPE c,
|
||||||
|
masklen(4) TYPE n,
|
||||||
|
convexit(5) TYPE c,
|
||||||
|
headlen(2) TYPE n,
|
||||||
|
scrlen1(2) TYPE n,
|
||||||
|
scrlen2(2) TYPE n,
|
||||||
|
scrlen3(2) TYPE n,
|
||||||
|
fieldtext(60) TYPE c,
|
||||||
|
reptext(55) TYPE c,
|
||||||
|
scrtext_s(10) TYPE c,
|
||||||
|
scrtext_m(20) TYPE c,
|
||||||
|
scrtext_l(40) TYPE c,
|
||||||
|
keyflag(1) TYPE c,
|
||||||
|
lowercase(1) TYPE c,
|
||||||
|
mac(1) TYPE c,
|
||||||
|
genkey(1) TYPE c,
|
||||||
|
noforkey(1) TYPE c,
|
||||||
|
valexi(1) TYPE c,
|
||||||
|
noauthch(1) TYPE c,
|
||||||
|
sign(1) TYPE c,
|
||||||
|
dynpfld(1) TYPE c,
|
||||||
|
f4availabl(1) TYPE c,
|
||||||
|
comptype(1) TYPE c,
|
||||||
|
lfieldname(132) TYPE c,
|
||||||
|
ltrflddis(1) TYPE c,
|
||||||
|
bidictrlc(1) TYPE c,
|
||||||
|
outputstyle(2) TYPE n,
|
||||||
|
nohistory(1) TYPE c,
|
||||||
|
ampmformat(1) TYPE c,
|
||||||
|
END OF ty_ddfields.
|
||||||
|
|
||||||
|
TYPES t_ty_ddfields TYPE TABLE OF ty_ddfields WITH empty KEY.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_ddshifaces,
|
||||||
|
shlpfield(30) TYPE c,
|
||||||
|
valtabname(30) TYPE c,
|
||||||
|
valfield(132) TYPE c,
|
||||||
|
value(132) TYPE c,
|
||||||
|
internal(1) TYPE c,
|
||||||
|
dispfield(1) TYPE c,
|
||||||
|
f4field(1) TYPE c,
|
||||||
|
topshlpnam(30) TYPE c,
|
||||||
|
topshlpfld(30) TYPE c,
|
||||||
|
END OF ty_ddshifaces.
|
||||||
|
|
||||||
|
TYPES t_ty_ddshifaces TYPE TABLE OF ty_ddshifaces WITH empty KEY.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_intdescr,
|
||||||
|
issimple(1) TYPE c,
|
||||||
|
hotkey(1) TYPE c,
|
||||||
|
selmtype(1) TYPE c,
|
||||||
|
selmethod(30) TYPE c,
|
||||||
|
texttab(30) TYPE c,
|
||||||
|
selmexit(30) TYPE c,
|
||||||
|
dialogtype(1) TYPE c,
|
||||||
|
ddlanguage(1) TYPE c,
|
||||||
|
ddtext(60) TYPE c,
|
||||||
|
dialoginfo(1) TYPE c,
|
||||||
|
f4state(1) TYPE c,
|
||||||
|
tabname(30) TYPE c,
|
||||||
|
fieldname(30) TYPE c,
|
||||||
|
title(60) TYPE c,
|
||||||
|
history(1) TYPE c,
|
||||||
|
handle TYPE int4,
|
||||||
|
autosuggest(1) TYPE c,
|
||||||
|
fuzzy_search(1) TYPE c,
|
||||||
|
fuzzy_similarity(2) TYPE p DECIMALS 1,
|
||||||
|
END OF ty_intdescr.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_shlp_descr,
|
||||||
|
shlpname(30) TYPE c,
|
||||||
|
shlptype(2) TYPE c,
|
||||||
|
intdescr TYPE ty_intdescr,
|
||||||
|
interface TYPE t_ty_ddshifaces,
|
||||||
|
fielddescr TYPE t_ty_ddfields,
|
||||||
|
fieldprop TYPE t_ty_ddshfprops,
|
||||||
|
selopt TYPE t_ty_ddshselops,
|
||||||
|
textsearch TYPE ty_ddshtextsearch,
|
||||||
|
END OF ty_shlp_descr.
|
||||||
|
|
||||||
|
DATA ls_shlp TYPE ty_shlp_descr.
|
||||||
|
|
||||||
DATA: lv_grid_form_no TYPE i,
|
DATA: lv_grid_form_no TYPE i,
|
||||||
lt_arg TYPE string_table,
|
lt_arg TYPE string_table,
|
||||||
|
@ -4673,209 +4771,235 @@ CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
|
||||||
lv_cell_fieldname TYPE string,
|
lv_cell_fieldname TYPE string,
|
||||||
lv_path_result_itab TYPE string,
|
lv_path_result_itab TYPE string,
|
||||||
lv_path_shlp_fields TYPE string,
|
lv_path_shlp_fields TYPE string,
|
||||||
lt_fieldprop_sel TYPE STANDARD TABLE OF ty_ddshfprop WITH EMPTY KEY,
|
lt_fieldprop_sel TYPE STANDARD TABLE OF ty_ddshfprops WITH EMPTY KEY,
|
||||||
lt_fieldprop_lis TYPE STANDARD TABLE OF ty_ddshfprop WITH EMPTY KEY,
|
lt_fieldprop_lis TYPE STANDARD TABLE OF ty_ddshfprops WITH EMPTY KEY,
|
||||||
lt_ddffields TYPE STANDARD TABLE OF ty_ddfields WITH EMPTY KEY.
|
lt_ddffields TYPE STANDARD TABLE OF ty_ddfields WITH EMPTY KEY,
|
||||||
|
shlp_id(30) TYPE c.
|
||||||
|
|
||||||
FIELD-SYMBOLS:
|
FIELD-SYMBOLS:
|
||||||
<lt_result_itab> TYPE ANY TABLE,
|
<lt_result_itab> TYPE ANY TABLE,
|
||||||
<ls_shlp_fields> TYPE any,
|
<ls_shlp_fields> TYPE any,
|
||||||
<lv_field> TYPE any.
|
<lv_field> TYPE any.
|
||||||
|
|
||||||
* ---------- Get result itab reference ------------------------------------------------------------
|
* ---------- Get result itab reference ------------------------------------------------------------
|
||||||
lv_path_result_itab = 'IRCONTROLLER->' && resultitabname.
|
lv_path_result_itab = 'IRCONTROLLER->' && resultitabname.
|
||||||
ASSIGN (lv_path_result_itab) TO <lt_result_itab>.
|
ASSIGN (lv_path_result_itab) TO <lt_result_itab>.
|
||||||
* ---------- Get searchhelp input fields structure reference --------------------------------------
|
* ---------- Get searchhelp input fields structure reference --------------------------------------
|
||||||
lv_path_shlp_fields = 'IRCONTROLLER->' && shlpfieldsstrucname.
|
lv_path_shlp_fields = 'IRCONTROLLER->' && shlpfieldsstrucname.
|
||||||
ASSIGN (lv_path_shlp_fields) TO <ls_shlp_fields>.
|
ASSIGN (lv_path_shlp_fields) TO <ls_shlp_fields>.
|
||||||
|
|
||||||
IF <lt_result_itab> IS NOT ASSIGNED OR
|
IF <lt_result_itab> IS NOT ASSIGNED OR
|
||||||
<ls_shlp_fields> IS NOT ASSIGNED.
|
<ls_shlp_fields> IS NOT ASSIGNED.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF isshlp IS INITIAL.
|
IF isshlp IS INITIAL.
|
||||||
RETURN.
|
TRY.
|
||||||
ELSE.
|
shlp_id = shlpid.
|
||||||
ASSIGN COMPONENT 'FIELDPROP' OF STRUCTURE isshlp TO FIELD-SYMBOL(<fs_fieldprop>).
|
|
||||||
IF <fs_fieldprop> IS NOT ASSIGNED.
|
data(lv_function) = `F4IF_GET_SHLP_DESCR`.
|
||||||
RETURN.
|
"get shlp data
|
||||||
ENDIF.
|
CALL FUNCTION lv_function
|
||||||
ENDIF.
|
EXPORTING
|
||||||
|
shlpname = shlp_id
|
||||||
|
IMPORTING
|
||||||
|
shlp = ls_shlp.
|
||||||
|
CATCH cx_root.
|
||||||
|
RETURN.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
lt_fieldprop_sel = ls_shlp-fieldprop.
|
||||||
|
lt_fieldprop_lis = ls_shlp-fieldprop.
|
||||||
|
|
||||||
|
ELSE.
|
||||||
|
|
||||||
|
ASSIGN COMPONENT 'FIELDPROP' OF STRUCTURE isshlp TO FIELD-SYMBOL(<fs_fieldprop>).
|
||||||
|
IF <fs_fieldprop> IS NOT ASSIGNED.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
lt_fieldprop_sel = <fs_fieldprop>.
|
||||||
|
lt_fieldprop_lis = <fs_fieldprop>.
|
||||||
|
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
* ---------- Set Selection and List properties ----------------------------------------------------
|
* ---------- Set Selection and List properties ----------------------------------------------------
|
||||||
lt_fieldprop_sel = <fs_fieldprop>.
|
|
||||||
lt_fieldprop_lis = <fs_fieldprop>.
|
|
||||||
DELETE lt_fieldprop_sel WHERE shlpselpos IS INITIAL.
|
|
||||||
DELETE lt_fieldprop_lis WHERE shlplispos IS INITIAL.
|
|
||||||
SORT lt_fieldprop_sel BY shlpselpos.
|
|
||||||
SORT lt_fieldprop_lis BY shlplispos.
|
|
||||||
|
|
||||||
ASSIGN COMPONENT 'FIELDDESCR' OF STRUCTURE isshlp TO FIELD-SYMBOL(<fs_isshlp_fielddescr>).
|
DELETE lt_fieldprop_sel WHERE shlpselpos IS INITIAL.
|
||||||
IF <fs_isshlp_fielddescr> IS NOT ASSIGNED.
|
DELETE lt_fieldprop_lis WHERE shlplispos IS INITIAL.
|
||||||
RETURN.
|
SORT lt_fieldprop_sel BY shlpselpos.
|
||||||
ENDIF.
|
SORT lt_fieldprop_lis BY shlplispos.
|
||||||
lt_ddffields = <fs_isshlp_fielddescr>.
|
|
||||||
|
|
||||||
|
IF ls_shlp IS NOT INITIAL.
|
||||||
|
field-symbols <fs_isshlp_fielddescr> type standard table.
|
||||||
|
ASSIGN COMPONENT 'FIELDDESCR' OF STRUCTURE ls_shlp TO <fs_isshlp_fielddescr>.
|
||||||
|
ELSE.
|
||||||
|
ASSIGN COMPONENT 'FIELDDESCR' OF STRUCTURE isshlp TO <fs_isshlp_fielddescr>.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF <fs_isshlp_fielddescr> IS NOT ASSIGNED.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
lt_ddffields = <fs_isshlp_fielddescr>.
|
||||||
* -------------------------------------------------------------------------------------------------
|
* -------------------------------------------------------------------------------------------------
|
||||||
*Searchfield Grid
|
*Searchfield Grid
|
||||||
* -------------------------------------------------------------------------------------------------
|
* -------------------------------------------------------------------------------------------------
|
||||||
DATA(lr_grid_shlp) = irparent->content( )->toolbar( )->toolbar_spacer(
|
DATA(lr_grid_shlp) = irparent->content( )->toolbar( )->toolbar_spacer(
|
||||||
)->button( text = searchbuttontext
|
)->button( text = searchbuttontext
|
||||||
type = 'Emphasized'
|
type = 'Emphasized'
|
||||||
press = irclient->_event( searchevent ) )->get_parent(
|
press = irclient->_event( searchevent ) )->get_parent(
|
||||||
)->grid( 'L3 M3 S3' )->content( 'layout' ).
|
)->grid( 'L3 M3 S3' )->content( 'layout' ).
|
||||||
|
|
||||||
* ---------- Create 4 forms (grid columns) --------------------------------------------------------
|
* ---------- Create 4 forms (grid columns) --------------------------------------------------------
|
||||||
DATA(lr_form_shlp_1) = lr_grid_shlp->simple_form( )->content( 'form' ).
|
DATA(lr_form_shlp_1) = lr_grid_shlp->simple_form( )->content( 'form' ).
|
||||||
DATA(lr_form_shlp_2) = lr_grid_shlp->simple_form( )->content( 'form' ).
|
DATA(lr_form_shlp_2) = lr_grid_shlp->simple_form( )->content( 'form' ).
|
||||||
DATA(lr_form_shlp_3) = lr_grid_shlp->simple_form( )->content( 'form' ).
|
DATA(lr_form_shlp_3) = lr_grid_shlp->simple_form( )->content( 'form' ).
|
||||||
DATA(lr_form_shlp_4) = lr_grid_shlp->simple_form( )->content( 'form' ).
|
DATA(lr_form_shlp_4) = lr_grid_shlp->simple_form( )->content( 'form' ).
|
||||||
|
|
||||||
LOOP AT lt_fieldprop_sel ASSIGNING FIELD-SYMBOL(<ls_fieldprop_sel>).
|
LOOP AT lt_fieldprop_sel ASSIGNING FIELD-SYMBOL(<ls_fieldprop_sel>).
|
||||||
* ---------- Init loop data -----------------------------------------------------------------------
|
* ---------- Init loop data -----------------------------------------------------------------------
|
||||||
UNASSIGN: <lv_field>.
|
UNASSIGN: <lv_field>.
|
||||||
* ---------- Get corresponding field description --------------------------------------------------
|
* ---------- Get corresponding field description --------------------------------------------------
|
||||||
ASSIGN lt_ddffields[ fieldname = <ls_fieldprop_sel>-fieldname ] TO FIELD-SYMBOL(<ls_fielddescr>).
|
ASSIGN lt_ddffields[ fieldname = <ls_fieldprop_sel>-fieldname ] TO FIELD-SYMBOL(<ls_fielddescr>).
|
||||||
|
|
||||||
IF <ls_fielddescr> IS NOT ASSIGNED.
|
IF <ls_fielddescr> IS NOT ASSIGNED.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
* ---------- Get field reference ------------------------------------------------------------------
|
* ---------- Get field reference ------------------------------------------------------------------
|
||||||
ASSIGN COMPONENT <ls_fielddescr>-fieldname OF STRUCTURE <ls_shlp_fields> TO <lv_field>.
|
ASSIGN COMPONENT <ls_fielddescr>-fieldname OF STRUCTURE <ls_shlp_fields> TO <lv_field>.
|
||||||
IF <lv_field> IS NOT ASSIGNED.
|
IF <lv_field> IS NOT ASSIGNED.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
* ---------- Determine grid form number -----------------------------------------------------------
|
* ---------- Determine grid form number -----------------------------------------------------------
|
||||||
IF lv_grid_form_no IS INITIAL.
|
IF lv_grid_form_no IS INITIAL.
|
||||||
lv_grid_form_no = 1.
|
lv_grid_form_no = 1.
|
||||||
ELSEIF lv_grid_form_no = 4.
|
ELSEIF lv_grid_form_no = 4.
|
||||||
lv_grid_form_no = 1.
|
lv_grid_form_no = 1.
|
||||||
ELSE.
|
ELSE.
|
||||||
lv_grid_form_no = lv_grid_form_no + 1.
|
lv_grid_form_no = lv_grid_form_no + 1.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CASE lv_grid_form_no.
|
CASE lv_grid_form_no.
|
||||||
WHEN 1.
|
WHEN 1.
|
||||||
* ---------- Grid 1--------------------------------------------------------------------------------
|
* ---------- Grid 1--------------------------------------------------------------------------------
|
||||||
* ---------- Set field label ----------------------------------------------------------------------
|
* ---------- Set field label ----------------------------------------------------------------------
|
||||||
lr_form_shlp_1->label( <ls_fielddescr>-scrtext_l ).
|
lr_form_shlp_1->label( <ls_fielddescr>-scrtext_l ).
|
||||||
|
|
||||||
* ---------- Set input field ----------------------------------------------------------------------
|
* ---------- Set input field ----------------------------------------------------------------------
|
||||||
CASE <ls_fielddescr>-datatype.
|
CASE <ls_fielddescr>-datatype.
|
||||||
WHEN 'DATS'.
|
WHEN 'DATS'.
|
||||||
lr_form_shlp_1->date_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_1->date_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
WHEN 'TIMS'.
|
WHEN 'TIMS'.
|
||||||
lr_form_shlp_1->time_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_1->time_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
lr_form_shlp_1->input( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_1->input( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
WHEN 2.
|
WHEN 2.
|
||||||
* ---------- Grid 2--------------------------------------------------------------------------------
|
* ---------- Grid 2--------------------------------------------------------------------------------
|
||||||
* ---------- Set field label ----------------------------------------------------------------------
|
* ---------- Set field label ----------------------------------------------------------------------
|
||||||
lr_form_shlp_2->label( <ls_fielddescr>-rollname ).
|
lr_form_shlp_2->label( <ls_fielddescr>-scrtext_l ).
|
||||||
|
|
||||||
* ---------- Set input field ----------------------------------------------------------------------
|
* ---------- Set input field ----------------------------------------------------------------------
|
||||||
CASE <ls_fielddescr>-datatype.
|
CASE <ls_fielddescr>-datatype.
|
||||||
WHEN 'DATS'.
|
WHEN 'DATS'.
|
||||||
lr_form_shlp_2->date_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_2->date_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
WHEN 'TIMS'.
|
WHEN 'TIMS'.
|
||||||
lr_form_shlp_2->time_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_2->time_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
lr_form_shlp_2->input( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_2->input( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
WHEN 3.
|
WHEN 3.
|
||||||
* ---------- Grid 3--------------------------------------------------------------------------------
|
* ---------- Grid 3--------------------------------------------------------------------------------
|
||||||
* ---------- Set field label ----------------------------------------------------------------------
|
* ---------- Set field label ----------------------------------------------------------------------
|
||||||
lr_form_shlp_3->label( <ls_fielddescr>-rollname ).
|
lr_form_shlp_3->label( <ls_fielddescr>-scrtext_l ).
|
||||||
|
|
||||||
* ---------- Set input field ----------------------------------------------------------------------
|
* ---------- Set input field ----------------------------------------------------------------------
|
||||||
CASE <ls_fielddescr>-datatype.
|
CASE <ls_fielddescr>-datatype.
|
||||||
WHEN 'DATS'.
|
WHEN 'DATS'.
|
||||||
lr_form_shlp_3->date_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_3->date_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
WHEN 'TIMS'.
|
WHEN 'TIMS'.
|
||||||
lr_form_shlp_3->time_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_3->time_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
lr_form_shlp_3->input( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_3->input( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
WHEN 4.
|
WHEN 4.
|
||||||
* ---------- Grid 4--------------------------------------------------------------------------------
|
* ---------- Grid 4--------------------------------------------------------------------------------
|
||||||
* ---------- Set field label ----------------------------------------------------------------------
|
* ---------- Set field label ----------------------------------------------------------------------
|
||||||
lr_form_shlp_4->label( <ls_fielddescr>-rollname ).
|
lr_form_shlp_4->label( <ls_fielddescr>-scrtext_l ).
|
||||||
|
|
||||||
* ---------- Set input field ----------------------------------------------------------------------
|
* ---------- Set input field ----------------------------------------------------------------------
|
||||||
CASE <ls_fielddescr>-datatype.
|
CASE <ls_fielddescr>-datatype.
|
||||||
WHEN 'DATS'.
|
WHEN 'DATS'.
|
||||||
lr_form_shlp_4->date_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_4->date_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
WHEN 'TIMS'.
|
WHEN 'TIMS'.
|
||||||
lr_form_shlp_4->time_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_4->time_picker( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
lr_form_shlp_4->input( value = irclient->_bind_edit( <lv_field> ) ).
|
lr_form_shlp_4->input( value = irclient->_bind_edit( <lv_field> ) ).
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
UNASSIGN <ls_fielddescr>.
|
UNASSIGN <ls_fielddescr>.
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
* ---------- Create table -------------------------------------------------------------------------
|
* ---------- Create table -------------------------------------------------------------------------
|
||||||
DATA(lr_table) = irparent->table( items = irclient->_bind_edit( <lt_result_itab> ) ).
|
DATA(lr_table) = irparent->table( items = irclient->_bind_edit( <lt_result_itab> ) ).
|
||||||
* ---------- Create Columns -----------------------------------------------------------------------
|
* ---------- Create Columns -----------------------------------------------------------------------
|
||||||
DATA(lr_columns) = lr_table->columns( ).
|
DATA(lr_columns) = lr_table->columns( ).
|
||||||
|
|
||||||
* ---------- Set column ---------------------------------------------------------------------------
|
* ---------- Set column ---------------------------------------------------------------------------
|
||||||
LOOP AT lt_fieldprop_lis ASSIGNING FIELD-SYMBOL(<ls_fieldprop_lis>).
|
LOOP AT lt_fieldprop_lis ASSIGNING FIELD-SYMBOL(<ls_fieldprop_lis>).
|
||||||
* ---------- Init loop data -----------------------------------------------------------------------
|
* ---------- Init loop data -----------------------------------------------------------------------
|
||||||
UNASSIGN: <ls_fielddescr>.
|
UNASSIGN: <ls_fielddescr>.
|
||||||
|
|
||||||
* ---------- Get corresponding field description --------------------------------------------------
|
* ---------- Get corresponding field description --------------------------------------------------
|
||||||
ASSIGN lt_ddffields[ fieldname = <ls_fieldprop_lis>-fieldname ] TO <ls_fielddescr>.
|
ASSIGN lt_ddffields[ fieldname = <ls_fieldprop_lis>-fieldname ] TO <ls_fielddescr>.
|
||||||
IF <ls_fielddescr> IS NOT ASSIGNED.
|
IF <ls_fielddescr> IS NOT ASSIGNED.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lr_columns->column( )->text( <ls_fielddescr>-rollname ).
|
lr_columns->column( )->text( <ls_fielddescr>-scrtext_l ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
* ---------- Build export parameter list ----------------------------------------------------------
|
* ---------- Build export parameter list ----------------------------------------------------------
|
||||||
LOOP AT lt_fieldprop_lis ASSIGNING <ls_fieldprop_lis> WHERE shlpoutput = abap_true.
|
LOOP AT lt_fieldprop_lis ASSIGNING <ls_fieldprop_lis> WHERE shlpoutput = abap_true.
|
||||||
* ---------- Init loop data -----------------------------------------------------------------------
|
* ---------- Init loop data -----------------------------------------------------------------------
|
||||||
CLEAR: lv_arg_fieldname.
|
CLEAR: lv_arg_fieldname.
|
||||||
|
|
||||||
* ---------- Build parameter name -----------------------------------------------------------------
|
* ---------- Build parameter name -----------------------------------------------------------------
|
||||||
lv_arg_fieldname = `${` && <ls_fieldprop_lis>-fieldname && `}`.
|
lv_arg_fieldname = `${` && <ls_fieldprop_lis>-fieldname && `}`.
|
||||||
|
|
||||||
* ---------- Collect output fields ----------------------------------------------------------------
|
* ---------- Collect output fields ----------------------------------------------------------------
|
||||||
APPEND lv_arg_fieldname TO lt_arg.
|
APPEND lv_arg_fieldname TO lt_arg.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
DATA(lr_item) = lr_table->items(
|
DATA(lr_item) = lr_table->items(
|
||||||
)->column_list_item( type = 'Navigation' press = irclient->_event( val = resultitabevent
|
)->column_list_item( type = 'Navigation' press = irclient->_event( val = resultitabevent
|
||||||
t_arg = lt_arg ) ).
|
t_arg = lt_arg ) ).
|
||||||
|
|
||||||
* ---------- Set cell content ---------------------------------------------------------------------
|
* ---------- Set cell content ---------------------------------------------------------------------
|
||||||
LOOP AT lt_fieldprop_lis ASSIGNING <ls_fieldprop_lis>.
|
LOOP AT lt_fieldprop_lis ASSIGNING <ls_fieldprop_lis>.
|
||||||
* ---------- Init loop data -----------------------------------------------------------------------
|
* ---------- Init loop data -----------------------------------------------------------------------
|
||||||
CLEAR: lv_cell_fieldname.
|
CLEAR: lv_cell_fieldname.
|
||||||
|
|
||||||
* ---------- Build cell name ----------------------------------------------------------------------
|
* ---------- Build cell name ----------------------------------------------------------------------
|
||||||
lv_cell_fieldname = `{` && <ls_fieldprop_lis>-fieldname && `}`.
|
lv_cell_fieldname = `{` && <ls_fieldprop_lis>-fieldname && `}`.
|
||||||
lr_item->cells( )->text( lv_cell_fieldname ).
|
lr_item->cells( )->text( lv_cell_fieldname ).
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
lr_grid_shlp = irparent->buttons( )->button(
|
lr_grid_shlp = irparent->buttons( )->button(
|
||||||
text = closebuttontext
|
text = closebuttontext
|
||||||
press = irclient->_event_client( irclient->cs_event-popup_close ) ).
|
press = irclient->_event_client( irclient->cs_event-popup_close ) ).
|
||||||
|
|
||||||
|
|
||||||
result = lr_grid_shlp.
|
result = lr_grid_shlp.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user