How to Increase Border Thickness of Docking Container
Dear Experts,
I am working with Docking containers in my project. Is it possible to increase the thickness of the border of a Docking Container? I dont see any method as such in the respective class, but there is an attribute called WS_BORDER. I am not sure of how and where to use this attribute. And one more Question, is there any possibility to have a Tool Tip text when the cursor is placed on the border of the Docking Container?
Thanks in Advance.
Best Regards,
rama
Edited by: newtoAbap on Dec 9, 2009 12:01 PM
No, imagine we have two docking containers (both horizontal). Now, we can use the mouse and drag those controls on the screen right. Thats what i am talking about, the border is so thin actually can we make it thick?
Best Regards,
rama
Similar Messages
-
How to increase border size in Illustrator CS3?
Like the title says, how do you increase the border size in Illustrator CS3? I have a .svg that I've increased the size of, but I can't figure how to get the borders (the four "L" shaped lines) to expand as well.
I just sent you the link for the Adobe Illustraor CS3 as well, just in case. It has some of the things we talked about in there.
help.adobe.com/.../illustrator/cs3/illustrator_cs3_help.pdf -
How to increase line thickness in line charts?
Hi,
I am using Crystal Reports 11.
I can change line thickness for only 4 series using "Format connector line" in the Design window. When the chart has more than 4 series, I can't change the thickness of lines except for the default 4 series.
I try using the other method to change the thinness of line, i.e.:
Got to the Preview window - click the line in chart - right click and go in Format Connector Line - change the thickness.
But, when I close the Preview window and re-open it again, I find that the situation is the same: line thickness is changed for only 4 series.
It looks like this way is effective just in computer memory.
Is this caused by the old version of CR?
If not, any approach to handle this problem?
Thank you in advance.Thank you.
It is a group level chart.
I find "Apply Changes to All Charts" under Chart Menu, but after I made some changes on the chart, it is still grey and I could not use it.
How to do?
Edited by: Holdup on Feb 23, 2012 7:27 PM -
How to increase border width report 3.0
By default all lines around cells are hair lines.()
How can I increase width of all these lines.
Whenever I try format ->Line Width ->one point(After Selecting Column)
Error message occurs
"Field refrences frequency below its group"
Can anybody help me.?
Regards,
Abid Hussain.You are doing the correct thing in changing the "Line Width" value. However, in doing this, you effectively increase the size of the field object. Since the field then would extend beyond the boundary of the repeating frame it is in, you get a frequency error.
To get around this error, you either need to reduce the size of the field or increase the size of the repeating frame to make space for the increased line width. -
How to increase the heap size of the container in whioch BPEL is running ?
Hi All,
I recently raised an SR they have asked me to do the following,
Can you please try and start the container running the BPEL process with max
heap space (-Xmx) of 2 GB and the eden space (-Xmn) at about 60% of 1228m and
the option -XX:+AggressiveHeap set. (even though this option is recommended for
multi processor machines say 4)
can anyone kindly explain me how to increase the Heap size and Eden size of BPEL container ?
Thank YouHi Deepak I cant see any attribute or element in the oc4j_opmn.xml file regarding heap memory. In the server properties I changed the size of heap memeory how can I rollback.
I am getting the following error
Configuration information
Running in C:\product\10.1.3.1\OracleAS_1
Operation mode:Startup, App Server, No Enterprise Manager, Single Instance
Oracle home:C:\product\10.1.3.1\OracleAS_1
Oracle home name:Unnamed
Instance name:SOA.01hw117905.India.TCS.com
Instance type:allProducts
Version:10.1.3.4.0
Uses infrastructure:false
Not an infrastructure instance, no infrastructure information available
Components:[j2ee, apache, orabpel, oraesb, owsm, Wsil]
2009-08-19 09:08:51.863--Begin log output for Mid-tier services (SOA.01hw117905.India.TCS.com)
2009-08-19 09:08:51.863--Processing Step: starting OPMN
2009-08-19 09:09:00.394--Processing Step: starting OPMN managed processes
2009-08-19 09:09:35.19--End log output for Mid-tier services (SOA.01hw117905.India.TCS.com)
An unknown OPMN error has occured
oracle.appserver.startupconsole.model.ConsoleException: An unknown OPMN error has occured
at oracle.appserver.startupconsole.control.OPMNController.doStart(OPMNController.java:121)
at oracle.appserver.startupconsole.control.Controller.start(Controller.java:69)
at oracle.appserver.startupconsole.control.GroupController.doStart(GroupController.java:47)
at oracle.appserver.startupconsole.control.Controller.start(Controller.java:69)
at oracle.appserver.startupconsole.view.controller.ControllerAdapter.start(ControllerAdapter.java:30)
at oracle.appserver.startupconsole.view.controller.MasterControlAdapter.run(MasterControlAdapter.java:94)
at oracle.appserver.startupconsole.view.Runner.main(Runner.java:39)
Caused by: oracle.ias.opmn.optic.OpticControlException: Error from opmn during process control operation
at oracle.ias.opmn.optic.AbstractOpmnEntity.runCommand(AbstractOpmnEntity.java:174)
at oracle.ias.opmn.optic.AbstractOpmnEntity.start(AbstractOpmnEntity.java:110)
at oracle.appserver.startupconsole.control.OPMNController.doStart(OPMNController.java:89)
... 6 more
Exception caused by
Error from opmn during process control operation
oracle.ias.opmn.optic.OpticControlException: Error from opmn during process control operation
at oracle.ias.opmn.optic.AbstractOpmnEntity.runCommand(AbstractOpmnEntity.java:174)
at oracle.ias.opmn.optic.AbstractOpmnEntity.start(AbstractOpmnEntity.java:110)
at oracle.appserver.startupconsole.control.OPMNController.doStart(OPMNController.java:89)
at oracle.appserver.startupconsole.control.Controller.start(Controller.java:69)
at oracle.appserver.startupconsole.control.GroupController.doStart(GroupController.java:47)
at oracle.appserver.startupconsole.control.Controller.start(Controller.java:69)
at oracle.appserver.startupconsole.view.controller.ControllerAdapter.start(ControllerAdapter.java:30)
at oracle.appserver.startupconsole.view.controller.MasterControlAdapter.run(MasterControlAdapter.java:94)
at oracle.appserver.startupconsole.view.Runner.main(Runner.java:39)
<?xml version='1.0' encoding='WINDOWS-1252'?>
<response>
<msg code="-82" text="Remote request with weak authentication.">
</msg>
<opmn id="01hw117905:6200" http-status="206" http-response="2 of 3 processes started.">
<ias-instance id="SOA.01hw117905.India.TCS.com">
<ias-component id="default_group">
<process-type id="home">
<process-set id="default_group">
<process id="172" pid="2176" status="Alive" index="1" log="C:\product\10.1.3.1\OracleAS_1\opmn\logs\\default_group~home~default_group~1.log" operation="request" result="success">
<msg code="0" text="">
</msg>
</process>
</process-set>
</process-type>
<process-type id="oc4j_soa">
<process-set id="default_group">
<process id="173" pid="5556" status="Stopped" index="1" log="C:\product\10.1.3.1\OracleAS_1\opmn\logs\\default_group~oc4j_soa~default_group~1.log" operation="request" result="failure">
<msg code="-21" text="failed to start a managed process after the maximum retry limit">
</msg>
</process>
</process-set>
</process-type>
</ias-component>
<ias-component id="HTTP_Server">
<process-type id="HTTP_Server">
<process-set id="HTTP_Server">
<process id="171" pid="2724" status="Alive" index="1" log="C:\product\10.1.3.1\OracleAS_1\opmn\logs\\HTTP_Server~1.log" operation="request" result="success">
<msg code="0" text="">
</msg>
</process>
</process-set>
</process-type>
</ias-component>
</ias-instance>
</opmn>
</response> -
How ...Max. Width of Docking container in Screen ??
Hi.. ^^
I want to fill two docking container in a screen(alignment Top, Left, Bottom or Right).
so I set first docking container width(300) and set 2nd docking container. I want know available maximum width of 2nd docking container.
How can i get maximum width of screen. (dynamic)
Is there any method or function module ?Hi,
Check this thread..
SIZE_CONTROL Event for docking container
regards
vijay -
Re: How to reduce the width of Docking Control Container
Hi All,
I created a text editor control using docking container. Its width is occupying the entire screen. I want to reduce it to half of the screen. I tried changing the values of ratio, extension and used the methods set_width to change it, but was not successful. Please let me know how can i reduce the width. Below is the code which i am using.
data: editor TYPE REF TO cl_gui_textedit,
lo_dock TYPE REF TO cl_gui_docking_container.
IF lo_dock IS INITIAL.
CREATE OBJECT lo_dock
EXPORTING
repid = sy-cprog
dynnr = sy-dynnr
ratio = 75
extension = 50
metric = cl_gui_docking_container=>metric_mm
side = cl_gui_docking_container=>dock_at_bottom
name = 'DOCK_CONT'.
IF sy-subrc 0.
MESSAGE 'Error in the Docking control' TYPE 'S'.
ENDIF.
CREATE OBJECT editor
EXPORTING
parent = lo_dock
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
gui_type_not_supported = 5
OTHERS = 6.
CALL METHOD editor->set_text_as_r3table
EXPORTING
table = i_texttable
EXCEPTIONS
error_dp = 1
error_dp_create = 2
OTHERS = 3.Hi,
Check the other exporting parameter of cl_gui_textedit's constructor.
Try using MAX_NUMBER_CHARS, WORDWRAP_MODE. Pass these paramters while creating object editor.
Regards,
Sharin. -
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.
-
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 -
How to disable the sizing option in docking container
Hi experts,
I have created a grid in a docking container ( cl_gui_docking_container ) which will appear on the selection screen, docking at the bottom. The requirement is to disable the resizing functionality of the grid when I use the sizing arrow with the mouse on dragging. Ideally I am able to expand the grid vertically covering the selection parameters. This option has to be disabled. Please suggest any options for the same.CREATE OBJECT r_dock_container
EXPORTING
side = cl_gui_docking_container=>dock_at_right
extension = 780
caption = 'Materials'
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
I think extension my help.. -
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 -
In a tree how to increase length of node_key ?
Hi All,
While creating a tree structure, how do we increase the size og the node_key?
I want the node_key with the same length as MATNR (i.e. >12 characters)
How to achieve this ?
Regards,
AshishHello Ashish
I am not yet sure about how to fill the List Header column yet at least the sample report ZUS_SDN_LIST_TREE_MODEL_DEMO_1 gives you a flavour of how tree models work.
*& Report ZUS_SDN_LIST_TREE_MODEL_DEMO_1
*& Thread: In a tree how to increase length of node_key ?
*& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1148884"></a>
*& Flow logic of screen '0100' (contains no screen elements):
** PROCESS BEFORE OUTPUT.
** MODULE STATUS_0100.
** PROCESS AFTER INPUT.
** MODULE USER_COMMAND_0100.
REPORT zus_sdn_list_tree_model_demo_1.
CLASS cl_gui_column_tree DEFINITION LOAD.
CLASS cl_gui_cfw DEFINITION LOAD.
TYPE-POOLS: abap, shlp.
DATA: gt_node_table TYPE treemlnota,
gt_item_table TYPE treemlitac.
TYPES: BEGIN OF ty_s_key.
TYPES: nkey TYPE lvc_nkey.
TYPES: parent_key TYPE lvc_nkey.
TYPES: END OF ty_s_key.
TYPES: BEGIN OF ty_s_outtab.
INCLUDE TYPE knvv AS data.
INCLUDE TYPE ty_s_key AS key.
TYPES: END OF ty_s_outtab.
TYPES: ty_t_outtab TYPE STANDARD TABLE OF ty_s_outtab
WITH DEFAULT KEY.
DATA: gt_outtab TYPE ty_t_outtab.
DATA:
gd_okcode TYPE ui_func,
gd_repid TYPE syst-repid,
gt_fcat TYPE lvc_t_fcat,
gs_layout TYPE lvc_s_layo,
gs_variant TYPE disvariant,
go_docking TYPE REF TO cl_gui_docking_container,
go_listtree TYPE REF TO cl_list_tree_model.
* CLASS lcl_eventhandler DEFINITION
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
handle_item_double_click
FOR EVENT item_double_click OF cl_list_tree_model
IMPORTING node_key
item_name,
handle_checkbox_change
FOR EVENT checkbox_change OF cl_list_tree_model
IMPORTING node_key
item_name
checked.
ENDCLASS. "lcl_eventhandler DEFINITION
* CLASS lcl_eventhandler IMPLEMENTATION
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD handle_item_double_click.
MESSAGE 'Event=Double-Click on Item' TYPE 'I'.
CALL TRANSACTION 'VA03'.
ENDMETHOD. "handle_item_double_click
METHOD handle_checkbox_change.
DATA: ls_outtab TYPE ty_s_outtab.
BREAK-POINT.
** IF ( fieldname = 'LOEVM' ).
** CALL METHOD go_tree->get_outtab_line
** EXPORTING
** i_node_key = node_key
** IMPORTING
** e_outtab_line = ls_outtab
*** e_node_text =
*** et_item_layout =
*** es_node_layout =
** EXCEPTIONS
** node_not_found = 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.
** ls_outtab-loevm = checked.
** MODIFY gt_outtab FROM ls_outtab
** TRANSPORTING loevm
** WHERE ( nkey = node_key ).
** ENDIF.
" Trigger PAI
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = 'REFRESH'
* IMPORTING
* rc =
ENDMETHOD. "handle_checkbox_change
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
START-OF-SELECTION.
PERFORM init_controls.
gd_repid = syst-repid.
CALL METHOD go_docking->link
EXPORTING
repid = gd_repid
dynnr = '0100'
* container =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
lifetime_dynpro_dynpro_link = 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.
CALL SCREEN '0100'.
** NOTE: no elements on screen
** PROCESS BEFORE OUTPUT.
** MODULE STATUS_0100.
** PROCESS AFTER INPUT.
** MODULE USER_COMMAND_0100.
END-OF-SELECTION.
*& Module STATUS_0100 OUTPUT
* text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'.
* SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE user_command_0100 INPUT.
TRANSLATE gd_okcode TO UPPER CASE.
CASE gd_okcode.
WHEN 'BACK' OR
'EXIT' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
WHEN 'REFRESH'.
** CALL METHOD go_tree->update_calculations
*** EXPORTING
*** no_frontend_update =
WHEN 'SELECTED_NODES'.
PERFORM get_selected_nodes.
WHEN 'DISPLAY'.
PERFORM display.
WHEN OTHERS.
ENDCASE.
CLEAR: gd_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form init_controls
* text
* --> p1 text
* <-- p2 text
FORM init_controls .
* define local data
DATA: ls_hierarchy_header TYPE treemhhdr,
ls_list_header TYPE treemlhdr.
* Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
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.
ls_hierarchy_header-heading = 'Hierarchy Column'.
ls_hierarchy_header-width = 70.
ls_list_header-heading = 'List Column'.
* create tree control
CREATE OBJECT go_listtree
EXPORTING
node_selection_mode = cl_gui_column_tree=>node_sel_mode_single
* hide_selection =
item_selection = 'X'
with_headers = 'X'
hierarchy_header = ls_hierarchy_header
list_header = ls_list_header
EXCEPTIONS
illegal_node_selection_mode = 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.
** PERFORM add_nodes_and_items.
CALL METHOD go_listtree->create_tree_control
EXPORTING
* lifetime =
parent = go_docking
* shellstyle =
* IMPORTING
* control =
EXCEPTIONS
lifetime_error = 1
cntl_system_error = 2
create_error = 3
failed = 4
tree_control_already_created = 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.
* create hierarchy
PERFORM create_hierarchy.
* register events
PERFORM register_events.
ENDFORM. " init_controls
*& Form BUILD_FIELDCATALOG
* text
* --> p1 text
* <-- p2 text
FORM build_fieldcatalog .
DATA: ls_fcat TYPE lvc_s_fcat.
REFRESH: gt_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
* I_BUFFER_ACTIVE =
i_structure_name = 'KNVV'
* I_CLIENT_NEVER_DISPLAY = 'X'
i_bypassing_buffer = 'X'
* I_INTERNAL_TABNAME =
CHANGING
ct_fieldcat = gt_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.
DELETE gt_fcat FROM 10.
ls_fcat-tech = 'X'.
MODIFY gt_fcat FROM ls_fcat
TRANSPORTING tech
WHERE ( key = 'X' ).
ls_fcat-edit = 'X'.
MODIFY gt_fcat FROM ls_fcat
TRANSPORTING edit
WHERE ( key NE 'X' ).
READ TABLE gt_fcat INTO ls_fcat
WITH KEY fieldname = 'LOEVM'.
IF ( syst-subrc = 0 ).
ls_fcat-checkbox = 'X'.
ls_fcat-edit = 'X'.
** ls_fcat-hotspot = 'X'.
MODIFY gt_fcat FROM ls_fcat INDEX syst-tabix.
ENDIF.
READ TABLE gt_fcat INTO ls_fcat
WITH KEY fieldname = 'ERNAM'.
IF ( syst-subrc = 0 ).
ls_fcat-hotspot = 'X'.
MODIFY gt_fcat FROM ls_fcat INDEX syst-tabix.
ENDIF.
ENDFORM. " BUILD_FIELDCATALOG
*& Form SET_LAYOUT_AND_VARIANT
* text
* --> p1 text
* <-- p2 text
FORM set_layout_and_variant .
CLEAR: gs_layout,
gs_variant.
gs_variant-report = syst-repid.
gs_variant-handle = 'TREE'.
ENDFORM. " SET_LAYOUT_AND_VARIANT
*& Form create_hierarchy
* text
* --> p1 text
* <-- p2 text
FORM create_hierarchy .
DATA: ls_knvv TYPE sflight,
ld_idx TYPE i,
ls_outtab TYPE ty_s_outtab,
lt_outtab TYPE ty_t_outtab.
* get data
SELECT * FROM knvv INTO CORRESPONDING FIELDS OF TABLE lt_outtab
UP TO 20 ROWS . "#EC CI_NOWHERE
SORT lt_outtab BY kunnr vkorg.
* add data to tree
DATA: ld_root_key TYPE tm_nodekey,
ld_kunnr_key TYPE tm_nodekey,
ld_vkorg_key TYPE tm_nodekey,
ld_last_key TYPE tm_nodekey.
ld_idx = 0.
LOOP AT lt_outtab INTO ls_outtab.
AT FIRST.
PERFORM add_root_line USING ls_outtab-data
CHANGING ld_root_key.
ADD 1 TO ld_idx.
ls_outtab-nkey = ld_root_key.
ls_outtab-parent_key = space.
MODIFY gt_outtab FROM ls_outtab INDEX ld_idx
TRANSPORTING key.
ENDAT.
ON CHANGE OF ls_outtab-kunnr.
PERFORM add_customer_line USING ls_outtab-data
ld_root_key
CHANGING ld_kunnr_key.
ADD 1 TO ld_idx.
ls_outtab-nkey = ld_kunnr_key.
ls_outtab-parent_key = ld_root_key.
MODIFY gt_outtab FROM ls_outtab INDEX ld_idx
TRANSPORTING key.
ENDON.
ON CHANGE OF ls_outtab-vkorg.
PERFORM add_salesorg_line USING ls_outtab-data
ld_kunnr_key
CHANGING ld_vkorg_key.
ADD 1 TO ld_idx.
ls_outtab-nkey = ld_vkorg_key.
ls_outtab-parent_key = ld_kunnr_key.
MODIFY gt_outtab FROM ls_outtab INDEX ld_idx
TRANSPORTING key.
ENDON.
PERFORM add_complete_line USING ls_outtab-data
ld_vkorg_key
CHANGING ld_last_key.
ADD 1 TO ld_idx.
ls_outtab-nkey = ld_last_key.
ls_outtab-parent_key = ld_vkorg_key.
MODIFY gt_outtab FROM ls_outtab INDEX ld_idx
TRANSPORTING key.
ENDLOOP.
* calculate totals
** CALL METHOD go_tree->update_calculations.
* this method must be called to send the data to the frontend
** CALL METHOD go_tree->frontend_update.
ENDFORM. " create_hierarchy
*& Form add_customer_line
* add hierarchy-level 1 to tree
* -->P_LS_SFLIGHT sflight
* -->P_RELEATKEY relatkey
* <-->p_node_key new node-key
FORM add_root_line USING us_data TYPE ty_s_outtab-data
ud_relat_key TYPE tm_nodekey
CHANGING cd_node_key TYPE tm_nodekey.
DATA: l_node_text TYPE lvc_value,
ls_data TYPE ty_s_outtab-data.
* set item-layout
DATA: lt_item_table TYPE treemlitab,
ls_item TYPE treemlitem.
** ls_item-t_image = '@3Q@'. " icon_overview
ls_item-item_name = '1'.
ls_item-class = cl_list_tree_model=>item_class_text.
ls_item-style = cl_list_tree_model=>style_intensifd_critical.
ls_item-text = 'Overview: Sales Areas'.
ls_item-length = 25.
APPEND ls_item TO lt_item_table.
cd_node_key = 'ROOT'.
* add node
CALL METHOD go_listtree->add_node
EXPORTING
node_key = cd_node_key
* relative_node_key =
* relationship =
isfolder = 'X'
* hidden =
* disabled =
* style =
* no_branch =
* expander =
* image =
* expanded_image =
* drag_drop_id =
* last_hitem =
* user_object =
* items_incomplete =
item_table = lt_item_table
EXCEPTIONS
node_key_exists = 1
node_key_empty = 2
illegal_relationship = 3
relative_node_not_found = 4
error_in_item_table = 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.
ENDFORM. " add_root_line
*& Form add_customer_line
* add hierarchy-level 1 to tree
* -->P_LS_SFLIGHT sflight
* -->P_RELEATKEY relatkey
* <-->p_node_key new node-key
FORM add_customer_line USING us_data TYPE ty_s_outtab-data
ud_relat_key TYPE tm_nodekey
CHANGING cd_node_key TYPE tm_nodekey.
DATA: l_node_text TYPE lvc_value,
ls_data TYPE ty_s_outtab-data.
* set item-layout
DATA: lt_item_table TYPE treemlitab,
ls_item TYPE treemlitem.
ls_item-t_image = '@A0@'. " icon_customer
ls_item-item_name = '1'.
ls_item-class = cl_list_tree_model=>item_class_text.
ls_item-style = cl_list_tree_model=>style_intensifd_critical.
ls_item-text = us_data-kunnr.
ls_item-length = 15.
APPEND ls_item TO lt_item_table.
cd_node_key = us_data-kunnr.
* add node
CALL METHOD go_listtree->add_node
EXPORTING
node_key = cd_node_key
relative_node_key = ud_relat_key
relationship = cl_list_tree_model=>relat_last_child
isfolder = 'X'
* hidden =
* disabled =
* style =
* no_branch =
* expander =
* image =
* expanded_image =
* drag_drop_id =
* last_hitem =
* user_object =
* items_incomplete =
item_table = lt_item_table
EXCEPTIONS
node_key_exists = 1
node_key_empty = 2
illegal_relationship = 3
relative_node_not_found = 4
error_in_item_table = 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.
ENDFORM. " add_customer_line
*& Form add_salesorg_line
* add hierarchy-level 1 to tree
* -->P_LS_SFLIGHT sflight
* -->P_RELEATKEY relatkey
* <-->p_node_key new node-key
FORM add_salesorg_line USING us_data TYPE ty_s_outtab-data
ud_relat_key TYPE tm_nodekey
CHANGING cd_node_key TYPE tm_nodekey.
DATA: l_node_text TYPE lvc_value,
ls_data TYPE ty_s_outtab-data.
* set item-layout
DATA: lt_item_table TYPE treemlitab,
ls_item TYPE treemlitem.
** ls_item-t_image = '@A0@'. " icon_customer
ls_item-item_name = '1'.
ls_item-class = cl_list_tree_model=>item_class_text.
** ls_item-style = cl_list_tree_model=>style_intensifd_critical.
CONCATENATE 'Sales Organisation:' us_data-vkorg
INTO ls_item-text
SEPARATED BY space.
ls_item-length = 25.
APPEND ls_item TO lt_item_table.
CLEAR: ls_item.
ls_item-item_name = '2'.
ls_item-class = cl_list_tree_model=>item_class_text.
ls_item-text = us_data-vtweg.
ls_item-length = 5.
APPEND ls_item TO lt_item_table.
CLEAR: ls_item.
ls_item-item_name = '3'.
ls_item-class = cl_list_tree_model=>item_class_text.
ls_item-text = us_data-spart.
ls_item-length = 3.
APPEND ls_item TO lt_item_table.
CONCATENATE ud_relat_key us_data-vkorg
INTO cd_node_key
SEPARATED BY ' : '. " > 12 char
* add node
CALL METHOD go_listtree->add_node
EXPORTING
node_key = cd_node_key
relative_node_key = ud_relat_key
relationship = cl_list_tree_model=>relat_last_child
isfolder = 'X'
* hidden =
* disabled =
* style =
* no_branch =
* expander =
* image =
* expanded_image =
* drag_drop_id =
* last_hitem =
* user_object =
* items_incomplete =
item_table = lt_item_table
EXCEPTIONS
node_key_exists = 1
node_key_empty = 2
illegal_relationship = 3
relative_node_not_found = 4
error_in_item_table = 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.
ENDFORM. " add_salesorg_line
*& Form add_cmplete_line
* add hierarchy-level 3 to tree
* -->P_LS_SFLIGHT sflight
* -->P_RELEATKEY relatkey
* <-->p_node_key new node-key
FORM add_complete_line USING us_data TYPE ty_s_outtab-data
ud_relat_key TYPE tm_nodekey
CHANGING cd_node_key TYPE tm_nodekey.
** DATA: l_node_text TYPE lvc_value,
** ls_data TYPE ty_s_outtab-data.
*** set item-layout
** DATA: lt_item_table TYPE treemlitac,
** ls_item TYPE treemliten.
** ls_item-node_key = ud_relat_key.
**** ls_item-t_image = '@A0@'. " icon_customer
** ls_item-item_name = '3'.
** ls_item-class = cl_list_tree_model=>item_class_text.
**** ls_item-style = cl_list_tree_model=>style_intensifd_critical.
** CALL METHOD cl_abap_container_utilities=>fill_container_c
** EXPORTING
** im_value = us_data
** IMPORTING
** ex_container = ls_item-text
** EXCEPTIONS
** illegal_parameter_type = 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.
** ls_item-length = 100.
** APPEND ls_item TO lt_item_table.
** CALL METHOD go_listtree->add_items
** EXPORTING
** item_table = lt_item_table
** EXCEPTIONS
** error_in_item_table = 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. " add_complete_line
*& Form register_events
* text
* --> p1 text
* <-- p2 text
FORM register_events.
* define the events which will be passed to the backend
DATA: lt_events TYPE cntl_simple_events,
l_event TYPE cntl_simple_event.
* define the events which will be passed to the backend
* l_event-eventid = cl_list_tree_model=>eventid_expand_no_children.
* APPEND l_event TO lt_events.
l_event-eventid = cl_list_tree_model=>eventid_checkbox_change.
APPEND l_event TO lt_events.
** l_event-eventid = cl_gui_column_tree=>eventid_header_context_men_req.
** APPEND l_event TO lt_events.
** l_event-eventid = cl_gui_column_tree=>eventid_node_context_menu_req.
** APPEND l_event TO lt_events.
** l_event-eventid = cl_gui_column_tree=>eventid_item_context_menu_req.
** APPEND l_event TO lt_events.
** l_event-eventid = cl_gui_column_tree=>eventid_header_click.
** APPEND l_event TO lt_events.
** l_event-eventid = cl_gui_column_tree=>eventid_item_keypress.
** APPEND l_event TO lt_events.
l_event-eventid = cl_list_tree_model=>eventid_item_double_click.
APPEND l_event TO lt_events.
CALL METHOD go_listtree->set_registered_events
EXPORTING
events = lt_events
EXCEPTIONS
illegal_event_combination = 1
unknown_event = 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.
* set Handler
SET HANDLER:
lcl_eventhandler=>handle_item_double_click FOR go_listtree,
lcl_eventhandler=>handle_checkbox_change FOR go_listtree.
ENDFORM. " register_events
*& Form DISPLAY
* text
* --> p1 text
* <-- p2 text
FORM display .
DATA: ls_outtab TYPE ty_s_outtab,
ls_line TYPE ty_s_outtab,
ld_msg TYPE bapi_msg.
BREAK-POINT.
LOOP AT gt_outtab INTO ls_outtab
WHERE ( loevm = 'X' ).
CONCATENATE 'Checkbox:'
ls_outtab-kunnr
ls_outtab-vkorg
ls_outtab-vtweg
ls_outtab-spart
ls_outtab-loevm
INTO ld_msg SEPARATED BY space.
MESSAGE ld_msg TYPE 'I'.
ENDLOOP.
IF ( syst-subrc NE 0 ).
MESSAGE 'No marked checkboxes found' TYPE 'I'.
ENDIF.
PERFORM get_selected_nodes.
ENDFORM. " DISPLAY
*& Form GET_SELECTED_NODES
* text
* --> p1 text
* <-- p2 text
FORM get_selected_nodes.
* define local data
DATA: ld_msg TYPE bapi_msg,
lt_nodes TYPE lvc_t_nkey,
ls_outtab TYPE ty_s_outtab,
ld_nkey TYPE lvc_nkey,
lt_items TYPE lvc_t_layi,
ls_item TYPE lvc_s_layi.
** CALL METHOD go_tree->get_selected_nodes
** CHANGING
** ct_selected_nodes = lt_nodes
** EXCEPTIONS
** cntl_system_error = 1
** dp_error = 2
** failed = 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.
** CHECK ( lt_nodes IS NOT INITIAL ).
** BREAK-POINT.
** LOOP AT lt_nodes INTO ld_nkey.
** CALL METHOD go_tree->get_outtab_line
** EXPORTING
** i_node_key = ld_nkey
** IMPORTING
** e_outtab_line = ls_outtab-data
*** e_node_text =
** et_item_layout = lt_items
*** es_node_layout =
** EXCEPTIONS
** node_not_found = 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.
** LOOP AT lt_items INTO ls_item
** WHERE ( chosen = 'X' ).
** CONCATENATE 'Item:'
** ls_outtab-kunnr
** ls_outtab-vkorg
** ls_outtab-vtweg
** ls_outtab-spart
** ls_outtab-loevm
** INTO ld_msg SEPARATED BY space.
** MESSAGE ld_msg TYPE 'I'.
** ENDLOOP.
** ENDLOOP.
ENDFORM. " GET_SELECTED_NODES
Regards
Uwe -
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 -
How to increase the width of Panel Tabbed layout
How to increase the width of detailed items of a Tabbed Panel ? I have many columns inside a detailed item of tabbed panel i can see only 3 colums ,to see the rest of the column i need to scroll. I tried to set the width but doesnt seems to be working
<af:panelTabbed id="pt2" inlineStyle="width:800.0px;">
<af:showDetailItem text="Interview" id="sdi1"
inflexibleHeight="50"
inlineStyle="width:800px; border-color:Aqua; border-width:thin;"
styleClass="AFStretchWidth">
Is there any way to increased the width of showDetailItem of panelTabbed ?
ThanksMake sure the stretchChildren property of the shoDetailItem is set to first.
-
Can i change the border thickness in numbers for ipad
I can't figure out how to change the thickness of a border when you want to add a border around a cell... Can anyone shed light on this problem?
Jeff,
Printing has definitely gotten worse with Numbers 3.0. Apple published a list of items they are addressing here:
http://support.apple.com/kb/HT6049
You can continue to use the previous version which is located in the folder "/Applications/iWork '09"
The only way I know to "fix" this problem is to print to PDF directly to Preview, then crop (using the rectangular selection tool and the menu item "Tools > Crop") and print again.
Maybe you are looking for
-
Here is quick question for you weblogic Guru's :P I have a multi tier setup with 3 web servers and 3 app servers My web servers are apache running the weblogic proxy plugin. Now.. As far as i can tell my web servers (apache) are handling all the SSL
-
XPath expression for Native Schema (Opaque)
Hi people, I have a BPEL process that dequeues a message using AQ Adapter, and we are using a Native (Opaque) schema for that, since we do not have the XSD available for this message. The XML Message generated is: <?xml version="1.0" encoding="UTF-8"
-
Do I have to login every time I access Apple discussions using Safari
Is there a way to stay logged in on my Apple ID on the Apple website. Each time I launch Safari and go to Apple Discussions I have to manually login. I seem to remember in the past I didn't need to do this, maybe on older OS X, maybe I've changed a p
-
Regards : Edit document locally
HIII friends, I am going through a very strange scenerio. When on one users machine I am editing a document locally it is giving me Error Operation Failed. Now on another machine when I am editing the document Succesfully when I am login as adminis
-
Knowledge Warehouse Workflow problem
Hello Experts, I have a deal with Internal Knowledge Warehouse in Solution Manager. My task is to make work 2 workflows "Approval" and "Copy Edit" for creation documents in 2 main project management transactions RMMAIN and SOLAR01 (document areas IWB