Can I use Docking container in Subscreen
Hi Friends,
I have used Docking container in subscreen,its instance is getting created ,but i am unable to view it .
So,can I use docking container in Subscreen?
Hi Bujji,
here is the code is have used for creating docking container.
pls,check it once
IF ref_members_container IS INITIAL.
lt_fldcat = ref_matrix->mt_sxxx_keys.
CREATE OBJECT ref_members_container
EXPORTING
PARENT =
REPID =
dynnr = c_screen-new_member
side = lc_dock_side
extension = 300
lifetime = 1 " Life time screen
ratio = '95'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
others = 6.
CREATE OBJECT ref_members_grid
EXPORTING
i_parent = ref_members_container
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
others = 5.
ls_layout-zebra = c_true.
ls_layout-sel_mode = 'A'. " Multiple Selection
CALL METHOD ref_members_grid->set_table_for_first_display
EXPORTING
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
is_layout = ls_layout
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
IT_ALV_GRAPHICS =
CHANGING
it_outtab = <lt_keys>
it_fieldcatalog = lt_fldcat
IT_SORT =
IT_FILTER =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
ELSE.
CALL METHOD ref_members_grid->tables_display_refresh
CHANGING
it_outtab = <lt_keys>.
ENDIF.
Similar Messages
-
Docking Container inside Subscreens
Hi Experts,
I have simple question. In a program of mine there is subscreen which eventually goes into a tabstrip control. I want to create a docking container inside this subscreen. So the docking container appears inside the tabsrip control.
I can create a docking container in a normal screen. I want to know how to do the same in a subscreen. Please advise me on this,@ Vindika
Sorry, but this is not possible. Everyone who doesn't say so would need to show the code for proof. Once I tried various ways of achieving that. With confidence I can say: you can't embed docking container within subscren. I have also never seen anyone here who could complete this. You need either different container or screen type to make this combination work.
@ Anand
Sorry, but this post doesn't prove anything. Simple saying "I tested the solution with subscreen and it is OK" without publishing the code is worth not too much for me.
Regards
Marcin -
Restrict resizing while using Docking Container
All,
How can we restrict the resizing the docking container with class GL_CUI_DOCKING_CONTAINER. Currently it is displaying in full screen. but donot want user to resize the SCREEN.
create object g_docking_container
exporting
repid = g_repid
dynnr = '300'
extension = 99999
side = cl_gui_docking_container=>dock_at_right.
a®Hi,
Don't know how to do this for docking container but you can use splitter container instead and remove the option for resizing it.
r_split_container->set_row_sash( id = 1
type = me->r_split_container->type_movable
value = me->r_split_container->false ).
Regards
Marcin -
OOPS ALV using Docking container
Hi,
I am trying to use ALV using oops concept, but the report is not displaying the ALV grid.
{please let me know if there are any error.
Edited by: Arunsri on Jun 3, 2010 5:42 PM
Edited by: Rob Burbank on Jun 3, 2010 11:57 AMdata : alv_container type ref to cl_gui_docking_container.
data : alv_grid type ref to cl_gui_alv_grid.
data : layout type lvc_s_layo.
data : variant type disvariant.
check alv_container is initial.
CREATE OBJECT alv_container
EXPORTING
* parent =
repid = sy-repid
dynnr = sy-dynnr
side = alv_container->dock_at_left
* extension = 1550
* style =
* lifetime = lifetime_default
* caption =
* metric = 0
* ratio = '95'
* no_autodef_progid_dynnr =
* name =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*- Make the docking container as parent to the grid
CREATE OBJECT alv_grid
EXPORTING
i_parent = alv_container
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* layout-zebra = 'X'.
PERFORM build_fieldcat.
variant-report = sy-repid.
*- Call grid for display
CALL METHOD alv_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'WT_TEST'
is_variant = variant
i_save = 'A'
* is_layout = layout
CHANGING
it_outtab = WT_TEST
it_fieldcatalog = wt_fcat_log
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. -
Docking container in a subscreeen
hy gurus, got an issue on the putting a docking container in a subscreen.
the subscreen doesn't display.
I've created a dynpro 202 as subscreen ,
i've created a custom container( GO_CONTAINER_OBJECT) in the dynpro 202.
in the main dynpro (200)
i have in the pbo and pai
pbo
CALL SUBSCREEN sub_202 INCLUDING 'SAPMZPMCMO' '0202'.
pai.
CALL SUBSCREEN sub_202.
in the pbo of 202 i have.
MODULE tree_and_docking.
MODULE alv_display.
module tree_and_docking.
* container for alv-tree
CREATE OBJECT:
go_container_object
EXPORTING
side = cl_gui_docking_container=>dock_at_bottom
repid = sy-repid
ratio = '40'
extension = 250
dynnr = '0202',
go_splitter
EXPORTING parent = go_container_object
rows = 1
columns = 2.
CALL METHOD:
go_splitter->set_border
EXPORTING border = space,
go_splitter->get_container
EXPORTING row = 1
column = 1
RECEIVING container = dock_sub_cont1,
go_splitter->set_row_height
EXPORTING id = 1
height = '30',
go_splitter->set_column_width
EXPORTING id = 1
width = '20',
go_splitter->get_container
EXPORTING row = 1
column = 2
RECEIVING container = dock_sub_cont2,
go_splitter->set_column_width
EXPORTING id = 2
width = '100'.
etc...
but nothing is displaying when i call the screen.
Did i miss something?
Edited by: EBONGUE ANDRE on Oct 5, 2010 5:59 PMI guess you can't mix docking container with subscreen. How would that look like (docked at bottom of subscreen's?). No this can't be used like that. Use custom container instead.
@Uwe
I got used to this little yellow sign next to your name. How that happens that their take it away from you? I thought SAP Mentor honor is granted forever.
Regards
Marcin -
Docking Container and CL_SALV_TREE
Hi,
i get problems with this code.
i'm using docking container, not customer container.
CREATE OBJECT GR_DCONTAINER
EXPORTING
PARENT = CL_GUI_CONTAINER=>SCREEN0
SIDE = CL_GUI_DOCKING_CONTAINER=>DOCK_AT_LEFT
RATIO = 90.
PERFORM DYNP_SPLITTEN.
CREATE OBJECT GR_ALVGRID_RIGHT
EXPORTING
I_PARENT = O_PARENT_GRID_RIGHT.
TRY.
CL_SALV_TREE=>FACTORY(
EXPORTING
R_CONTAINER = O_PARENT_GRID_RIGHT
IMPORTING
R_SALV_TREE = GR_TREE
CHANGING
T_TABLE = ITAB ).
<b> CATCH CX_SALV_NO_NEW_DATA_ALLOWED CX_SALV_ERROR.
EXIT.</b>
ENDTRY.
i get the catch-event and the report ends.
Question: Does the ALV-TREE need customer container or can
i use docking container (how??).
thanks for help.
Regards DieterSure, in this case, it is impelmented in a docking container hanging from a selection screen, but it is pretty much the same as hanging off a dynpro.
REPORT zrich_0001.
DATA: gt_outtab1 TYPE TABLE OF sflight,
gt_outtab2 TYPE TABLE OF sflight.
DATA: ls_outtab TYPE sflight.
DATA: gr_tree TYPE REF TO cl_salv_tree.
DATA: nodes TYPE REF TO cl_salv_nodes,
node TYPE REF TO cl_salv_node.
DATA: docking TYPE REF TO cl_gui_docking_container.
PARAMETERS: p_check.
AT SELECTION-SCREEN OUTPUT.
CREATE OBJECT docking
EXPORTING
* PARENT = CL_GUI_CONTAINER=>SCREEN0
side = cl_gui_docking_container=>dock_at_left
ratio = 90.
*... Select Data
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_outtab1 UP TO 5 ROWS.
*... Create Instance with an Empty Table
CALL METHOD cl_salv_tree=>factory
EXPORTING
r_container = docking
IMPORTING
r_salv_tree = gr_tree
CHANGING
t_table = gt_outtab2.
*... Add the Nodes to the Tree
nodes = gr_tree->get_nodes( ).
LOOP AT gt_outtab1 INTO ls_outtab.
TRY.
node = nodes->add_node( related_node = ' '
relationship = cl_gui_column_tree=>relat_first_child ).
node->set_data_row( ls_outtab ).
CATCH cx_salv_msg.
ENDTRY.
ENDLOOP.
*... Display Table
gr_tree->display( ).
Regards,
RIch Heilman -
Assign subscreen to docking container
Hi All,
I have requirement to make the subscreen of mainscreen draggable/reziable. Very much similar to se80.
I have two subscreens in main screen. Now I need to give this reziable functionality to one of the subscreen .
This can be achieved through docking container. But currently I am not using any containers.
If suppose I have to use docking container then how will i assign this subscreen of main screen to docking container.
Please suggest.
Thanks.Thanks Naimesh.
I have tabstrip and subscreen inside it. For each tabstrip click we display different table controls which are again designed in different screens as subscreen. Now how will I make this subscreen in Main screen resizable. -
Background Execution Problem-Docking Container with 2 ALV Grids in one scre
Hi Friends,
I have created 2 ALV Grids in one screen - one below another using DOCKING CONTAINER.
The objects are 'g_dock_cont' and 'g_dock_cont1'.
I am getting the foreground output as expected with 2 ALV Grids.
While executing in background (F9), I am getting only output of first ALV grid. Second ALV is not getting displayed in BACKGROUND(F9) mode.
How to solve this.
FORM create_objects.
* Materials with data
IF g_dock_cont IS INITIAL.
IF sy-batch NE 'X'.
*CREATE THE OBJECT FOR DOCKING CONTAINER
CREATE OBJECT g_dock_cont
EXPORTING
side = cl_gui_docking_container=>dock_at_top
extension = 300.
ENDIF.
*CREATE THE OBJECT FOR ALV GRID
CREATE OBJECT g_alvgrid
EXPORTING i_parent = g_dock_cont.
wa_layout-grid_title =
'Materials with Data'.
ENDIF.
IF NOT I_DETAIL[] IS INITIAL.
CALL METHOD g_alvgrid->set_table_for_first_display
EXPORTING
IS_VARIANT = WA_VARIANT_STX
IS_LAYOUT = wa_layout
CHANGING
it_outtab = I_DETAIL
IT_FIELDCATALOG = LIT_FIELDCATALOG[]
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4
IF sy-subrc <> 0.
ENDIF.
ENDIF.
*MATERIALS WITHOUT DATA
IF g_dock_cont1 IS INITIAL.
IF sy-batch NE 'X'.
*CREATE THE OBJECT FOR DOCKING CONTAINER
CREATE OBJECT g_dock_cont1
EXPORTING
side = cl_gui_docking_container=>dock_at_bottom
extension = 300.
ENDIF.
*CREATE THE OBJECT FOR ALV GRID
CREATE OBJECT g_alvgrid1
EXPORTING i_parent = g_dock_cont1.
wa_layout1-grid_title =
'Materials without Data'.
ENDIF.
IF NOT I_MARA[] IS INITIAL.
CALL METHOD g_alvgrid1->set_table_for_first_display
EXPORTING
IS_LAYOUT = wa_layout1
CHANGING
it_outtab = I_MARA
IT_FIELDCATALOG = i_fieldcat[]
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDFORM. " create_objects
Regards,
Viji.Hi,
What i was saying is that you need to code again for background mode of execution.
AT END OF SELECTION.
IF SY-BATCH EQ 'X'.
PERFORM DISPLAY1.
PERFORM DISPLAY2.
In DISPLAY1 use REUSE_ALV_LIST_DISPLAY to display data from outtab1.
In DISPLAY2 use REUSE_ALV_LIST_DISPLAY to display data from outtab2.
For example : execute this report in background mode.this will not execute in online mode.
After execution you will get two spools one for KNA1 and one for LFA1 data. Spool can be controlled via IS_PRINT structure.
report zrbackground.
data gt_lfa1 type standard table of lfa1.
data gt_kna1 type standard table of kna1.
start-of-selection.
select * from lfa1 into table gt_lfa1 up to 10 rows.
select * from kna1 into table gt_kna1 up to 20 rows.
end-of-selection.
if sy-batch eq 'X'.
perform display_lfa1.
perform display_kna1.
endif.
*& Form DISPLAY_LFA1
text
--> p1 text
<-- p2 text
form display_lfa1 .
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
i_callback_program = sy-repid
i_structure_name = 'LFA1'
tables
t_outtab = gt_lfa1
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " DISPLAY_LFA1
*& Form DISPLAY_KNA1
text
--> p1 text
<-- p2 text
form display_kna1 .
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
i_callback_program = sy-repid
i_structure_name = 'KNA1'
tables
t_outtab = gt_kna1
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " DISPLAY_KNA1
Please let me know if its not clear or you need more info.
Thanks,
Abhishek
Edited by: abhishek sinha on May 8, 2009 7:42 PM
Edited by: abhishek sinha on May 8, 2009 8:45 PM -
Docking container like in se80
Hi, i have create a docking container like in the left side of se80. the next way is to fill the docking container of my dynpro, can someone give me a example how to handle?
Hello Muhammet
In almost all of my ZUS_SDN... sample report I use docking container, e.g.
alv
I think this report give you an idea how to work with a docking container.
Regards
Uwe -
Docking Container - Custom Container
Hi Friends,
I have the following doubts.
1. What all are the advantages of Docking and Custom Container.
2. Under what scenario's we use Docking over Custom Container.
3. I want to have 2 ALV GRID's in one screen one below another. Shall I use Docking Container?
internal table I_MARA with 10 records and I_MARC with 20 records.
Explain how to achieve this using Docking Container with code.
Regards,
Viji.hi vijayalakshmi
you can use 2 custom containers in that screen for two ALV grid
*& Report ZLISTBOX1 *
REPORT zlistbox1 .
*parameters: date like sy-datum.
TABLES: lfa1,ekko.
TYPE-POOLS: slis,sdydo.
*select-options: vendor for lfa1-lifnr.
DATA: itab TYPE TABLE OF ekko,
identity TYPE REF TO cl_gui_custom_container,
l_list TYPE slis_t_listheader,
l_logo TYPE sdydo_value,
l_identity TYPE REF TO cl_gui_custom_container,
l_tree TYPE REF TO cl_gui_alv_tree_simple,
tree TYPE REF TO cl_gui_alv_tree_simple,
fcat TYPE lvc_t_fcat,
sort_b TYPE lvc_t_sort,
sort_w TYPE lvc_s_sort.
CALL SCREEN 100.
*& Module USER_COMMAND_0100 INPUT
text
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'DISPLAY'.
PERFORM col_head.
PERFORM output.
PERFORM sort.
IF l_identity IS INITIAL.
CREATE OBJECT l_identity
EXPORTING
container_name = 'LOGO'.
CREATE OBJECT l_tree
EXPORTING
i_parent = l_identity.
PERFORM logo USING l_logo.
CALL METHOD l_tree->create_report_header
EXPORTING
it_list_commentary = l_list
i_logo = l_logo.
ENDIF.
IF identity IS INITIAL.
CREATE OBJECT identity
EXPORTING
container_name = 'JANAGAR'.
CREATE OBJECT tree
EXPORTING
i_parent = identity.
CALL METHOD tree->set_table_for_first_display
CHANGING
it_outtab = itab
it_fieldcatalog = fcat
it_sort = sort_b.
ENDIF.
*refresh itab.
CALL METHOD tree->refresh_table_display.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form logo
text
-->P_LOGO text
FORM logo USING p_logo.
p_logo = 'ENJOYSAP_LOGO'.
ENDFORM. "logo
*& Form col_head
text
FORM col_head.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_BUFFER_ACTIVE =
i_structure_name = 'EKKO'
I_CLIENT_NEVER_DISPLAY = 'X'
I_BYPASSING_BUFFER =
I_INTERNAL_TABNAME = ITAB
CHANGING
ct_fieldcat = fcat.
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "col_head
*& Form output
text
FORM output.
SELECT * FROM ekko INTO TABLE itab WHERE lifnr = lfa1-lifnr.
ENDFORM. "output
*& Form sort
text
FORM sort.
sort_w-spos = 1.
sort_w-fieldname = 'EBELN'.
APPEND sort_w TO sort_b.
sort_w-spos = 2.
sort_w-fieldname = 'AEDAT'.
APPEND sort_w TO sort_b.
sort_w-spos = 3.
sort_w-fieldname = 'BUKRS'.
APPEND sort_w TO sort_b.
ENDFORM. "sort
cheers
s.janagar -
How to set background color in a docking container?
Hi guys!
Is it possible to set a background color for a docking container?
I don't find any appropriate method to do that.
Is there actually a way?Hi,
Please refer the below program as a reference for Color using Docking Container Concept.
REPORT zcuitest_alv_07.
* Use of colours in ALV grid (cell, line and column) *
* Table
TABLES : mara.
* Type
TYPES : BEGIN OF ty_mara,
matnr LIKE mara-matnr,
matkl LIKE mara-matkl,
counter(4) TYPE n,
free_text(15) TYPE c,
color_line(4) TYPE c, " Line color
color_cell TYPE lvc_t_scol, " Cell color
END OF ty_mara.
* Structures
DATA : wa_mara TYPE ty_mara,
wa_fieldcat TYPE lvc_s_fcat,
is_layout TYPE lvc_s_layo,
wa_color TYPE lvc_s_scol.
* Internal table
DATA : it_mara TYPE STANDARD TABLE OF ty_mara,
it_fieldcat TYPE STANDARD TABLE OF lvc_s_fcat,
it_color TYPE TABLE OF lvc_s_scol.
* Variables
DATA : okcode LIKE sy-ucomm,
w_alv_grid TYPE REF TO cl_gui_alv_grid,
w_docking_container TYPE REF TO cl_gui_docking_container.
PARAMETERS : p_column AS CHECKBOX,
p_line AS CHECKBOX,
p_cell AS CHECKBOX.
START-OF-SELECTION.
PERFORM get_data.
END-OF-SELECTION.
PERFORM fill_catalog.
PERFORM fill_layout.
CALL SCREEN 2000.
*& Module status_2000 OUTPUT
* text
MODULE status_2000 OUTPUT.
SET PF-STATUS '2000'.
ENDMODULE. " status_2000 OUTPUT
*& Module user_command_2000 INPUT
* text
MODULE user_command_2000 INPUT.
DATA : w_okcode LIKE sy-ucomm.
MOVE okcode TO w_okcode.
CLEAR okcode.
CASE w_okcode.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " user_command_2000 INPUT
*& Module alv_grid OUTPUT
* text
MODULE alv_grid OUTPUT.
IF w_docking_container IS INITIAL.
PERFORM create_objects.
PERFORM display_alv_grid.
ENDIF.
ENDMODULE. " alv_grid OUTPUT
*& Form create_objects
* text
* --> p1 text
* <-- p2 text
FORM create_objects.
* Ratio must be included in [5..95]
CREATE OBJECT w_docking_container
EXPORTING
ratio = 95
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
others = 6.
CREATE OBJECT w_alv_grid
EXPORTING
i_parent = w_docking_container.
ENDFORM. " create_objects
*& Form display_alv_grid
* text
* --> p1 text
* <-- p2 text
FORM display_alv_grid.
CALL METHOD w_alv_grid->set_table_for_first_display
EXPORTING
is_layout = is_layout
CHANGING
it_outtab = it_mara
it_fieldcatalog = it_fieldcat
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
ENDFORM. " display_alv_grid
*& Form get_data
* text
* --> p1 text
* <-- p2 text
FORM get_data.
SELECT * FROM mara UP TO 5 ROWS.
CLEAR : wa_mara-color_line, wa_mara-color_cell.
MOVE-CORRESPONDING mara TO wa_mara.
ADD 1 TO wa_mara-counter.
MOVE 'Blabla' TO wa_mara-free_text.
IF wa_mara-counter = '0002'
AND p_line = 'X'.
* Color line
MOVE 'C410' TO wa_mara-color_line.
ELSEIF wa_mara-counter = '0004'
AND p_cell = 'X'.
* Color cell
MOVE 'FREE_TEXT' TO wa_color-fname.
MOVE '5' TO wa_color-color-col.
MOVE '1' TO wa_color-color-int.
MOVE '1' TO wa_color-color-inv.
APPEND wa_color TO it_color.
wa_mara-color_cell[] = it_color[].
ENDIF.
APPEND wa_mara TO it_mara.
ENDSELECT.
ENDFORM. " get_data
*& Form fill_catalog
* text
* --> p1 text
* <-- p2 text
FORM fill_catalog.
* Colour code : *
* Colour is a 4-char field where : *
* - 1st char = C (color property) *
* - 2nd char = color code (from 0 to 7) *
* 0 = background color *
* 1 = blue *
* 2 = gray *
* 3 = yellow *
* 4 = blue/gray *
* 5 = green *
* 6 = red *
* 7 = orange *
* - 3rd char = intensified (0=off, 1=on) *
* - 4th char = inverse display (0=off, 1=on) *
* Colour overwriting priority : *
* 1. Line *
* 2. Cell *
* 3. Column *
DATA : w_position TYPE i VALUE '1'.
CLEAR wa_fieldcat.
MOVE w_position TO wa_fieldcat-col_pos.
MOVE 'MATNR' TO wa_fieldcat-fieldname.
MOVE 'MARA' TO wa_fieldcat-ref_table.
MOVE 'MATNR' TO wa_fieldcat-ref_field.
APPEND wa_fieldcat TO it_fieldcat.
ADD 1 TO w_position.
CLEAR wa_fieldcat.
MOVE w_position TO wa_fieldcat-col_pos.
MOVE 'MATKL' TO wa_fieldcat-fieldname.
MOVE 'MARA' TO wa_fieldcat-ref_table.
MOVE 'MATKL' TO wa_fieldcat-ref_field.
* Color column
IF p_column = 'X'.
MOVE 'C610' TO wa_fieldcat-emphasize.
ENDIF.
APPEND wa_fieldcat TO it_fieldcat.
ADD 1 TO w_position.
CLEAR wa_fieldcat.
MOVE w_position TO wa_fieldcat-col_pos.
MOVE 'COUNTER' TO wa_fieldcat-fieldname.
MOVE 'N' TO wa_fieldcat-inttype.
MOVE '4' TO wa_fieldcat-intlen.
MOVE 'Counter' TO wa_fieldcat-coltext.
APPEND wa_fieldcat TO it_fieldcat.
ADD 1 TO w_position.
CLEAR wa_fieldcat.
MOVE w_position TO wa_fieldcat-col_pos.
MOVE 'FREE_TEXT' TO wa_fieldcat-fieldname.
MOVE 'C' TO wa_fieldcat-inttype.
MOVE '20' TO wa_fieldcat-intlen.
MOVE 'Text' TO wa_fieldcat-coltext.
APPEND wa_fieldcat TO it_fieldcat.
ENDFORM. " fill_catalog
*& Form fill_layout
* text
* --> p1 text
* <-- p2 text
FORM fill_layout.
* Field that identify color line in internal table
MOVE 'COLOR_LINE' TO is_layout-info_fname.
* Field that identify cell color in inetrnal table
MOVE 'COLOR_CELL' TO is_layout-ctab_fname.
ENDFORM. " fill_layout -
In OOPS ALV docking container gives error while execute in Background.
When i try to use Docking container to execute OOPS ALV in background the jobs still fails with Switch framework error.
Kindly let me know your inputs to resolve the same.
Thank you !!Hello Nalini,
Yes, it is possible to schedule background.
data: or_doc type ref to cl_gui_docking_container .
if cl_gui_alv_grid=>offline( ) is initial.
create object or_custom_container
exporting container_name = cust_container.
create object or_grid
exporting i_parent = or_custom_container.
else .
create object or_grid
exporting i_parent = or_doc .
endif .
Regards,
Vadamalai A.
Message was edited by: Matthew Billingham -
Difference between Docking container & Custom container?
What is the difference between Docking container & Custom container?
Where we use docking container??
Cheers
Kunu
Moderator Message : Interview type questions are not allowed. Search for available information before posting. Thread locked.
Edited by: Vinod Kumar on May 19, 2011 11:18 AMWhat is the difference between Docking container & Custom container?
Where we use docking container??
Cheers
Kunu
Moderator Message : Interview type questions are not allowed. Search for available information before posting. Thread locked.
Edited by: Vinod Kumar on May 19, 2011 11:18 AM -
How can I pass a docking container to a program in a non-simple context?
Dear colleagues,
I want to pass a docking container like the one in SE80 to another program.
The following code works fine:
REPORT z_moving_dock.
DATA: cl_docker type REF TO cl_gui_docking_container.
PARAMETERS: test.
INITIALIZATION.
CREATE OBJECT cl_docker EXPORTING no_autodef_progid_dynnr = 'X'.
END-OF-SELECTION.
WRITE:/ test.
But I cannot extend this to my current program. There I sourced out anything related to the GUI into a function group to obey the MVC paradigma. (That's maybe the error in reasoning, but I'm following the book Design Patterns in Object-Oriented ABAP from SAP Press and -- of course -- good and healthy programming style.)
So it's a function group which knows the dynpros and controls, the main program knows only the data.
Now I have a docking container like the one in SE80. We have many working older programs and I want to switch to them carrying the docking container with me. I have searched the Demos in SAP, the Online Help, the SAP Library, Books, the Web, this Forum, but none of them goes beyond the simpler examples that always work.
I tried the LINK method on the docking container. I tried it before calling the new program (btw. by SUBMIT). I tried it afterwards from the called program (via a function module from the aforementioned group -- but the group is tied to the old program context and therefore I am in a new "instance" of it). I tried different values for REPID and DYNNR in LINK. I debugged SE80 -- too complicated!
If it works well I get the container back when I return to the calling program. If it works badly the container is completely lost.
Perhaps I should export something to memory?
But I strongly would prefer not to alter the called programs: In the future I might also want to call a SAP standard program.
I also didn't find some documentation explaining what is going on in the background so I could figure out in which direction to "think".
I also tested the following code on SAP R/3 4.7 and SAP ERP 2005 with the same results.
In the meantime I also created a minimal example. First the triggering report:
REPORT z_moving_docking_container.
DATA: g_example TYPE REF TO zcl_moving_docking_container.
CREATE OBJECT g_example.
This obviously calls the main class ZCL_MOVING_DOCKING_CONTAINER which has only this constructor:
METHOD constructor.
CALL FUNCTION 'Z_SHOW_DYNPRO'.
ENDMETHOD.
Normally this class should handle the business logic. Here it only calls this function module. In the appropriate function group, say Z_MOVING_DOCKING_CONTAINER, I have these declarations in the TOP-Include:
FUNCTION-POOL z_moving_docking_container.
DATA:
gv_okcode TYPE ui_func,
go_docker TYPE REF TO cl_gui_docking_container.
The function group also contains a dynpro 9000 with this flow logic:
PROCESS BEFORE OUTPUT.
MODULE status_9000.
PROCESS AFTER INPUT.
MODULE user_command_9000.
The modules are straightforward:
MODULE status_9000 OUTPUT.
SET PF-STATUS '9000'.
IF go_docker IS INITIAL.
CREATE OBJECT go_docker
EXPORTING no_autodef_progid_dynnr = 'X'.
ENDIF.
ENDMODULE.
with at least the function code ONLI defined in PF-status 9000 and
MODULE user_command_9000 INPUT.
IF gv_okcode = 'ONLI'.
SUBMIT z_sample_report AND RETURN.
ELSE.
LEAVE PROGRAM.
ENDIF.
ENDMODULE.
The report Z_SAMPLE_REPORT can be any report you like.
At last the function module contains the following code:
FUNCTION z_show_dynpro.
*"*"Lokale Schnittstelle:
CALL SCREEN 9000.
ENDFUNCTION.
As I see this, this is a straightforward application of the working example at the top and the principles of MVC and encapsulation of the dynpro logic (to "avoid" global variables as best as possible).
Clearly in some sense this is an academic question, but I have built a fairly big application like that up to now ...
</edit>
Thanks for reading and contemplating,
Thomas
Edited by: Thomas Geiß on Feb 4, 2009 11:03 AM
Edited by: Thomas Geiß on Feb 4, 2009 11:59 AM
Edited by: Thomas Geiß on Feb 4, 2009 12:01 PMYou'll either have to pass the data in as parameters in the applet tags or create a JavaScript tag and have the JavaScript pass it in. If the array is very large then you open a connection between the Applet and a servlet and pass the data that way.
-
hi there, i have a ipod classic purchased in 2007,with the release of the new Apple TV dock in Australia,my question to anyone out there including apple suooort staff,CAN I USE THIS NEW DEVICE TO VIEW MY VIDEO CLIPS I DOWN LOADED FROM ITUNES ON MY TV INSTEAD OF BUYING THE APPLE COMPONANT CABLES....THANKS EDWARD
You can plug the iPod into the same iTunes library as your iPod Touch and sync whatever content you like to it. There is no limilt to the number of iPads, iPhones, or iPods you can sync with one iTunes library, account, or computer. How you sync one device will not affect the syncing preferences of the other.
B-rock
Maybe you are looking for
-
Can't get Speech.X32 to access SAPI 5.4 on a 64-bit Windows 7 machine.
I can't seem to get the Speech.X32 to work in a Director 10.1 projector or in Shockwave on a 64-bit Windows 7 machine. It works fine on XP and Windows 7 32 bit, but not on Windows 7 64 bit. I placed the following script in first frame of movie. On al
-
I have to attach a pdf which i get from spool and also attach some files
hi , i have requirement where i have to send a pdf as attachment , this pdf is generated throught the spool request , along with this pdf i need to attach some files from the presentation server, i am using the fm SO_OBJECT_SEND, but the problem is i
-
Does activating a used iPhone 1.0 by a new owner require a 2 year Contract
If a person buys a used iPhone 1.0 will they be required to sign a 2 year contract even if they have an existing AT&T account.
-
Trouble implementing a header on Wordpress
I installed the Edge Suite Plugin. I used the shortcode to successfully implement my animation I created for my about me page. I now want to implement a header I created for my site. I uploaded the animation witth the .oam file and chose it as my "de
-
Join two tables without index scan
Hi All, I have two tables (ProgramMaster, ProgramDetails). ProgramMaster have very less number of records and Programdetails have large number of records My Query is Please vote if you find this posting was helpful or Mark it as answered.