Sample coe to use class CL_GUI_ALV_GRID
Hi All,
I am having 2 internal tables.
I need to display the data in these 2 internal tables using ALV.
I am using the function module REUSE_ALV_LIST_DISPLAY 2 times for 2 internal tables to display data.
But two outputs are not coming on same screen.
Can any one give me a sample program to use class CL_GUI_ALV_GRID to display 2 List.
Screen for two custom controls I will create.
I just need to display data.
Pls Guide
zsat_alvoops_final.
TABLES: vbap, vbak.
TYPES : BEGIN OF str1,
mvbeln TYPE vbeln,
mposnr TYPE posnr,
mmatnr TYPE matnr,
mkwmeng TYPE kwmeng,
mmeins TYPE meins,
mpstyv TYPE pstyv,
END OF str1.
DATA: grid TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container,
it_fcat TYPE lvc_t_fcat,
zsat_alvfcat2 TYPE STANDARD TABLE OF str1.
DATA : oit TYPE TABLE OF str1,
v_vkorg TYPE vbak-vkorg,
v_vtweg TYPE vbak-vtweg,
v_vkbur TYPE vbak-vkbur,
v_vkgrp TYPE vbak-vkgrp,
v_erdat TYPE vbak-erdat,
v_bsark TYPE vbak-bsark,
v_spart TYPE vbap-spart,
wa TYPE str1.
SELECT-OPTIONS : s_vkorg FOR v_vkorg,
s_vtweg FOR v_vtweg,
s_vkbur FOR v_vkbur,
s_vkgrp FOR v_vkgrp,
s_erdat FOR v_erdat,
s_bsark FOR v_bsark,
s_spart FOR v_spart.
SELECT vbak~vbeln vbap~posnr vbap~matnr vbap~kwmeng vbap~meins vbap~pstyv
INTO TABLE oit
FROM vbak INNER JOIN vbap ON vbak~vbeln = vbap~vbeln
WHERE ( vbak~vkorg IN s_vkorg ) AND ( vbak~vtweg IN s_vtweg ) AND ( vbak~vkbur IN s_vkbur )
AND ( vbak~vkgrp IN s_vkgrp ) AND ( vbak~erdat IN s_erdat ) AND ( vbak~bsark IN s_bsark ) AND ( vbap~spart IN s_spart ).
CALL SCREEN 9000.
MODULE status_9000 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING
container_name = 'CCONTAINER'.
CREATE OBJECT grid
EXPORTING
i_parent = g_custom_container.
ENDIF.
CALL METHOD grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZSAT_ALVFCAT2' * this is the custom structure which has been made in SE11 remember to declare it in this program in DATA.
CHANGING
it_outtab = oit.
ENDMODULE.
Similar Messages
-
Need samples how to use classes in WebDynpro
Hi,
I Need To simple Samples how to use classes in WebDynpro.
RegardsContinued....
and in the model
right click->create model
select the radio button import java bean .
next ADD jars option will be seen
Browse the jar on the dekstop.
now add this model to the used models by right clicking on it.
Now if you go to Data Modeler.
You will find the used model.
From there map to the component controller->view Controller.
And continue with ur coding.
Hope this helps you.
Thanks & Regards,
Lokesh. -
ALV List Display using Class cl_gui_alv_grid
Hi Experts,
I am using Class cl_gui_alv_grid to display data in ALV,
Now It is being dispaly in Grid format. My Requirement is to display default in List format.
Can you guide me?
Points assured for useful answers.Hi,
In this class we have Variants and LAYOUT attributes. Pls try to use them for the list dispplay.
Or we can use the SET_FRONTEND_LAYOUT methos wchich has IS_LAYOUT attribute of type LVC_S_LAYO where we can provide the widht,height etc of a output so that it can appear as list.
Reward if helpful.
Best Wishes,
Chandralekha -
How to display LOGO in ALV grid when using class CL_GUI_ALV_GRID
Hello everyone,
please let me know how to display Company logo as the header part in the report program with the class cl_gui_alv_grid.
Thanks and regards,
Padma.Hi,
Got this info from a site.
http://sap.ittoolbox.com/documents/document.asp?i=3213
In the transaction OAOR, you should be able to insert your company Logo.
GOTO - OAOR (Business Document Navigator)
Give Class Name - PICTURES Class Type - OT..... then Execute
It will show you the list, then select ENJOYSAP_LOGO.
On that list, you will find one control with a "create" tab.
Click std. doc types.
Select SCREEN and double-click.
It will push FILE selection screen.
Select your company logo (.gif) and press OK.
It will ask for a description- for instance: "company logo".
It will let you know your doc has been stored successfully.
You can find your logo under ENJOYSAP_LOGO->Screen->company logo.
Just run your ALV program, you should find your company logo in place of the EnjoySAP logo.
Try this one.
Also have a look at this link
http://www.sap-img.com/fu002.htm
Message was edited by: Judith Jessie Selvi -
How many columns can be display if use Class cl_gui_alv_grid?
Hi,
I have a fieldcat table which contains 200 items. But it only shows about 90 columns in my alv display.
I use function: LVC_FIELDCATALOG_MERGE to build fieldcatory and I found there are 200 records in my fieldcatory internal table when I debug it.
Can anyone give me some advise to show full culomns in my alv display?
Thanks a lot~Hi,
In Debug mode check check the NO_OUT field for each entry in the Field Catalog. If it has the value X for some fields then those fields will not be displayed.
Or check is there any Layout Variant is passed to the IS_VARIANT parameter. -
I NEVER USED OOPS CONCEPT.BUT I GOT A TASK ON ALV REPORT USING class CL_GUI_ALV_GRID, call method SET_TABLE_FOR_FIRST_DISPLAY for ALV . I HAD PASSED THE VALUES FROM INTERNAL TABLE AND GOT OUTPUT IN ALV.
The problem is When i save an layout(default setting button ).
iam unable to get the output for all fields.
if u want i will send screenshots to ur mail
THANKS IN ADVANCE.ok fine,
In the output (alv grid) there is an icon for layout settings.
if i want to save layout (as DEFAULT SETTING) i am missing some fields in output
EX:
mat no | batch | proces order | time | date |
when i save layout (as DEFAULT SETTING) i am missing some fields in output
mat no | batch |
the rest of the field were not displayed.
if u are not clear just ask me. i will send some more examples. -
Changing fields color in CL_GUI_ALV_GRID using class
Hi,
I've written a lot of posts but still I have problem with changing color for CL_GUI_ALV_GRID.
I have class ZKSL_CL_4_17_ALV_GRID_OO with 3 methods : SELECT, HANDLE_DBL_CLICK AND DISPLAY_ALV
I want to change fields color every time I double click on IT.
METHOD SELECT.
DATA:
lt_sflight TYPE TABLE OF zkslt_sflight,
ls_layout TYPE lvc_s_layo,
lr_custom_container TYPE REF TO cl_gui_custom_container,
lr_my_class TYPE REF TO zksl_cl_4_17_alv_grid_oo.
SELECT * FROM zkslt_sflight INTO TABLE mt_sflight
WHERE carrid = iv_carrid AND
( fldate IN it_date OR
price IN it_price OR
planetype IN it_type )
CALL FUNCTION 'Z_KSL_SCREEN'.
ENDMETHOD.
from FM z_ksl_screen i call screen 400 and from status_400 output I call method DISPLAY_ALV
METHOD display_alv.
DATA:
lr_custom_container TYPE REF TO cl_gui_custom_container,
lt_sflight TYPE TABLE OF zkslt_sflight,
lt_catalog TYPE STANDARD TABLE OF lvc_s_fcat,
ls_catalog LIKE LINE OF lt_catalog,
ls_layout type slis_layout_alv,
lr_my_class TYPE REF TO zksl_cl_4_17_alv_grid_oo.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZKSLT_SFLIGHT'
CHANGING
ct_fieldcat = lt_catalog[].
************BULID LAYOUT
ls_layout-no_input = 'X'.
ls_layout-colwidth_optimize = 'X'.
ls_layout-totals_text = 'Totals(201)'.
ls_layout-info_fieldname = 'LINE_COLOR'.
IF mr_gui_alv_grid IS INITIAL. "-----------------------------------if----------------------&
CREATE OBJECT: lr_custom_container
EXPORTING
container_name = 'DISPLAY',
lr_my_class.
CREATE OBJECT mr_gui_alv_grid
EXPORTING
i_parent = lr_custom_container.
SET HANDLER lr_my_class->handle_dbl_click FOR mr_gui_alv_grid.
CALL METHOD mr_gui_alv_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZKSLT_SFLIGHT'
is_layout = ls_layout
i_save = 'A'
CHANGING
it_outtab = Mt_sflight
it_fieldcatalog = lt_catalog.
ELSE. "-------------------------------------------------ELSE---------------------&
mr_gui_alv_grid->refresh_table_display( ) .
ENDIF.
ENDMETHOD.
In handler i am trying to change fields color and call method display sending new out_table
CALL METHOD me->display_alv
CHANGING
ct_fieldcat = lt_fieldcat.
Please give me some easy advice how to do that.
thank you in advice.Thank you Klaus for your reply,
The problem is that I need to make this using classes.
I tried to make my structure data with LVC_T_SCOL as you wrote,
a field of table type LVC_T_SCOL in the structure of your output table
DATA BEGIN OF lt_data.
INCLUDE STRUCTURE sflight.
DATA cellcolors TYPE lvc_t_scol .
DATA END OF lt_data.
TYPES: BEGIN OF mtt_tab.
* INCLUDE STRUCTURE ZKLST_sflight. " I get error that I cannot use ref to abap dic
INCLUDE TYPE ZKSLT_SFLIGHT.
TYPES: cellcolors TYPE lvc_t_scol ,
END OF mtt_tab.
After making type mtt_tab
i declare data lt_tab TYPE STANDARD TABLE OF mtt_tab.
and when I try to copy table mt_sflight (it is atribut of calss) like below
LOOP AT mt_sflight INTO ls_mt .
* READ TABLE lt_tab INDEX sy-tabix ASSIGNING <ls_tab>.
* MOVE-CORRESPONDING <ls_mt> TO <ls_tab>.
* UPDATE lt_tab FROM TABLE mt_sflight.
MOVE-CORRESPONDING ls_mt to lt_tab.
ENDLOOP.
I am getting error "lt_tab is not internal str or table with header"
Can you help me with this? -
Use of a method in class CL_GUI_ALV_GRID
Dear all,
I have a requirement in which i have to use the method - SHOW_GRAPHICS of the class - CL_GUI_ALV_GRID, but the problem is there is a red traffic light in front of the method. Now my dilemma is how to turn that light green so that i can use this method.
Kindly help.
Thanks,
Saurabh Chauhan.The red light says that it is a private method .. So it means that this method can not be used out side the class !
There is a way out ... Create your own class that ZCL_GUI_ALV_GRID that inherits the CL_GUI_ALV_GRID.
Here you create a public method my_method and in this method call the private method.
Warning : If the architect had created that method as a Private one ... he must have done it for a reason .. may be this method has access to some attributes that must not be made available to the outside world ... which might cause serious damage !!
Rule 1: Trust the architect .. If he has made it private.. it is for a reason... and Ideally there can not be any case why some one else would use this method out side the class..
Hint: May be it is possible to achieve the same without using this method (in a different way) ..
Regards,
Varun. -
How we can use class and methods for the FM of reuse_alv_list_display
Hi Abapers,
Please provide the sample code of class and method of REUSE_ALV_LIST_DISPLAY.
Which Class i can use for this Function module.
I need to write a code using OOPS concept.
I was done the GRID display using this class cl_gui_alv_grid.
But i want only List Display using the class & methods.
Plz provide sample code.
Thanks
Nani.Hi Nani,
This is the sample code..
*& Report Z_OO_ALV
*& We can Use Two containers in OOALV
REPORT z_oo_alv LINE-COUNT 50.
*types gt_struct type sflight.
DATA BEGIN OF gt_struct.
INCLUDE STRUCTURE sflight.
DATA rcol(4) TYPE c.
DATA colors TYPE lvc_t_scol.
DATA END OF gt_struct.
*ALV GRIDs
DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid.
DATA gr_alvgrid1 TYPE REF TO cl_gui_alv_grid.
DATA gc_custom_control_name TYPE scrfname VALUE 'CC_ALV'.
DATA gc_custom_control_name1 TYPE scrfname VALUE 'CC_ALV1'.
*CONTAINERs
DATA gr_ccontainer TYPE REF TO cl_gui_custom_container.
DATA gr_ccontainer1 TYPE REF TO cl_gui_custom_container.
*FIELDCATALOGs
DATA gt_fieldcat TYPE lvc_t_fcat WITH HEADER LINE.
DATA gt_fieldcat1 TYPE lvc_t_fcat WITH HEADER LINE.
*LAYOUTs
DATA gs_layout TYPE lvc_s_layo.
DATA gs_layout1 TYPE lvc_s_layo.
DATA pt_exclude TYPE ui_functions. "internal table declaration to be passed.
*DATA pt_cell TYPE lvc_t_cell with header line.
DATA : gt_list LIKE gt_struct OCCURS 50 WITH HEADER LINE,
gt_list1 LIKE gt_struct OCCURS 50 WITH HEADER LINE.
*DATA v_ucomm TYPE sy-ucomm.
CALL SCREEN 100.
*& Module display_alv OUTPUT
text
MODULE display_alv OUTPUT.
PERFORM display_alv.
ENDMODULE. " display_alv OUTPUT
*& Module PAI INPUT
text
MODULE pai INPUT.
CASE sy-ucomm.
WHEN 'EXIT'.
PERFORM exit_program.
WHEN 'PICK'.
PERFORM cell_info.
ENDCASE.
ENDMODULE. " PAI INPUT
*& Form display_alv
text
FORM display_alv.
PERFORM prepare_field_catalog CHANGING gt_fieldcat[].
PERFORM prepare_layout CHANGING gs_layout.
PERFORM data_retrival.
IF gr_alvgrid IS INITIAL.
CREATE OBJECT gr_ccontainer
EXPORTING
container_name = gc_custom_control_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.
ENDIF.
CREATE OBJECT gr_alvgrid
EXPORTING
I_SHELLSTYLE = 0
I_LIFETIME =
i_parent = gr_ccontainer
I_APPL_EVENTS = space
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
I_FCAT_COMPLETE = SPACE
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.
PERFORM exclude_tb_functions CHANGING pt_exclude.
PERFORM set_col.
CALL METHOD gr_alvgrid->set_table_for_first_display
EXPORTING
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
is_layout = gs_layout
IS_PRINT =
IT_SPECIAL_GROUPS =
it_toolbar_excluding = pt_exclude "excluding toolbar functions
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
IR_SALV_ADAPTER =
CHANGING
it_outtab = gt_list[]
it_fieldcatalog = gt_fieldcat[]
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.
ELSE.
CALL METHOD gr_alvgrid->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
finished = 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.
ENDIF.
PERFORM prepare_field_catalog1 CHANGING gt_fieldcat1[].
PERFORM prepare_layout1 CHANGING gs_layout1.
PERFORM data_retrival1.
IF gr_alvgrid1 IS INITIAL.
CREATE OBJECT gr_ccontainer1
EXPORTING
container_name = gc_custom_control_name1
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.
ENDIF.
CREATE OBJECT gr_alvgrid1
EXPORTING
I_SHELLSTYLE = 0
I_LIFETIME =
i_parent = gr_ccontainer1
I_APPL_EVENTS = space
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
I_FCAT_COMPLETE = SPACE
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.
PERFORM set_col1.
CALL METHOD gr_alvgrid1->set_table_for_first_display
EXPORTING
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
is_layout = gs_layout1
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
IR_SALV_ADAPTER =
CHANGING
it_outtab = gt_list1[]
it_fieldcatalog = gt_fieldcat1[]
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.
ELSE.
CALL METHOD gr_alvgrid1->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
finished = 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.
ENDIF.
ENDFORM. "display_alv
*& Form prepare_field_catalog
text
-->GT_FIELDCAT text
FORM prepare_field_catalog CHANGING pgt_fieldcat TYPE lvc_t_fcat.
DATA ls_fieldcat TYPE lvc_s_fcat.
ls_fieldcat-tabname = 'gt_list'.
ls_fieldcat-fieldname = 'CARRID'.
ls_fieldcat-scrtext_m = 'Air line code'.
ls_fieldcat-col_pos = 0.
ls_fieldcat-outputlen = 10.
ls_fieldcat-emphasize = 'C400'.
ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO pgt_fieldcat.
ls_fieldcat-tabname = 'gt_list'.
ls_fieldcat-col_pos = 1.
ls_fieldcat-fieldname = 'CONNID'.
ls_fieldcat-scrtext_m = 'Connection code'.
ls_fieldcat-emphasize = 'C900'.
APPEND ls_fieldcat TO pgt_fieldcat.
ls_fieldcat-tabname = 'gt_list'.
ls_fieldcat-fieldname = 'PRICE'.
ls_fieldcat-scrtext_m = 'PRICE'.
APPEND ls_fieldcat TO pgt_fieldcat.
ENDFORM. "prepare_field_catalog
*& Form prepare_layout
text
-->GS_LAYOUT text
FORM prepare_layout CHANGING gs_layout TYPE lvc_s_layo.
gs_layout-stylefname = 'FIELD_STYLE'.
gs_layout-zebra = 'X'.
gs_layout-grid_title = 'FLIGHT'.
gs_layout-sel_mode = 'A'.
gs_layout-ctab_fname = 'COLORS'.
ENDFORM. "prepare_layout
*& Form data_retrival
text
FORM data_retrival.
SELECT carrid
connid
price
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE gt_list
UP TO 50 ROWS.
ENDFORM. "data_retrival
FORM EXIT_PROGRAM *
FORM exit_program.
CALL METHOD gr_ccontainer->free.
CALL METHOD gr_ccontainer1->free.
LEAVE TO SCREEN 0.
ENDFORM. "exit_program
*& Module STATUS_0100 OUTPUT
text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STAT'.
SET TITLEBAR 'xxx'.
IF W_CUSTOM_CONTAINER IS INITIAL.
**sets TITLEBAR
PERFORM TITLEBAR.
ENDMODULE. " STATUS_0100 OUTPUT
*& Form prepare_field_catalog1
text
-->GT_FIELDCAT text
FORM prepare_field_catalog1 CHANGING pgt_fieldcat1 TYPE lvc_t_fcat.
DATA ls_fieldcat TYPE lvc_s_fcat.
ls_fieldcat-tabname = 'gt_list1'.
ls_fieldcat-fieldname = 'SEATSMAX'.
ls_fieldcat-scrtext_m = 'MAX. SEATS'.
ls_fieldcat-col_pos = 0.
ls_fieldcat-outputlen = 10.
ls_fieldcat-emphasize = 'C400'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO pgt_fieldcat1.
ls_fieldcat-tabname = 'gt_list1'.
ls_fieldcat-col_pos = 1.
ls_fieldcat-fieldname = 'SEATSOCC'.
ls_fieldcat-scrtext_m = 'SEATS OCCUPIED'.
APPEND ls_fieldcat TO pgt_fieldcat1.
ENDFORM. "prepare_field_catalog
*& Form prepare_layout1
text
-->GS_LAYOUT text
FORM prepare_layout1 CHANGING gs_layout1 TYPE lvc_s_layo.
gs_layout1-stylefname = 'FIELD_STYLE'.
gs_layout1-zebra = 'X'.
gs_layout1-grid_title = 'DETAILS'.
gs_layout-sel_mode = 'C'.
gs_layout1-info_fname = 'RCOL'.
gs_layout-no_toolbar = 'X'.
ENDFORM. "prepare_layout
*& Form data_retrival1
text
FORM data_retrival1.
SELECT seatsmax
seatsocc
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE gt_list1
UP TO 50 ROWS.
ENDFORM. "data_retrival
*& Form exclude_tb_functions
&---- subroutine to exclude toolbar options -
text
-->PT_EXCLUDE text
FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions.
DATA ls_exclude TYPE ui_func.
ls_exclude = cl_gui_alv_grid=>mc_fc_maximum.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_minimum.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_subtot.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_sort.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_sum.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_mb_subtot.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_mb_sum.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_mb_filter.
APPEND ls_exclude TO pt_exclude.
ENDFORM. "data_retrival1
*& Form cell_info
text
FORM cell_info. "CHANGING pt_cell TYPE lvc_t_cell.
DATA lt_cell TYPE lvc_t_cell WITH HEADER LINE.
CALL METHOD gr_alvgrid->get_selected_cells
IMPORTING
et_cell = lt_cell[].
LOOP AT lt_cell.
WRITE : lt_cell-col_id , lt_cell-row_id.
ENDLOOP.
MODIFY pt_cell[] from lt_cell[].
ENDFORM. "cell_info
*& Form set_col
text
FORM set_col .
DATA ls_cellcolor TYPE lvc_s_scol.
LOOP AT gt_list.
IF gt_list-price GT 500.
ls_cellcolor-fname = 'PRICE'.
ls_cellcolor-color-col = 5.
ls_cellcolor-color-int = 1.
ls_cellcolor-color-inv = 0.
APPEND ls_cellcolor TO gt_list-colors.
else.
ls_cellcolor-fname = 'PRICE'.
ls_cellcolor-color-col = 3.
ls_cellcolor-color-int = 1.
APPEND ls_cellcolor TO gt_list-colors.
ENDIF.
MODIFY gt_list.
ENDLOOP.
ENDFORM. "set_col
*& Form set_col1
text
FORM set_col1.
data : ind type sy-tabix,
indx type sy-tabix.
loop at gt_list1.
ind = sy-tabix / 2.
indx = sy-tabix - ind.
if indx eq ind.
gt_list1-rcol = 'C500'.
endif.
MODIFY gt_list1.
endloop.
ENDFORM. "set_col
*FORM TITLEBAR.
*SET TITLEBAR 'TITLE'.
*ENDFORM.
*double click on TITLE and write ur title
Thanks,
Samantak.
Rewards points for useful answers. -
List display for ALV using class and methods
Hi friends
I want the list display for the ALV using Class and methods
which class and methods i can use.
Here we can't use the REUSE_ALV_LIST_DISPLAY and also GRID
I was done GRID display using class and methods but i want only list display for using class.
plz Give me sample code of list display not for grid.
Thanks
Nani.hi
please check with this code...
declare grid and container.
DATA : o_alvgrid TYPE REF TO cl_gui_alv_grid,
o_dockingcontainer TYPE REF TO cl_gui_docking_container,
i_fieldcat TYPE lvc_t_fcat,"fieldcatalogue
w_layout TYPE lvc_s_layo."layout
If any events like double click,etc., are needed we have to add additional functionality.
call the screen in program.
Then , create the container as follows
IF cl_gui_alv_grid=>offline( ) IS INITIAL.
CREATE OBJECT o_dockingcontainer
EXPORTING
ratio = '95'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
others = 6.
ENDIF.
CREATE OBJECT o_alvgrid
EXPORTING
i_parent = o_dockingcontainer.
Build the fieldcatalog
create a output structure in SEll for the ALV output
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = <alv output>
CHANGING
ct_fieldcat = i_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE i030."Error in building the field catalogue
LEAVE LIST-PROCESSING.
ENDIF.
*If you need to modify the field catalog,modify it using field sysmbols
*setting the layout
w_layout-grid_title = title.
w_layout-zebra = 'X'.
then displaying the output
CALL METHOD o_alvgrid->set_table_for_first_display
EXPORTING
i_save = 'A'
is_layout = w_layout
CHANGING
it_outtab = i_output[]
it_fieldcatalog = i_fieldcat[]
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE i032 ."Error in Displaying
LEAVE LIST-PROCESSING.
ENDIF.
*After that in PAI of the screen, you need to free the *object while going back from the screen(according to *your requirement)
MODULE user_command_9001 INPUT.
CASE sy-ucomm.
WHEN 'EXIT' OR 'CANC'.
PERFORM f9600_free_objects:
USING o_alvgrid 'ALV' text-e02,
USING o_dockingcontainer 'DOCKING'
text-e01.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_9001 INPUT
*in the program, write the follwoing code
FORM f9600_free_objects USING pobject
value(ptype)
value(ptext).
DATA: l_objectalv TYPE REF TO cl_gui_alv_grid.
CASE ptype.
WHEN 'ALV'.
l_objectalv = pobject.
IF NOT ( l_objectalv IS INITIAL ).
CALL METHOD l_objectalv->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
CLEAR: pobject, l_objectalv.
PERFORM f9700_error_handle USING ptext.
ENDIF.
WHEN 'DOCKING'.
DATA: lobjectdock TYPE REF TO cl_gui_docking_container.
lobjectdock = pobject.
IF NOT ( lobjectdock IS INITIAL ).
CALL METHOD lobjectdock->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
CLEAR: pobject, lobjectdock.
PERFORM f9700_error_handle USING ptext.
ENDIF.
WHEN 'CONTAINER'.
DATA: lobjectcontainer TYPE REF TO cl_gui_container.
lobjectcontainer = pobject.
IF NOT ( lobjectcontainer IS INITIAL ).
CALL METHOD lobjectcontainer->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
CLEAR: pobject, lobjectcontainer.
PERFORM f9700_error_handle USING ptext.
ENDIF.
WHEN OTHERS.
sy-subrc = 1.
PERFORM f9700_error_handle USING
text-e04.
ENDCASE.
ENDFORM. " f9600_free_objects
FORM f9700_error_handle USING value(ptext).
IF sy-subrc NE 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = text-e03
txt2 = sy-subrc
txt1 = ptext.
ENDIF.
endform.
also check with this
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf
Hope this helps
if it helped, you can acknowledge the same by rewarding
regards
dinesh -
Create simple ALV using Classes
hi all,
How to create a ALV report using Classes....?
any links or feedback will be appreciated.
Thanks in Advance.Check this Sample code using Docking container. In case of docking container no need of custom container required on screen.
REPORT ztest_oo_a.
DATA: it_flight TYPE sflight_tab1.
DATA: dock TYPE REF TO cl_gui_docking_container,
grid TYPE REF TO cl_gui_alv_grid.
SELECT *
FROM sflight
INTO TABLE it_flight
UP TO 20 ROWS.
CALL SCREEN 100.
*& Module STATUS_0100 OUTPUT
* text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'SATR'.
CREATE OBJECT dock
EXPORTING
repid = sy-repid
dynnr = '100'
extension = '1500'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6
IF sy-subrc ne 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CREATE OBJECT grid EXPORTING i_parent = dock.
CALL METHOD grid->set_table_for_first_display
EXPORTING
i_structure_name = 'SFLIGHT'
CHANGING
it_outtab = it_flight
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc ne 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
Flow Logic
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100. -
Hi gurus,
can anyone send me sample code to develop a repot using classes with all possibilities i.e, using events and interactive, pop-up.
Best answers wil be rewarded.
Regards,
alsonREPORT zex35 MESSAGE-ID zsmg NO STANDARD PAGE HEADING.
INCLUDE <icon>.
CLASS myclass DEFINITION DEFERRED.
TABLES: vbak,kna1.
TYPE-POOLS: slis,sdydo.
DATA: BEGIN OF jtab OCCURS 0,
ch(1),
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
kunnr LIKE vbak-kunnr,
ernam LIKE vbak-ernam,
netwr LIKE vbak-netwr,
knumv LIKE vbak-knumv,
bstnk LIKE vbak-bstnk,
ktext LIKE vbak-ktext,
styletable TYPE lvc_t_styl,
rowcolor(4),
cellcolor TYPE lvc_t_scol,
ptype_dd_hndl TYPE int4 ,
END OF jtab.
DATA : ejtab LIKE jtab OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF vjtab OCCURS 0,
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
kunnr LIKE vbak-kunnr,
ernam LIKE vbak-ernam,
netwr LIKE vbak-netwr,
knumv LIKE vbak-knumv,
bstnk LIKE vbak-bstnk,
ktext LIKE vbak-ktext,
END OF vjtab.
DATA: alv TYPE scrfname VALUE 'ALV',
obj_c_container_alv TYPE REF TO cl_gui_custom_container,
obj_grid TYPE REF TO cl_gui_alv_grid,
obj_myclass TYPE REF TO myclass,
i_fieldcat TYPE lvc_t_fcat,
wa_fieldcat LIKE LINE OF i_fieldcat,
ei_fieldcat TYPE lvc_t_fcat,
ewa_fieldcat LIKE LINE OF i_fieldcat,
gs_layout TYPE lvc_s_layo.
DATA: l_rows TYPE lvc_t_row.
DATA : modi TYPE lvc_s_modi ,
rowid TYPE i,
ind TYPE i,
wjtab LIKE jtab,
it_exclude TYPE ui_functions,
it_sort TYPE lvc_t_sort,
it_filt TYPE lvc_t_filt,
gi_index_rows TYPE lvc_t_row,
g_selected_row LIKE lvc_s_row.
DATA: ls_edit TYPE lvc_s_styl,
lt_edit TYPE lvc_t_styl.
DATA: ls_outtab LIKE LINE OF jtab.
CALL SCREEN 100.
CLASS MYCLASS DEFINITION
CLASS myclass DEFINITION.
PUBLIC SECTION.
METHODS:
toolbar FOR EVENT toolbar OF cl_gui_alv_grid IMPORTING e_object
e_interactive,
user_command FOR EVENT user_command OF cl_gui_alv_grid IMPORTING
e_ucomm.
after_user_command FOR EVENT BEFORE_user_command OF cl_gui_alv_grid
IMPORTING
e_ucomm,
handle_change_click
FOR EVENT data_changed OF cl_gui_alv_grid IMPORTING
er_data_changed.
handle_change_click
FOR EVENT data_changed OF cl_gui_alv_grid IMPORTING
er_data_changed.
ENDCLASS.
CLASS MYCLASS IMPLEMENTATION
CLASS myclass IMPLEMENTATION.
METHOD toolbar.
DATA: ls_toolbar TYPE stb_button.
CLEAR ls_toolbar.
MOVE 3 TO ls_toolbar-butn_type.
APPEND ls_toolbar TO e_object->mt_toolbar.
CLEAR ls_toolbar.
MOVE 'BACK' TO ls_toolbar-function.
MOVE icon_previous_object TO ls_toolbar-icon.
MOVE 'BACK' TO ls_toolbar-text.
MOVE ' ' TO ls_toolbar-disabled.
APPEND ls_toolbar TO e_object->mt_toolbar.
CLEAR ls_toolbar.
MOVE 'CLEA' TO ls_toolbar-function.
MOVE icon_refresh TO ls_toolbar-icon.
MOVE 'CLEAR' TO ls_toolbar-text.
MOVE ' ' TO ls_toolbar-disabled.
APPEND ls_toolbar TO e_object->mt_toolbar.
CLEAR ls_toolbar.
MOVE 'TEXT' TO ls_toolbar-function.
MOVE icon_display TO ls_toolbar-icon.
MOVE 'READ' TO ls_toolbar-text.
MOVE ' ' TO ls_toolbar-disabled.
APPEND ls_toolbar TO e_object->mt_toolbar.
CLEAR ls_toolbar.
MOVE 'INSERT' TO ls_toolbar-function.
MOVE icon_display TO ls_toolbar-icon.
MOVE 'INSERT' TO ls_toolbar-text.
MOVE ' ' TO ls_toolbar-disabled.
APPEND ls_toolbar TO e_object->mt_toolbar.
CLEAR ls_toolbar.
MOVE 'FCAT' TO ls_toolbar-function.
MOVE icon_display TO ls_toolbar-icon.
MOVE 'FCAT' TO ls_toolbar-text.
MOVE ' ' TO ls_toolbar-disabled.
APPEND ls_toolbar TO e_object->mt_toolbar.
ENDMETHOD.
METHOD after_user_command.
CASE e_ucomm.
WHEN '&LOCAL&INSERT_ROW'.
PERFORM insert_data.
ENDCASE.
ENDMETHOD.
METHOD user_command.
CASE e_ucomm.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'INSERT'.
PERFORM insert_data.
WHEN 'FCAT'.
PERFORM fcat_change.
ENDCASE.
ENDMETHOD.
METHOD handle_change_click.
LOOP AT er_data_changed->mt_mod_cells INTO modi.
rowid = modi-row_id.
READ TABLE jtab INTO wjtab INDEX rowid.
WJTAB-VBELN = MODI-VALUE.
MODIFY jtab FROM wjtab INDEX rowid.
ENDLOOP.
ENDMETHOD.
ENDCLASS.
*& Module STATUS_0100 OUTPUT
MODULE status_0100 OUTPUT.
CASE sy-ucomm.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'DISPLAY'.
SELECT vbeln erdat kunnr ernam netwr knumv bstnk ktext
FROM vbak INTO CORRESPONDING FIELDS OF TABLE vjtab
WHERE vbeln LT '0000000500'.
PERFORM display1.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " STATUS_0100 OUTPUT
*& Form display1
FORM display1.
CREATE OBJECT obj_c_container_alv
EXPORTING
container_name = alv.
IF obj_grid IS INITIAL.
CREATE OBJECT obj_grid
EXPORTING
i_parent = obj_c_container_alv.
CREATE OBJECT obj_myclass.
SET HANDLER obj_myclass->toolbar FOR obj_grid.
SET HANDLER obj_myclass->user_command FOR obj_grid.
SET HANDLER obj_myclass->handle_change_click FOR obj_grid.
gs_layout-sel_mode = 'C'.
gs_layout-cwidth_opt = 'X'.
gs_layout-smalltitle = 'X'.
gs_layout-grid_title = 'ALV TITLE'.
gs_layout-no_headers = 'X'.
gs_layout-stylefname = 'STYLETABLE'.
gs_layout-no_hgridln = 'X'.
gs_layout-no_vgridln = 'X'.
gs_layout-NO_ROWMARK = 'X'.
gs_layout-no_toolbar = 'X'.
gs_layout-info_fname = 'ROWCOLOR'.
gs_layout-ctab_fname = 'CELLCOLOR'.
LOOP AT vjtab.
jtab-vbeln = vjtab-vbeln.
jtab-erdat = vjtab-erdat.
jtab-kunnr = vjtab-kunnr.
jtab-ernam = vjtab-ernam.
jtab-netwr = vjtab-netwr.
jtab-knumv = vjtab-knumv.
jtab-bstnk = vjtab-bstnk.
jtab-ktext = vjtab-ktext.
APPEND jtab.
CLEAR jtab.
ENDLOOP.
PERFORM build_fieldcat.
PERFORM exclude_toolbaricons CHANGING it_exclude.
PERFORM sort_table CHANGING it_sort.
PERFORM filter_table CHANGING it_filt.
PERFORM rowcolor.
PERFORM colcolor.
PERFORM drilldown_values.
CALL METHOD obj_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'JTAB'
is_layout = gs_layout
it_toolbar_excluding = it_exclude
CHANGING
it_outtab = jtab[]
it_sort = it_sort
it_filter = it_filt
it_fieldcatalog = i_fieldcat.
ELSE .
CALL METHOD obj_grid->refresh_table_display.
ENDIF.
ENDFORM. " display1
*& Form SAVE_DATA
FORM save_data.
ENDFORM. " SAVE_DATA
*& Form INSERT_DATA
FORM insert_data.
DATA:l_lines TYPE i.
REFRESH gi_index_rows.
CLEAR g_selected_row.
DATA ls_listrow LIKE LINE OF jtab .
CALL METHOD obj_grid->get_selected_rows
IMPORTING
et_index_rows = gi_index_rows.
READ TABLE gi_index_rows INTO g_selected_row INDEX 1.
ind = g_selected_row-index + 1.
INSERT INITIAL LINE INTO jtab INDEX ind.
READ TABLE jtab INDEX ind.
CLEAR ls_edit.
ls_edit-fieldname = 'VBELN'.
ls_edit-style = cl_gui_alv_grid=>mc_style_disabled.
INSERT ls_edit INTO TABLE lt_edit.
CLEAR ls_edit.
ls_edit-fieldname = 'ERDAT'.
ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.
INSERT ls_edit INTO TABLE lt_edit.
CLEAR ls_edit.
ls_edit-fieldname = 'KUNNR'.
ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.
INSERT ls_edit INTO TABLE lt_edit.
CLEAR ls_edit.
ls_edit-fieldname = 'ERNAM'.
ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.
INSERT ls_edit INTO TABLE lt_edit.
CLEAR ls_edit.
ls_edit-fieldname = 'NETWR'.
ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.
INSERT ls_edit INTO TABLE lt_edit.
CLEAR ls_edit.
ls_edit-fieldname = 'KNUMV'.
ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.
INSERT ls_edit INTO TABLE lt_edit.
CLEAR ls_edit.
ls_edit-fieldname = 'BSTNK'.
ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.
INSERT ls_edit INTO TABLE lt_edit.
CLEAR ls_edit.
ls_edit-fieldname = 'KTEXT'.
ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.
INSERT ls_edit INTO TABLE lt_edit.
CLEAR : ls_outtab.
INSERT LINES OF lt_edit INTO TABLE ls_outtab-styletable.
MODIFY jtab INDEX ind FROM ls_outtab TRANSPORTING
styletable .
CALL METHOD obj_grid->refresh_table_display.
GS_LAYOUT-STYLEFNAME = 'STYLETABLE'.
REFRESH : lt_edit.
ENDFORM. " INSERT_DATA
*& Form FCAT_CHANGE
FORM fcat_change.
DATA ls_fcat TYPE lvc_s_fcat .
DATA lt_fcat TYPE lvc_t_fcat .
DATA ls_layout TYPE lvc_s_layo .
CALL METHOD obj_grid->get_frontend_fieldcatalog
IMPORTING
et_fieldcatalog = lt_fcat[] .
LOOP AT lt_fcat INTO ls_fcat .
IF ls_fcat-fieldname = 'ERNAM' .
ls_fcat-coltext = 'MYNAME'.
ls_fcat-no_out = 'X'.
MODIFY lt_fcat FROM ls_fcat .
ENDIF .
ENDLOOP .
CALL METHOD obj_grid->set_frontend_fieldcatalog
EXPORTING
it_fieldcatalog = lt_fcat[] .
CALL METHOD obj_grid->get_frontend_layout
IMPORTING
es_layout = ls_layout .
ls_layout-grid_title = 'Changed ALV Grid Title' .
ls_layout-zebra = 'X' .
CALL METHOD obj_grid->set_frontend_layout
EXPORTING
is_layout = ls_layout .
LOOP AT jtab.
IF jtab-netwr > '400.00'.
CLEAR ls_edit.
ls_edit-fieldname = 'ERDAT'.
ls_edit-style = cl_gui_alv_grid=>mc_style_disabled.
INSERT ls_edit INTO TABLE lt_edit.
CLEAR : ls_outtab.
INSERT LINES OF lt_edit INTO TABLE ls_outtab-styletable.
MODIFY jtab INDEX sy-tabix FROM ls_outtab TRANSPORTING
styletable .
ENDIF.
ENDLOOP.
LOOP AT jtab.
IF jtab-netwr LE '400.00'.
ejtab-vbeln = jtab-vbeln.
ejtab-erdat = jtab-erdat.
ejtab-kunnr = jtab-kunnr.
ejtab-ernam = jtab-ernam.
ejtab-netwr = jtab-netwr.
ejtab-knumv = jtab-knumv.
ejtab-bstnk = jtab-bstnk.
ejtab-ktext = jtab-ktext.
APPEND ejtab.
CLEAR ejtab.
ENDIF.
ENDLOOP.
PERFORM ebuild_fieldcat.
CALL METHOD obj_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'EJTAB'
is_layout = gs_layout
it_toolbar_excluding = it_exclude
CHANGING
it_outtab = ejtab[]
it_sort = it_sort
it_filter = it_filt
it_fieldcatalog = ei_fieldcat.
ENDFORM. " FCAT_CHANGE
*& Form exclude_toolbaricons
FORM exclude_toolbaricons CHANGING pt_exclude TYPE ui_functions.
DATA ls_exclude TYPE ui_func.
ls_exclude = cl_gui_alv_grid=>mc_fc_maximum .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_minimum .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_subtot .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_find .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_sum .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_average .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_mb_sum .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_mb_subtot.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row .
APPEND ls_exclude TO pt_exclude.
ENDFORM. " exclude_toolbaricons
*& Form sort_table
FORM sort_table CHANGING pt_sort TYPE lvc_t_sort.
DATA ls_sort TYPE lvc_s_sort .
ls_sort-spos = '1' .
ls_sort-fieldname = 'VBELN' .
ls_sort-up = 'X' .
ls_sort-down = space .
APPEND ls_sort TO pt_sort .
ls_sort-spos = '2' .
ls_sort-fieldname = 'KUNNR' .
ls_sort-up = space .
ls_sort-down = 'X' .
APPEND ls_sort TO pt_sort .
ENDFORM. " sort_table
*& Form filter_table
FORM filter_table CHANGING pt_filt TYPE lvc_t_filt.
DATA ls_filt TYPE lvc_s_filt .
ls_filt-fieldname = 'VBELN' .
ls_filt-sign = 'E' .
ls_filt-option = 'BT' .
ls_filt-low = '0000000010' .
ls_filt-high = '0000000100' .
APPEND ls_filt TO pt_filt .
ENDFORM. " filter_table
*& Form ROWCOLOR
FORM rowcolor.
CLEAR wjtab.
LOOP AT jtab INTO wjtab.
IF wjtab-netwr LE '400.00'.
wjtab-rowcolor = 'C611'.
ENDIF.
MODIFY jtab FROM wjtab.
ENDLOOP.
ENDFORM. " ROWCOLOR
*& Form colcolor
FORM colcolor.
DATA ls_cellcolor TYPE lvc_s_scol .
CLEAR ls_cellcolor.
READ TABLE jtab INDEX 8 .
ls_cellcolor-fname = 'KUNNR' .
ls_cellcolor-color-col = '0' .
ls_cellcolor-color-int = '0' .
APPEND ls_cellcolor TO jtab-cellcolor .
MODIFY jtab INDEX 8 .
CLEAR ls_cellcolor.
READ TABLE jtab INDEX 13 .
ls_cellcolor-fname = 'NETWR' .
ls_cellcolor-color-col = '5' .
ls_cellcolor-color-int = '1' .
APPEND ls_cellcolor TO jtab-cellcolor .
MODIFY jtab INDEX 13 .
ENDFORM. " colcolor
*& Form DRILLDOWN_VALUES
FORM drilldown_values.
DATA lt_ddval TYPE lvc_t_drop .
DATA ls_ddval TYPE lvc_s_drop .
ls_ddval-handle = '1' .
ls_ddval-value = 'JFK-12' .
APPEND ls_ddval TO lt_ddval .
ls_ddval-handle = '1' .
ls_ddval-value = 'JSF-44' .
APPEND ls_ddval TO lt_ddval .
ls_ddval-handle = '1' .
ls_ddval-value = 'KMDA-53' .
APPEND ls_ddval TO lt_ddval .
ls_ddval-handle = '1' .
ls_ddval-value = 'SS3O/N' .
APPEND ls_ddval TO lt_ddval .
CALL METHOD obj_grid->set_drop_down_table
EXPORTING
it_drop_down = lt_ddval .
ENDFORM. " DRILLDOWN_VALUES
*& Form BUILD_FIELDCAT
text
--> p1 text
<-- p2 text
FORM build_fieldcat.
CLEAR i_fieldcat[].
*CLEAR wa_fieldcat.
*wa_fieldcat-col_pos = 1.
*wa_fieldcat-fieldname = 'CH'.
**wa_fieldcat-tabname = 'JTAB'.
*wa_fieldcat-outputlen = '2'.
**wa_fieldcat-coltext = 'CHECKBOX'.
*wa_fieldcat-checkbox = 'X'.
*wa_fieldcat-edit = 'X'.
*APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 2.
wa_fieldcat-fieldname = 'VBELN'.
wa_fieldcat-tabname = 'JTAB'.
*wa_fieldcat-outputlen = '10'.
wa_fieldcat-coltext = 'SALES ORDER'.
*wa_fieldcat-CHECKBOX = 'X'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 4.
wa_fieldcat-fieldname = 'KUNNR'.
wa_fieldcat-tabname = 'JTAB'.
wa_fieldcat-outputlen = '20'.
wa_fieldcat-coltext = 'CUSTOMER NO'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 3.
wa_fieldcat-fieldname = 'ERDAT'.
wa_fieldcat-tabname = 'JTAB'.
*wa_fieldcat-outputlen = '8'.
wa_fieldcat-coltext = 'DATE'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 5.
wa_fieldcat-fieldname = 'ERNAM'.
wa_fieldcat-tabname = 'JTAB'.
*wa_fieldcat-outputlen = '12'.
wa_fieldcat-coltext = 'NAME'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 6.
wa_fieldcat-fieldname = 'NETWR'.
wa_fieldcat-tabname = 'JTAB'.
*wa_fieldcat-outputlen = '15'.
wa_fieldcat-coltext = 'NET WEIGHT'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 7.
wa_fieldcat-fieldname = 'KNUMV'.
wa_fieldcat-tabname = 'JTAB'.
*wa_fieldcat-outputlen = '10'.
wa_fieldcat-coltext = 'DOC COND'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 8.
wa_fieldcat-fieldname = 'BSTNK'.
wa_fieldcat-tabname = 'JTAB'.
*wa_fieldcat-outputlen = '20'.
wa_fieldcat-coltext = 'CUST PO'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 9.
wa_fieldcat-fieldname = 'KTEXT'.
wa_fieldcat-tabname = 'JTAB'.
*wa_fieldcat-outputlen = '40'.
wa_fieldcat-coltext = 'SEARCH TERM FOR PRODUCT PROPOSAL'.
wa_fieldcat-edit = 'X'.
wa_fieldcat-drdn_field = 'PTYP_DD_HNDL'.
APPEND wa_fieldcat TO i_fieldcat.
ENDFORM. " BUILD_FIELDCAT
*& Form ebuild_fieldcat
text
--> p1 text
<-- p2 text
FORM ebuild_fieldcat.
CLEAR ei_fieldcat[].
CLEAR ewa_fieldcat.
ewa_fieldcat-col_pos = 1.
ewa_fieldcat-fieldname = 'CH'.
*ewa_fieldcat-tabname = 'JTAB'.
ewa_fieldcat-outputlen = '2'.
*ewa_fieldcat-coltext = 'CHECKBOX'.
ewa_fieldcat-checkbox = 'X'.
ewa_fieldcat-edit = 'X'.
APPEND ewa_fieldcat TO ei_fieldcat.
CLEAR ewa_fieldcat.
ewa_fieldcat-col_pos = 2.
ewa_fieldcat-fieldname = 'VBELN'.
ewa_fieldcat-tabname = 'JTAB'.
*ewa_fieldcat-outputlen = '10'.
ewa_fieldcat-coltext = 'SALES ORDER'.
*ewa_fieldcat-CHECKBOX = 'X'.
APPEND ewa_fieldcat TO ei_fieldcat.
CLEAR ewa_fieldcat.
ewa_fieldcat-col_pos = 4.
ewa_fieldcat-fieldname = 'KUNNR'.
ewa_fieldcat-tabname = 'JTAB'.
ewa_fieldcat-outputlen = '20'.
ewa_fieldcat-coltext = 'CUSTOMER NO'.
APPEND ewa_fieldcat TO ei_fieldcat.
CLEAR ewa_fieldcat.
ewa_fieldcat-col_pos = 3.
ewa_fieldcat-fieldname = 'ERDAT'.
ewa_fieldcat-tabname = 'JTAB'.
*ewa_fieldcat-outputlen = '8'.
ewa_fieldcat-coltext = 'DATE'.
ewa_fieldcat-edit = 'X'.
APPEND ewa_fieldcat TO ei_fieldcat.
CLEAR ewa_fieldcat.
ewa_fieldcat-col_pos = 5.
ewa_fieldcat-fieldname = 'ERNAM'.
ewa_fieldcat-tabname = 'JTAB'.
*ewa_fieldcat-outputlen = '12'.
ewa_fieldcat-coltext = 'NAME'.
ewa_fieldcat-edit = 'X'.
APPEND ewa_fieldcat TO ei_fieldcat.
CLEAR ewa_fieldcat.
ewa_fieldcat-col_pos = 6.
ewa_fieldcat-fieldname = 'NETWR'.
ewa_fieldcat-tabname = 'JTAB'.
*ewa_fieldcat-outputlen = '15'.
ewa_fieldcat-coltext = 'NET WEIGHT'.
ewa_fieldcat-edit = 'X'.
APPEND ewa_fieldcat TO ei_fieldcat.
CLEAR ewa_fieldcat.
ewa_fieldcat-col_pos = 7.
ewa_fieldcat-fieldname = 'KNUMV'.
ewa_fieldcat-tabname = 'JTAB'.
*ewa_fieldcat-outputlen = '10'.
ewa_fieldcat-coltext = 'DOC COND'.
ewa_fieldcat-edit = 'X'.
APPEND ewa_fieldcat TO ei_fieldcat.
CLEAR ewa_fieldcat.
ewa_fieldcat-col_pos = 8.
ewa_fieldcat-fieldname = 'BSTNK'.
ewa_fieldcat-tabname = 'JTAB'.
*ewa_fieldcat-outputlen = '20'.
ewa_fieldcat-coltext = 'CUST PO'.
APPEND ewa_fieldcat TO ei_fieldcat.
CLEAR ewa_fieldcat.
ewa_fieldcat-col_pos = 9.
ewa_fieldcat-fieldname = 'KTEXT'.
ewa_fieldcat-tabname = 'JTAB'.
*ewa_fieldcat-outputlen = '40'.
ewa_fieldcat-coltext = 'SEARCH TERM FOR PRODUCT PROPOSAL'.
ewa_fieldcat-edit = 'X'.
ewa_fieldcat-drdn_field = 'PTYP_DD_HNDL'.
APPEND ewa_fieldcat TO ei_fieldcat.
ENDFORM. " ebuild_fieldcat -
Dialog problem using tabstrip & cl_gui_alv_grid
Hi All,
I have created a dialog program which has 2 tab strips. On first I am displaying data n a table control & on other tabstrip display same data using grid. Here to display data in grid I have used set_table_for_first_display of class cl_gui_alv_grid.
The data is displayed successfully. But when I select second tab and return to first tab it still shows the grid on first tab in front.
Kindly tell me what I am missing.
Regards,
Dilip
Following is my code:
REPORT ZTEMP02.
controls: tab type tabstrip,
tab_c type tableview using screen 101 .
data : cont1 type ref to cl_gui_custom_container,
grid type ref to cl_gui_alv_grid.
data : imara like mara occurs 1 with header line.
data zmara type LVC_T_FCAT.
data wa_mara like line of zmara.
data flag .
select * from mara into table imara up to 100 rows.
call screen 100.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
case sy-ucomm.
when 'T1'.
tab-activetab = 'T1'.
FLAG = SPACE.
when 'T2'.
tab-activetab = 'T2'.
WHEN 'EXT'.
LEAVE PROGRAM.
endcase.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module STATUS_0102 OUTPUT
text
MODULE STATUS_0102 OUTPUT.
if FLAG is initial.
create object :
cont1
exporting
container_name = 'CONT',
grid
exporting
I_PARENT = cont1.
FLAG = 'X'.
endif.
call method grid->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
i_structure_name = 'MARA'
changing
it_outtab = imara[].
ENDMODULE. " STATUS_0102 OUTPUTHave you attached a subscreen to tab T1 .
You will also have to use Call subscreen . -
Control problem in trees using class
Hi all i am creating tree structure using class method in that when i am creating only one node it is working properly but when i try to crate multiple nodes it is giving me dump my program is as follow.
I search these on sdn and try the things but it still giving me same error.
*& Report ZIRPT_HR_TEST_SPLITTER_01
report zirpt_hr_test_splitter_01.
tables : pa0001,t582s.
select-options : p_pernr for pa0001-pernr no intervals.
* CLASS screen_init DEFINITION
class screen_init definition create private.
public section.
class-methods init_screen.
methods constructor.
private section.
data: splitter_h type ref to cl_gui_splitter_container,
splitter_v type ref to cl_gui_splitter_container,
picture type ref to cl_gui_picture,
tree type ref to cl_gui_simple_tree,
it_pa0001 type table of pa0001,
it_pa0000 type table of pa0000.
methods: fill_tree,
fill_picture.
endclass. "screen_init DEFINITION
* CLASS screen_handler DEFINITION
class screen_handler definition.
public section.
methods: constructor importing container
type ref to cl_gui_container,
handle_node_double_click
for event node_double_click
of cl_gui_simple_tree
importing node_key.
private section.
data: html_viewer type ref to cl_gui_html_viewer,
it_pa0001 type table of pa0001,
it_pa0000 type table of pa0000,
list_viewer type ref to cl_gui_alv_grid.
methods:
fill_list importing pernr type pa0001-pernr
infty type t582s-infty.
endclass. "screen_handler DEFINITION
* CLASS screen_init IMPLEMENTATION
class screen_init implementation.
method init_screen.
data screen type ref to screen_init.
create object screen.
endmethod. "init_screen
method constructor.
data: events type cntl_simple_events,
event like line of events,
event_handler type ref to screen_handler,
container_left type ref to cl_gui_container,
container_right type ref to cl_gui_container,
container_top type ref to cl_gui_container,
container_bottom type ref to cl_gui_container.
create object splitter_h
exporting
parent = cl_gui_container=>screen0
rows = 1
columns = 2.
call method splitter_h->set_border
exporting
border = cl_gui_cfw=>false.
call method splitter_h->set_column_mode
exporting
mode = splitter_h->mode_absolute.
call method splitter_h->set_column_width
exporting
id = 1
width = 110.
container_left = splitter_h->get_container( row = 1 column = 1 ).
container_right = splitter_h->get_container( row = 1 column = 2 ).
create object splitter_v
exporting
parent = container_left
rows = 2
columns = 1.
call method splitter_v->set_border
exporting
border = cl_gui_cfw=>false.
call method splitter_v->set_row_mode
exporting
mode = splitter_v->mode_absolute.
call method splitter_v->set_row_height
exporting
id = 1
height = 160.
container_top = splitter_v->get_container( row = 1 column = 1 ).
container_bottom = splitter_v->get_container( row = 2 column = 1 ).
create object picture
exporting parent = container_top.
create object tree
exporting parent = container_bottom
node_selection_mode =
cl_gui_simple_tree=>node_sel_mode_single.
create object event_handler
exporting container = container_right.
event-eventid = cl_gui_simple_tree=>eventid_node_double_click.
event-appl_event = ' '.
append event to events.
call method tree->set_registered_events
exporting
events = events.
set handler event_handler->handle_node_double_click for tree.
call method: me->fill_tree,
me->fill_picture.
call method cl_gui_cfw=>flush.
endmethod. "constructor
method fill_picture.
types pict_line(256) type c.
data pict_tab type table of pict_line.
data url(255) type c.
data : file type rlgrap-filename value 'C:\Documents and Settings\sapgroup.NITCOWRL\My Documents\nitco.gif'.
translate file to upper case.
*CALL FUNCTION 'WS_UPLOAD'
*EXPORTING
*filename = file
*filetype = 'BIN'
*TABLES
*data_tab = pict_tab.
data query_table_wa type w3query.
data query_table type table of w3query." OF like w3query occurs 1 with header line.
data html_table type table of w3html." like w3html occurs 1.
data return_code type w3param-ret_code.
data content_type type w3param-cont_type.
data content_length type w3param-cont_len.
data pic_data type table of w3mime." like w3mime occurs 0.
data pic_size type i.
refresh query_table.
query_table_wa-name = '_OBJECT_ID'.
query_table_wa-value = 'ENJOYSAP_LOGO'.
append query_table_wa to query_table.
call function 'WWW_GET_MIME_OBJECT'
tables
query_string = query_table
html = html_table
mime = pic_data
changing
return_code = return_code
content_type = content_type
content_length = content_length
exceptions
object_not_found = 1
parameter_not_found = 2
others = 3.
if sy-subrc = 0.
pic_size = content_length.
endif.
call function 'DP_CREATE_URL'
exporting
type = 'image'
subtype = cndp_sap_tab_unknown
size = pic_size
lifetime = cndp_lifetime_transaction
tables
data = pic_data
changing
url = url
exceptions
others = 1.
*IMPORT pict_tab = pict_tab FROM DATABASE abtree(pi) ID 'FLIGHTS'.
*CALL FUNCTION 'DP_CREATE_URL'
*EXPORTING
*type = 'IMAGE'
*subtype = 'GIF'
*TABLES
*data = pict_tab
*CHANGING
*url = url.
call method picture->load_picture_from_url
exporting
url = url.
call method picture->set_display_mode
exporting
display_mode = picture->display_mode_fit_center.
* CALL METHOD cl_gui_cfw=>flush.
endmethod. "fill_picture
method fill_tree.
data: node_table type table of abdemonode,
node type abdemonode.
*data : it_pa0001 TYPE TABLE OF p0001,
data :wa_pa0001 type pa0001,
wa_pa0000 type pa0000,
it_t582s type table of t582s,
wa_t582s type t582s.
types : begin of ttab,
itext type t582s-itext,
infty type t582s-infty,
pernr type p0001-pernr,
end of ttab.
data : itab type table of ttab,
wa_tab type ttab.
field-symbols : <fs> like p_pernr.
data : text1 type c.
node-hidden = ' '.
node-disabled = ' '.
node-isfolder = 'X'.
node-expander = ' '.
select * from t582s
into corresponding fields of table it_t582s
where sprsl = sy-langu
and infty in ('0001','0000')."'0002','0006',
* '0008','0015','0019').
loop at it_t582s into wa_t582s .
move-corresponding wa_t582s to wa_tab.
node-node_key = wa_t582s-infty.
clear node-relatkey.
clear node-relatship.
node-text = wa_t582s-itext.
node-n_image = ' '.
node-exp_image = ' '.
append node to node_table.
loop at p_pernr assigning <fs>.
wa_tab-pernr = <fs>-low.
append wa_tab to itab.
clear p_pernr-low.
node-node_key = <fs>-low.
node-relatkey = wa_tab-infty.
node-relatship = cl_gui_simple_tree=>relat_last_child.
node-text = <fs>-low.
node-n_image = '@AV@'.
append node to node_table.
endloop.
* SELECT SINGLE * FROM pa0001 INTO wa_pa0001 WHERE pernr in p_pernr.
* WHEN '0000'.
* SELECT SINGLE * FROM pa0000 INTO wa_pa0000 WHERE pernr = p_pernr.
* wa_tab-pernr = wa_pa0000-pernr.
* endcase.
clear : wa_tab,wa_pa0001,wa_pa0000.
endloop.
*node-hidden = ' '.
*node-disabled = ' '.
*node-isfolder = 'X'.
*node-expander = ' '.
*LOOP AT itab INTO wa_tab.
*AT NEW infty.
*node-node_key = wa_tab-infty.
*CLEAR node-relatkey.
*CLEAR node-relatship.
*node-text = wa_tab-itext.
*node-n_image = ' '.
*node-exp_image = ' '.
*APPEND node TO node_table.
*ENDAT.
*AT NEW pernr.
* node-node_key = wa_tab-pernr.
*node-relatkey = wa_tab-infty.
*node-relatship = cl_gui_simple_tree=>relat_last_child.
*node-text = wa_tab-pernr.
*node-n_image = '@AV@'.
*node-exp_image = '@AV@'.
*ENDAT.
*APPEND node TO node_table.
*ENDLOOP.
call method tree->add_nodes
exporting
table_structure_name = 'ABDEMONODE'
node_table = node_table.
* CALL METHOD cl_gui_cfw=>flush.
endmethod. "fill_tree
endclass. "screen_init IMPLEMENTATION
* CLASS screen_handler IMPLEMENTATION
class screen_handler implementation.
method constructor.
create object: html_viewer exporting parent = container,
list_viewer exporting i_parent = container.
endmethod. "constructor
method handle_node_double_click.
data: infty type t582s-infty,
pernr type pa0001-pernr.
infty = node_key(4).
pernr = node_key+4(8).
*IF pernr IS INITIAL.
*CALL METHOD: fill_html EXPORTING infty = infty,
*html_viewer->set_visible EXPORTING visible = 'X',
*list_viewer->set_visible EXPORTING visible = ' '.
*ELSE.
call method: fill_list exporting infty = infty
pernr = pernr,
list_viewer->set_visible exporting visible = 'X',
html_viewer->set_visible exporting visible = ' '.
*ENDIF.
* CALL METHOD cl_gui_cfw=>flush.
endmethod. "handle_node_double_click
*METHOD fill_html.
*DATA url TYPE scarr-url.
*SELECT SINGLE url
*FROM scarr
*INTO url
*WHERE infty = infty.
*CALL METHOD html_viewer->show_url EXPORTING url = url.
*ENDMETHOD.
method fill_list.
data: flight_tab type table of demofli,
begin of flight_title,
carrname type scarr-carrname,
cityfrom type spfli-cityfrom,
cityto type spfli-cityto,
end of flight_title,
list_layout type lvc_s_layo.
*DATA : it_pa0001 TYPE TABLE OF p0001.
if infty = '0001'.
select * from pa0001 into table it_pa0001 where pernr = pernr.
elseif infty = '0000'.
select * from pa0001 into table it_pa0001 where pernr = pernr.
endif.
*SELECT SINGLE c~carrname p~cityfrom p~cityto
*INTO CORRESPONDING FIELDS OF flight_title
*FROM ( scarr AS c
*INNER JOIN spfli AS p ON c~carrid = p~carrid )
*WHERE p~carrid = carrid AND
*p~connid = connid.
*SELECT fldate seatsmax seatsocc
*INTO CORRESPONDING FIELDS OF TABLE flight_tab
*FROM sflight
*WHERE carrid = carrid AND connid = connid
* ORDER BY fldate.
*CONCATENATE flight_title-carrname
*connid
*flight_title-cityfrom
*flight_title-cityto
list_layout-grid_title = 'TEST'.
list_layout-smalltitle = 'X'.
list_layout-cwidth_opt = 'X'.
list_layout-no_toolbar = 'X'.
*if infty = '0001'.
call method list_viewer->set_table_for_first_display
exporting
i_structure_name = 'PA0001'
is_layout = list_layout
changing
it_outtab = it_pa0001.
* CALL METHOD cl_gui_cfw=>flush.
*ELSEIF infty = '0001'.
*CALL METHOD list_viewer->set_table_for_first_display
*EXPORTING i_structure_name = 'PA0000'
*is_layout = list_layout
*CHANGING it_outtab = it_pa0000.
*endif.
endmethod. "fill_list
endclass. "screen_handler IMPLEMENTATION
start-of-selection.
data : it_pa0001 type table of p0001.
call screen 100.
* MODULE status_0100 OUTPUT
module status_0100 output.
set pf-status 'SCREEN_100'.
set titlebar 'TIT_100'.
call method screen_init=>init_screen.
* CALL METHOD cl_gui_cfw=>flush.
endmodule. "status_0100 OUTPUT
* MODULE cancel INPUT
module cancel input.
set screen 0.
leave program.
endmodule. "cancel INPUT
Plz Suggest ,
Regards ,
Paresh G.METHOD fill_tree.
DATA: node_table TYPE TABLE OF abdemonode,
node TYPE abdemonode.
*data : it_pa0001 TYPE TABLE OF p0001,
DATA :wa_pa0001 TYPE pa0001,
wa_pa0000 TYPE pa0000,
it_t582s TYPE TABLE OF t582s,
wa_t582s TYPE t582s.
TYPES : BEGIN OF ttab,
itext TYPE t582s-itext,
infty TYPE t582s-infty,
pernr TYPE p0001-pernr,
END OF ttab.
DATA : itab TYPE TABLE OF ttab,
wa_tab TYPE ttab.
FIELD-SYMBOLS : <fs> LIKE p_pernr.
DATA : text1 TYPE c.
node-hidden = ' '.
node-disabled = ' '.
node-isfolder = 'X'.
node-expander = ' '.
SELECT * FROM t582s
INTO CORRESPONDING FIELDS OF TABLE it_t582s
WHERE sprsl = sy-langu
AND infty IN ('0001','0000')."'0002','0006',
'0008','0015','0019').
LOOP AT it_t582s INTO wa_t582s .
MOVE-CORRESPONDING wa_t582s TO wa_tab.
node-node_key = wa_t582s-infty.
CLEAR node-relatkey.
CLEAR node-relatship.
node-text = wa_t582s-itext.
node-n_image = ' '.
node-exp_image = ' '.
APPEND node TO node_table.
LOOP AT p_pernr ASSIGNING <fs>.
wa_tab-pernr = <fs>-low.
APPEND wa_tab TO itab.
CLEAR p_pernr-low.
node-node_key = <fs>-low.
node-relatkey = wa_tab-infty.
node-relatship = cl_gui_simple_tree=>relat_last_child.
node-text = <fs>-low.
node-n_image = '@AV@'.
APPEND node TO node_table.
ENDLOOP.
CLEAR : wa_tab,wa_pa0001,wa_pa0000.
ENDLOOP.
CALL METHOD tree->add_nodes
EXPORTING
table_structure_name = 'ABDEMONODE'
node_table = node_table.
CALL METHOD cl_gui_cfw=>flush.
ENDMETHOD. "fill_tree -
How to use Class "CL_GUI_CHART_ENGINE" in a abap program ?
Hi Guys,
I want to display data in my internal table in the form of a Graph using class "cl_gui_chart_engine".
I had a look at sample program given by SAP - GRAPHICS_GUI_CE_DEMO but need some help to understand how can we use our own data to be displayed in the graph ? Basically what I am looking for is that where we need to do the changes in creation of XML file so that we can pass our own data ?
( perform create_data_demo using l_ixml_data_doc)
Could you please help me with some sample code or pseudocode ?
Thanks
AshwaThanks Kai,
I had already done the same thing and got the required output.
Populate X-Axis ( Categories )
LOOP AT ITAB.
Populate Categories
l_element = p_ixml_doc->create_simple_element(
name = 'C' parent = l_categories ).
l_element->if_ixml_node~set_value( itab-value).
ENDLOOP.
Populate Y-Axis ( Values )
LOOP AT VALUE_TAB.
l_element = p_ixml_doc->create_simple_element(
name = 'S' parent = l_series ).
l_element->if_ixml_node~set_value( value_tab-value).
ENDLOOP.
I am now trying to find the ways to change the default layout of the graph. I guess it should be done in "perform create_custom_demo using l_ixml_custom_doc." . I want that my graph should be displayed as lines instead of bar's.
Once I achieve this I will share my findings along with sample code with the community.
I wish I could get some documentation on class "cl_gui_chart_engine" and interfaces like "if_ixml_document".
Thanks
Ashwani
Maybe you are looking for
-
I have uninstalled all of the itunes software as well as ipod and quick time software (completely). I have reinstalled itunes and when i open the program it gives me this message "iTunes has encountered a problem and needs to close. We are sorry for
-
DVI monitor connection better than/equal to/worse than analog connectivity?
Is there a real difference, or just .... ? Thanks for your time.
-
Whats the difference between adobe flashplayer plugin,activex and adobe flashplayer?
whats the difference between adobe flashplayer plugin,activex and adobe flashplayer?
-
Error re-installing OneDrive on my 10.9.2 MacBook Pro
I had to re-install OneDrive on my 10.9.2 MacBook Pro. To avoid duplicate files, I deleted the previous directory but going through setup, after specifying my home directory as location I get "Your OneDrive folder can't be created in the location yo
-
Done the PRAM and SMC reset ! I am just getting ready to throw it by the window, the fan noise drive me mad ! Use all the app for fan speed control ! Apple is useless fixing the problem, who can help ?