ALV resizing Custome container
Hi All,
How can i resize Custom controler area based on the number of records i fetch..
Regards
Anuj
We cannot resize the custom container area dynamically using ABAP code.Try using docking container instead.
Similar Messages
-
Handle "Enter" inside Custom Container
Hi all,
I am having 4 to 5 fields in my module pool screen and at the same time i am having a custom container wherein, there is editable ALV.
Here in editable ALV, i am having an editable field called dealer code.When i enter dealer code in editable ALV and press enter
my dealer name and dealer address in editable ALV [inside Custom Container] should get populated.
But when the cursor is inside the custom container [in that editable field] none of my screen events[Module pool events]
are getting triggered [Hence my values are not getting populated.When the cursor is outside the custom container all my module pool events are working fine, hence values are getting populated....
Is there anyway to handle this???
I am using OOPS Editable ALV inside a custom container...
Waiting for your repiles...Hello,
You have to implement events in order to handle your ALV, take a llok to this PDF:
http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907
Take a look on section EVENT BASED ADDITIONAL FUNCTIONALITIES->Making ALV Grid Editable
Bye!!
Gabriel P- -
Dynamically change in size of the custom container using ALV GRID (OOPS)
Hi Gurus!!!!
I have an issue with the output of the report which is developed using ALV GRID (OOPS). I have used the custom container occupying full screen (Screen painter). When I execute the report using my PC the output displays report as expected in full screen. The problem is when we execute this report in 19 INCH monitor then there is always gap below the report.
As per my understanding we should have a code to change the size of custom container dynamically.
Please suggest some help on this.
Thanks,
Hemal ShahHi,
If you set the attributes, Resizing - Vertical and Horizontal for the customer container, than system will resize the size of the custome continer as per the resolution.
Hope it helps,
Sumana -
Alv grid dispaly in custom container....?
Hay friends i have shown ALV grid display in custom container .....in that some fields are input fields...
how can i modify my internal table (which is shown in ALV )...by knowing that this field is changed...i need to update in my internal table...
need help...
reply soon...Hello
All you need to know can be found in thread About events of class cl_gui_alv_grid and the links mentioned therein.
Regards
Uwe -
Displaying ALV output in whole screen when using with custom container
I have created a custom container and displaying output of a table in the ALV format using call method grid->set_table_for_first_display. But the output does not display in the entire screen. I want the output to cover the whole screen depending on user screen resolution. The code is given below for reference.
create object grid
exporting
i_parent = g_custom_container.
call method grid->set_table_for_first_display
exporting
IS_VARIANT = ld_variant
I_SAVE = 'A'
is_layout = layout_alv_grid
changing
it_outtab = final_display_itab
it_fieldcatalog = itab_fieldcatalogHello,
DATA: go_splitter TYPE REF TO cl_gui_splitter_container,
go_container TYPE REF TO cl_gui_container,
go_grid TYPE REF TO cl_gui_alv_grid.
CREATE OBJECT go_splitter
EXPORTING
parent = cl_gui_container=>default_screen
rows = 1
columns = 1
metric = '0001'.
go_container = go_splitter->get_container( row = 1 column = 1 ).
CREATE OBJECT go_grid
EXPORTING
i_parent = go_container.
Regards,
Ernst -
Should Standard Toolbar FIND work on an ALV within a custom container ?
I have an ALV in a custom container on a screen.
The FIND and FIND NEXT of the ALV toolbar work fine against the grid.
Should the FIND and FIND NEXT of the standard toolbar also work against the ALV if they are "activate" in the GUI status?
If so, what do I call/execute in response to the "FIND" ok-code?
I've tried calling the function ALV_POPUP_TO_SEARCH2 and the popup comes up, but it doesn't do anything.
Please advise at your earliest convenience.
Thanks
djhHi Rich,
Absolutely. Especially as they can paint the picture, and then blame the techies when their fiction is exposed.
Similarly, we had a situation where the Expense Report WD was failing, and the functional person ensured that everyone knew it was a technical problem and therefore my fault (with SAP as the popular co-conspirator).
Sadly the message above the Java stack messages was "No entry in table T706Z for argument ' '". Had the functional check their config and all was well. No one apologised though......
Last week at a different site the same thing happened (this time with TA20C) but the funky took one look at it and reviewed their config to solve - so they're not ALL the same.
Cheers
Gareth -
Refresh Editable ALV Grid inside a custom Container
Hello all,
I am having a screen with custom container in which i am populating datas and a entry screen which is going to have my
filtering condition for this custom container screen..
The problem i am facing is whenever i come out of the custom container screen after displaying and again give the
necessary filtering data in the previous screen...
the custom container screen displays wrong values...
But when i refresh the data with the refresh icon in the container right datas are coming...
I even used CALL METHOD C_ALVGD->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = STABLE
EXCEPTIONS
FINISHED = 1
OTHERS = 2. after displaying the values using
CALL METHOD C_ALVGD->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IT_TOOLBAR_EXCLUDING = T_FUNC
IS_LAYOUT = IT_LAYOUT
I_SAVE = 'A'
CHANGING
IT_OUTTAB = IT_ZCAWNT_V
IT_FIELDCATALOG = IT_FCAT
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.
I have refreshed my internal table once when i display and again fetched from the DB according to the filtering conditions given
in the first screen.
I have tried clearing the Object created once when i display and again recreated it.But could not get the output.
solution would be really helpful...Hey all,
Thanks a lot for helping me...
The problem is solved....
i just used,
CALL METHOD C_ALVGD->FREE. 'Grid inside the container
CLEAR C_ALVGD.
CALL METHOD C_CCONT->FREE. "Container
CLEAR C_CCONT.
when i click BACK Button from screen 2 to screen1. -
Problem with ALV in Docking container
Dear All,
I have created an <b>editable ALV</b> in a <b>docking container</b>. In this ALV there are some custom buttons in the toolbar. In case a custom activity, in the toolbar, is executed some checks are performed which when fail an error message issued.
The problem: After the error msg is received if the user corrects the error and re-executes the toolbar custom activity the execution of the program is being terminated and it takes me out of the transaction which should not be the case. I tried to debug/place a hard break-point at the piece of code which should be executed but no success..
Note: In case i use a custom control then everything is working fine. The reason i want to use a docking container over a custom container, is that if the ALV is placed in a docking container it occupies the complete screen area irrespective of the resolution of the screen.
Can anyone help as to why this problem is happening and how it can be resolved.
Thanks in advance for your help.
regards
NiteshWell, if you want to try to use a custom container, the trick is to make the screen really big, and then make the container just as big, then double click on the control in screen painter, and set the vertical and horizontal resizing. Doing this will make the ALV adjust depending on screen resolution.
Regards,
RIch Heilman -
Changing width of a custom container dynamically
Hi,
I have an ABAP report that has 2 custom containers on a screen: CC1 on the left, showing a tree and another one (CC2) consuming the rest of the screen. Depending on what node the user selects in the tree (left CC), I would like to dynamically adjust the width of CC1 and CC2.
Is there a way to do it? I found the method SET_WIDTH of CL_GUI_CUSTOM_CONTAINER (which CC1 and CC2 are instances of), but it does not seem to work.
Any help is appreciated.
GuentherHere is a coding example that demonstrates dynamically changing the width of the container.
What you cannot see is the screen definition. Screen 100 has a single custom container that fills the entire screen and is set to be resizable. The container name is 'MY_CONTAINER'. Next screen is set to 0.
Flow logic of screen:
PROCESS BEFORE OUTPUT.
MODULE pbo.
PROCESS AFTER INPUT.
Cut and paste this program and define the screen. Run the program and keep hitting ENTER to see the size change from left to right. After 9 times, the program will end.
REPORT zcdf_docking_example.
DATA:
w_sash TYPE sy-index,
r_cstm_ctnr TYPE REF TO cl_gui_custom_container,
r_easy_splt_ctnr TYPE REF TO cl_gui_easy_splitter_container.
CLASS cl_gui_easy_splitter_container DEFINITION LOAD.
DO 9 TIMES.
w_sash = sy-index * 10.
CALL SCREEN 100.
ENDDO.
MODULE pbo OUTPUT.
IF r_cstm_ctnr IS INITIAL.
CREATE OBJECT r_cstm_ctnr
EXPORTING container_name = 'MY_CONTAINER'.
CREATE OBJECT r_easy_splt_ctnr
EXPORTING
parent = r_cstm_ctnr
orientation =
cl_gui_easy_splitter_container=>orientation_horizontal.
* Set starting sash position. Position is a percentage.
CALL METHOD r_easy_splt_ctnr->set_sash_position
EXPORTING
sash_position = w_sash.
* Put ALV in left container.
* CREATE OBJECT r_alv_grid1
* EXPORTING
* i_parent = r_easy_splt_ctnr->top_left_container.
* Put ALV in right container.
* CREATE OBJECT r_alv_grid2
* EXPORTING
* i_parent = r_easy_splt_ctnr->bottom_right_container.
ELSE.
CALL METHOD r_easy_splt_ctnr->set_sash_position
EXPORTING
sash_position = w_sash.
ENDIF.
ENDMODULE. " pbo OUTPUT
Let us know how it goes. -
Issue with Submitting a ALV report in container ...
Hello Gurus,
I know how to display data in ALV in container on screen. My issue is, I have a container defined on screen. I have a separate report whose output is in the ALV form.
Now if I submit the report in the PBO, I do not get the ALV output of that report in custom container defined on screen, but the report as a whole gets executed.
How can I submit a report and still get its output on ALV container.
MODULE STATUS_0100 OUTPUT.
CREATE OBJECT CUSTOM2
EXPORTING
CONTAINER_NAME = 'CUSTOM2'.
CREATE OBJECT GRID1
EXPORTING
I_PARENT = custom2.
perform loaddata2.
ENDMODULE.
FORM loaddata2.
DATA: v_sp like rsparams occurs 0 with header line.
V_SP-SELNAME = 's_usr'.
V_SP-KIND = 'P'.
V_SP-LOW = 'X'.
APPEND V_SP.
submit ZREPT with selection-table v_sp and return.
ENDFORM.
Please help.
Regards,
Jainam.
Edited by: Jainam Shah on Apr 20, 2010 7:23 PM
Edited by: Jainam Shah on Apr 20, 2010 7:24 PMHi,
In your ZREPT report define a parameter( called ) one character that is not displayed. Set this parameter 'X' before submit statement. In ZREPT report check this parameter;
if called is not initial. (It means the report is submitted from the other report)
export result table to memory id 'MEMORYID'.
endif.
Then in report from which you submitted ZREPT, import result table from memory id 'MEMORYID'. Then display the result table in your grid. -
Hi,
I want to reuse the same custom container screen for a different data.
First screen there will be button 1 and button 2
if I click button 1 then calculate and display data in custom container, if button 2 is clicked then calculate and display data with in the same custom container.
For this
1. Created Custom container - CONTAINER
2. In program defined and created custom container and custom alv grid
g_custom_container TYPE REF TO cl_gui_custom_container,
alv_grid TYPE REF TO cl_gui_alv_grid.
IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING
container_name = 'CONTAINER'.
CREATE OBJECT alv_grid
EXPORTING
i_parent = g_custom_container.
ENDIF.
3. Display data using CALL METHOD alv_grid->set_table_for_first_display
every thing works great for button 1
4. when button 2 is clicked then calculate and display different set of data in same custom container which is used earlier.
5. here I used
call method alv_grid->free.
call method g_custom_container->free.
6. create above objects once again and tried to use
call method alv_grid->set_table_for_first_display
, to reuse the same custom container 'CONTAINER' again for a different set of data and getting ABAP dump.
In debug mode, when I used the above method FREE for both ALV_GRID and G_CUSTOM_CONTAINER objects are not clearing.
Please let me know how can I reuse the same container for a different set of data when button2 is pressed.
Thanks in advance,
Krishna
Please use code tags to format your code and post in the correct forum
Edited by: Rob Burbank on Oct 1, 2010 2:37 PMHello Krishna
I would recommend to use a different approach instead of trying to initialize your container instances:
DATA:
go_container_1 TYPE REF TO cl_gui_custom_container,
go_container_2 TYPE REF TO cl_gui_custom_container,
go_grid_1 TYPE REF TO cl_gui_alv_grid,
go_grid_2 TYPE REF TO cl_gui_alv_grid.
" NOTE: Do this coding BEFORE calling the screen
* (1) Create 2 containers
CREATE OBJECT g_container_1
EXPORTING
container_name = 'CONTAINER'.
CREATE OBJECT g_container_2
EXPORTING
container_name = 'CONTAINER'.
" NOTE: If it is not possible to use the same container name then either create an additional
" dummy screen having a second CUSTOM_CONTROL element or replace
" the customer containers with docking containers -> here you do not need to give a container name
* (2) Create 2 grid instances using a different container
* (3) Link the first container to the screen using its LINK method:
CALL METHOD go_container_1
EXPORTING
repid = <...>
dynnr = <...>.
* (4) Perhaps you need to define a second dummy screen to which you link the second container
* (5) Display first grid instance (as default)
Now when the user pushes button 2 (to display the second grid) link container_1 to the dummy screen
and link container_2 to your main screen.
Regards
Uwe -
Help Regarding a Picture Display in Customer Container.
Hi,
I am generating a ALV report output with an ICON in every line to show the corresponding picture of the material in a Pop-up window.
Now for displaying the picture at usercommand from ALV ,
HTML browser is placed on the custom container screen and the URL is passed to the variable EDURL which helps in processing the material picture on the screen.
The issues that in this process is.. Picture pop-up currently shows briefly the previous picture before retrieving requested image .
Please help me to solve this,
Thanks
Priyanka.Hi,
While calling the pop up clear, refresh all the variables and pass the new values.
I guess when you are calling the Image for first time you are not getting any delay or previous image.
So basically see the variables when calling for the first time and implement for the rest of times also.
BR
Dep -
Hi all,
I have read that you use Custom container class for oops alv. But i have not found an answer as to why do we have to use the class.
Can't we just use ALV class only (Cl_gui_alv_grid) ?.
Regards
VarunYou can only create a grid display in a container...while creating the object for grid contol you have to pass the object reference of the custom container...check out the following for details...
*& Report ZTEST_DEMO_ALV
report ztest_demo_alv.
class cl_event_reciever definition deferred.
data:
wa_vbak type vbak.
data:
i_vbak type standard table of vbak,
i_vbap type standard table of vbap.
data:
v_container1 type scrfname value 'CONT1',
v_grid1 type ref to cl_gui_alv_grid,
v_custom_container1 type ref to cl_gui_custom_container,
v_container2 type scrfname value 'CONT2',
v_grid2 type ref to cl_gui_alv_grid,
v_custom_container2 type ref to cl_gui_custom_container,
ok_code type syucomm,
v_event_reciever type ref to cl_event_reciever.
* CLASS cl_event_reciever DEFINITION
class cl_event_reciever definition.
public section.
methods:
handle_double_click for event double_click of cl_gui_alv_grid
importing e_row e_column.
endclass. "cl_event_reciever DEFINITION
* CLASS cl_event_reciever IMPLEMENTATION
class cl_event_reciever implementation.
method handle_double_click.
read table i_vbak
into wa_vbak
index e_row.
if sy-subrc = 0.
select * from vbap
into table i_vbap
where vbeln = wa_vbak-vbeln.
if sy-subrc = 0.
set screen 00.
leave to screen 100.
endif.
endif.
endmethod. "handle_double_click
endclass. "cl_event_reciever IMPLEMENTATION
select-options:
s_vbeln for wa_vbak-vbeln.
start-of-selection.
select * from vbak
into table i_vbak
up to 50 rows
where vbeln in s_vbeln.
if sy-subrc <> 0.
message i000(z_zzz_ca_messages) with 'No data found!'.
leave list-processing.
endif.
end-of-selection.
call screen 100.
*& Module STATUS_0100 OUTPUT
* text
module status_0100 output.
set pf-status '100'.
* SET TITLEBAR 'xxx'.
if v_custom_container1 is not bound.
create object v_custom_container1
exporting container_name = v_container1.
create object v_grid1
exporting i_parent = v_custom_container1.
call method v_grid1->set_table_for_first_display
exporting
* i_buffer_active =
* i_bypassing_buffer =
* i_consistency_check =
i_structure_name = 'VBAK'
* is_variant =
* i_save =
* i_default = 'X'
* is_layout =
* is_print =
* it_special_groups =
* it_toolbar_excluding =
* it_hyperlink =
* it_alv_graphics =
* it_except_qinfo =
* ir_salv_adapter =
changing
it_outtab = i_vbak
* it_fieldcatalog =
* it_sort =
* it_filter =
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.
create object v_event_reciever.
set handler v_event_reciever->handle_double_click for v_grid1.
endif.
if v_custom_container2 is not bound
and i_vbap is not initial.
create object v_custom_container2
exporting container_name = v_container2.
create object v_grid2
exporting i_parent = v_custom_container2.
call method v_grid2->set_table_for_first_display
exporting
* i_buffer_active =
* i_bypassing_buffer =
* i_consistency_check =
i_structure_name = 'VBAP'
* is_variant =
* i_save =
* i_default = 'X'
* is_layout =
* is_print =
* it_special_groups =
* it_toolbar_excluding =
* it_hyperlink =
* it_alv_graphics =
* it_except_qinfo =
* ir_salv_adapter =
changing
it_outtab = i_vbap
* it_fieldcatalog =
* it_sort =
* it_filter =
exceptions
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
others = 4
endif.
if v_custom_container2 is bound.
call method v_grid2->refresh_table_display.
endif.
endmodule. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
module user_command_0100 input.
case ok_code.
when 'BACK'.
if v_grid1 is bound.
call method v_grid1->free.
endif.
if v_grid2 is bound.
call method v_grid2->free.
endif.
set screen 00.
leave screen.
endcase.
endmodule. " USER_COMMAND_0100 INPUT -
How to have header for CL_SALV_TABLE displayed in custom container?
Hello ABAP Objects Community, I am trying to write report using CL_SALV_TABLE and using a screen created in SE51 with a custom container control in which to put ALV grid. However, when I try to put a header on the table, it does not display.
In reading the SAP help for "Display List Header and Footer", there is a grid that shows under what conditions the SET_TOP_OF_LIST can be used. eg- Classic ABAP List, FullScreen, InTheContainer. And for InTheContainer it is showing "No".
I found the demo program SALV_DEMO_TABLE_SELECTIONS. Look at form d0100_pbo. This is what I am trying to do, except that I want it to have headers/footers.
If it is not possible to have headers/footers when using CL_SALV_TABLE in a container, what would be the coding technique for achieving this?
Best Regards,
Dean Atteberry.
Edited by: Dean Atteberry on Jul 27, 2009 11:01 PM
Edited by: Dean Atteberry on Jul 27, 2009 11:03 PM
Edited by: Dean Atteberry on Jul 27, 2009 11:03 PMThank you, Marcin, for your reply.
I implemented Namish Patel's code for exercises #1 (basic program) and #5 (header/footer) in abap and ran same. It created alv grid with headers/footers. However, upon looking at his factory statement, it is using the (default) "fullscreen" display type. I am needing to put the alv grid in a container created on a screen in SE51, so am having to use the EXPORTING statement with parameters r_container (points to container object instance) and container_name (literal string name of component).
I found a description of how to use the ABAP control framework in ERPGenie that shows how to do what I was needing.
[http://www.erpgenie.com/sap-technical/abap/abap-control-framework]
Thank you again for responding to my question.
Dean Atteberry.
Edited by: Dean Atteberry on Jul 28, 2009 10:09 PM -
HTML BANNER in screen custom container..
Can someone please give me simple example code or steps to add an HTML banner into a custom container??
check this class CL_DD_DOCUMENT.
and Prorams DD_STYLE_TABLE.
check this blog..
TOP_OF_PAGE in ALV Using CL_GUI_ALV_GRID
Maybe you are looking for
-
Hi all, in a programm there is a ALV grid of type cl_gui_alv_grid. When I run the programm, I can change the layout (hide columns etc) but I can't save the changes I make. What do I have to do to activate the saving of the layout? Which field do I ha
-
How can you remove your e-mail on your profile? (Apple Support)
How can you remove your e-mail on your profile? (Apple Support)
-
Home button unresponsive due to Mail?
I've recently started to notice that my home button has been a little unresponsive. Sometimes a single click won't work at all and it takes a few tries to get it to quit an app. Someitmes two clickes does what one click is supposed to do, sometimes i
-
I think thats the topic Network: On Scan of the manual is wrong
I'm had troubles with this property (http://zone.ni.com/reference/en-XX/help/371618F-01/lvdscprop/sv_network_on_scan/) . I'm developing a system who creates all variables programmatically and i read about the properties to setup them. In the manual t
-
Hi all, Currently i m in RK Foodland PVT Lmd,Bombay...Which is retail company........... Here they want me to study.XI Devlopement.......so pls,tell me some good institutes for XI Training in Mumbai......or can i do that by self-study? Pls,Give m