How to group by more than one fields in crystal reports
Hi
How to create groups in crystal reports by more than one fields, like
select fields,aggregate functions from table group by a,b,c
Not sure if I understand your question, but you you could create a formula to generate the string of data you want to group on. Then simply create a group based on the formula field.
For example, your formula could do something like (assuming all String fields):
{table1.FirstName} + {table1.LastName} + {table1.DateOfBirth}
, and then group on this formula.
-MJ
Similar Messages
-
When designing, how do I copy more than one field at a time?
How do I copy more than one field at a time?
Hi,
You can use the Ctrl or Shift modifier keys to select multiple form items. Ctrl+click toggles the selected state of the item. Shift+click selects a range of form items.
Regards,
Brian -
Hotspot on more than one fields in ALV Report
I want to add Hotspot on more than one field in ALV,
one field is Vbeln , one is BSTNK, one is matnr and so on.
i have used form user_command.and have written coding for Vbeln (on vbeln i am showing transaction VA02)
i want to pass an eror mesaage when user clicks on bstnk or matnr.
ThanksHi Lovleen,
*Global definitions *
Data Types
type-pools: slis.
types: begin of tp_data,
ebeln like ekko-ebeln,
*matnr like ekko-matnr,
*meins like ekko-meins,
lifnr like lfa1-lifnr,
chk1,
end of tp_data,
tp_tbl_data type standard table of tp_data.
Constants
Data objects (variable declarations and definitions)
Report data to be shown.
data: it_data type standard table of tp_data.
Heading of the report.
data: t_heading type slis_t_listheader.
======================= Selection Screen ==========================
selection-screen: begin of block b1 with frame title text-t01.
DATA: w_aux_ebeln like ekko-ebeln.
SELECT-OPTIONS s_ebeln for w_aux_ebeln
DEFAULT 1000 .
DATA: w_aux_lifnr like lfa1-lifnr.
SELECT-OPTIONS s_lifnr for w_aux_lifnr
DEFAULT 00000001000 .
selection-screen: end of block b1.
======================== Event Blocks =============================
at selection-screen.
start-of-selection.
perform get_data using it_data.
end-of-selection.
perform build_alv using it_data t_heading.
======================== Subroutines ==============================
*& Form get_data
Gets the information to be shown in the report.
form get_data using t_data type tp_tbl_data.
SELECT e~ebeln
*e~matnr
*e~meins
l~lifnr
INTO CORRESPONDING FIELDS OF TABLE t_data
FROM ekko as e
inner join lfa1 as l on elifnr = llifnr
WHERE e~ebeln in s_ebeln
AND l~lifnr in s_lifnr
endform. " get_data
*& Form build_alv
Builds and display the ALV Grid.
form build_alv using t_data type tp_tbl_data
t_heading type slis_t_listheader.
ALV required data objects.
data: w_title type lvc_title,
w_repid type syrepid,
w_comm type slis_formname,
w_status type slis_formname,
x_layout type slis_layout_alv,
t_event type slis_t_event,
t_fieldcat type slis_t_fieldcat_alv,
t_sort type slis_t_sortinfo_alv.
refresh t_fieldcat.
refresh t_event.
refresh t_sort.
clear x_layout.
clear w_title.
Field Catalog
perform set_fieldcat2 using:
1 'CHK1' 'XFELD' space space space 'Select' 'Select this row' 'Sel'
'Select this row' space space space 'X' 'X' space t_fieldcat,
2 'EBELN' 'EBELN' 'EKKO' space space space space space space space
space space space space space t_fieldcat ,
3 'MATNR' 'MATNR' 'EKKO' space space space space space space space
space space space space space t_fieldcat ,
4 'MEINS' 'MEINS' 'EKKO' space space space space space space space
space space space space space t_fieldcat ,
5 'LIFNR' 'LIFNR' 'LFA1' space space space space space space space
space space space space space t_fieldcat .
Layout
x_layout-zebra = 'X'.
Top of page heading
perform set_top_page_heading using t_heading t_event.
Events
perform set_events using t_event.
GUI Status
w_status = ''.
w_repid = sy-repid.
Title
w_title = <<If you want to set a title for
the ALV, please, uncomment and edit this line>>.
User commands
w_comm = 'USER_COMMAND'.
Order
Example
PERFORM set_order USING '<field>' 'IT_DATA' 'X' space space t_sort.
Displays the ALV grid
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = w_repid
it_fieldcat = t_fieldcat
is_layout = x_layout
it_sort = t_sort
i_callback_pf_status_set = w_status
i_callback_user_command = w_comm
i_save = 'X'
it_events = t_event
i_grid_title = w_title
tables
t_outtab = t_data
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. " build_alv.
*& Form set_top_page_heading
Creates the report headings.
form set_top_page_heading using t_heading type slis_t_listheader
t_events type slis_t_event.
data: x_heading type slis_listheader,
x_event type line of slis_t_event.
Report title
clear t_heading[].
clear x_heading.
x_heading-typ = 'H'.
x_heading-info = ''(001).
append x_heading to t_heading.
Program name
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'Program: '.
x_heading-info = sy-repid.
append x_heading to t_heading.
User who is running the report
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'User: '.
x_heading-info = sy-uname.
append x_heading to t_heading.
Date of execution
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'Date: '.
write sy-datum to x_heading-info.
append x_heading to t_heading.
Time of execution
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'Time: '.
write sy-uzeit to x_heading-info.
append x_heading to t_heading.
Top of page event
x_event-name = slis_ev_top_of_page.
x_event-form = 'TOP_OF_PAGE'.
append x_event to t_events.
endform.
*& Form set_events
Sets the events for ALV.
The TOP_OF_PAGE event is alredy being registered in
the set_top_page_heading subroutine.
form set_events using t_events type slis_t_event.
data: x_event type line of slis_t_event.
Example
clear x_event.
x_event-name = .
x_event-form = .
append x_event to t_event.
endform.
*& Form set_order
Adds an entry to the order table.
FORM set_order USING p_fieldname p_tabname p_up p_down p_subtot
t_sort TYPE slis_t_sortinfo_alv.
DATA: x_sort TYPE slis_sortinfo_alv.
CLEAR x_sort.
x_sort-fieldname = p_fieldname.
x_sort-tabname = p_tabname.
x_sort-up = p_up.
x_sort-down = p_down.
x_sort-subtot = p_subtot.
APPEND x_sort TO t_sort.
ENDFORM. "set_order
*& Form set_fieldcat2
Adds an entry to the field catalog.
p_colpos: Column position.
p_fieldname: Field of internal table which is being described by
* this record of the field catalog.
p_ref_fieldname: (Optional) Table field / data element which
* describes the properties of the field.
* If this field is not given, it is copied from
* the fieldname.
p_ref_tabname: (Optional) Table which holds the field referenced
* by <<p_ref_fieldname>>.
If this is not given, the parameter
<<p_ref_fieldname>> references a data element.
p_outputlen: (Optional) Column width.
p_noout: (Optional) If set to 'X', states that the field is not
* showed initially. If so, the field has to be
included in the report at runtime using the display
options.
p_seltext_m: (Optional) Medium label to be used as column header.
p_seltext_l: (Optional) Long label to be used as column header.
p_seltext_s: (Optional) Small label to be used as column header.
p_reptext_ddic: (Optional) Extra small (heading) label to be
* used as column header.
p_ddictxt: (Optional) Set to 'L', 'M', 'S' or 'R' to select
whether to use SELTEXT_L, SELTEXT_M, SELTEXT_S,
or REPTEXT_DDIC as text for column header.
p_hotspot: (Optional) If set to 'X', this field will be used
* as a hotspot area for cursor, alolowing the user
* to click on the field.
p_showasicon: (Optional) If set to 'X', this field will be shown
as an icon and the contents of the field will set
* which icon to show.
p_checkbox: (Optional) If set to 'X', this field will be shown
as a checkbox.
p_edit: (Optional) If set to 'X', this field will be editable.
p_dosum: (Optional) If set to 'X', this field will be summed
(aggregation function) according to the grouping set
by the order functions.
t_fieldcat: Table which contains the whole fieldcat.
FORM set_fieldcat2 USING
p_colpos p_fieldname p_ref_fieldname p_ref_tabname
p_outputlen p_noout
p_seltext_m p_seltext_l p_seltext_s p_reptext_ddic p_ddictxt
p_hotspot p_showasicon p_checkbox p_edit
p_dosum
t_fieldcat TYPE slis_t_fieldcat_alv.
DATA: wa_fieldcat TYPE slis_fieldcat_alv.
CLEAR wa_fieldcat.
General settings
wa_fieldcat-fieldname = p_fieldname.
wa_fieldcat-col_pos = p_colpos.
wa_fieldcat-no_out = p_noout.
wa_fieldcat-hotspot = p_hotspot.
wa_fieldcat-checkbox = p_checkbox.
wa_fieldcat-icon = p_showasicon.
wa_fieldcat-do_sum = p_dosum.
Set reference fieldname, tablenam and rollname.
If p_ref_tabname is not given, the ref_fieldname given
is a data element.
If p_ref_tabname is given, the ref_fieldname given is a
field of a table.
In case ref_fieldname is not given,
it is copied from the fieldname.
IF p_ref_tabname IS INITIAL.
wa_fieldcat-rollname = p_ref_fieldname.
ELSE.
wa_fieldcat-ref_tabname = p_ref_tabname.
IF p_ref_fieldname EQ space.
wa_fieldcat-ref_fieldname = wa_fieldcat-fieldname.
ELSE.
wa_fieldcat-ref_fieldname = p_ref_fieldname.
ENDIF.
ENDIF.
Set output length.
IF NOT p_outputlen IS INITIAL.
wa_fieldcat-outputlen = p_outputlen.
ENDIF.
Set text headers.
IF NOT p_seltext_m IS INITIAL.
wa_fieldcat-seltext_m = p_seltext_m.
ENDIF.
IF NOT p_seltext_l IS INITIAL.
wa_fieldcat-seltext_l = p_seltext_l.
ENDIF.
IF NOT p_seltext_s IS INITIAL.
wa_fieldcat-seltext_s = p_seltext_s.
ENDIF.
IF NOT p_reptext_ddic IS INITIAL.
wa_fieldcat-reptext_ddic = p_reptext_ddic.
ENDIF.
IF NOT p_ddictxt IS INITIAL.
wa_fieldcat-ddictxt = p_ddictxt.
ENDIF.
Set as editable or not.
IF NOT p_edit IS INITIAL.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
ENDIF.
APPEND wa_fieldcat TO t_fieldcat.
ENDFORM. "set_fieldcat2
======================== Subroutines called by ALV ================
*& Form top_of_page
Called on top_of_page ALV event.
Prints the heading.
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
i_logo = <<If you want to set a logo, please,
uncomment and edit this line>>
it_list_commentary = t_heading.
endform. " alv_top_of_page
*& Form user_command
Called on user_command ALV event.
Executes custom commands.
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
Example Code
Executes a command considering the sy-ucomm.
CASE r_ucomm.
WHEN '&IC1'.
Set your "double click action" response here.
Example code: Create and display a status message.
DATA: w_msg TYPE string,
w_row(4) TYPE n.
w_row = rs_selfield-tabindex.
CONCATENATE 'You have clicked row' w_row
'field' rs_selfield-fieldname
'with value' rs_selfield-value
INTO w_msg SEPARATED BY space.
MESSAGE w_msg TYPE 'S'.
ENDCASE.
End of example code.
endform. "user_command
Reward Points if useful.
Regards,
Manoj Kumar -
Using more than one Query in Crystal Reports
Dear all,
we want to use two queries an combine them in one crystal report.
How does this work?Sorry my mistake.
It IS possible to join results from 2 different BW queries.
What CR does not support is the join between BW data and relational data.
Still the best practice is to do the join in the database (eg. using an InfoSet)
How many rows do you expect to get from each query?
Regards,
Stratos -
How can we assign more than one request group to a responsibility?
Hi
Can anyone tell me how we can assign more than one request group to a responsibility?
Thanks
SSHi SS,
Its not possible, rather you should create a combination of Requests/RequestSets and create a new Request Group.
Regards,
Kiran -
creating form - want to adjust font style and size in more than one field at a time - HOW??
Select the fields with the mouse, right-click one of them, go to Properties
and set the settings you'd like them all to have.
On Wed, Jan 21, 2015 at 8:51 PM, chuckm38840797 <[email protected]> -
How to assign values for more than one field
Hi,
I have written following code
constants: fieldname(30) value '(SAPMF02D)KNA1-AUFSD'.
constants: fieldname1(30) value '(SAPMF02D)KNA1-LISFD'.
constants: fieldname2(30) value '(SAPMF02D)KNA1-FAKSD'.
field-symbols: <L_FIELD> TYPE ANY.
field-symbols: <L_FIELD1> TYPE ANY.
field-symbols: <L_FIELD2> TYPE ANY.
Assign (fieldname) to <l_field>.
<L_FIELD> = 'ZB'. " value according to your requirement
Assign (fieldname1) to <l_field1>.
<L_FIELD1> = 'ZB'.
while debugging <l_field1> is not assinging (fieldname1).
Im able to assing for (fieldname).
how to assign value for (fieldname1).
plz suggest me to assign values for more than one field.
Regards,
BrahmajiHello,
Because there is no field name called LISFD in KNA1. Actually you misspelled the field name.
It is KNA1-LIFSD -
How to select and copy more than one field in SMARTFORMS
Hello, I have about 60 fields in my smartforms, I need to copy them and paste once more at the same page. There is a problem, I can not select and copy more than one field. Is there some trick to copy and paste more than one element simultanicly?
Hi,
There is no way to copy multiple elements in smartform.
you have to do one by one only -
How to pull groups from more than one OU using weblogic "All Groups Filter" from AD.
Hi,
Please help me for pulling groups from more than one OU using weblogic "All Groups Filter" from AD.
AD structure is:
c001639domain.local
||
||
OU=Security_Groups
||
||
>> OU=CORP_ECM---> n number of group
>> OU=CORP_hodata--> n number of group
>> OU=CORP_citrix--> n number of group
>> OU=CORP_driver --> n number of group
>> OU=CORP_temp --> n number of group
Requirement is i want to filter groups from OU=CORP_ECM and OU=CORP_hodata.
Thanks,
Jagan.I used below option but its not working getting zero groups.
(&(objectClass=group)(|(ou=CORP_ECM,dc=Domain,dc=com)(ou=CORP_hodata,dc=c001639domain,dc=local))) -
How can I define more than one baseline in a line chart??
How can I add more than one straight line across a graph to indicate a target value? The values are percentages.
Thanks a lot!!!When I have needed to indicate a target line on a chart, I have written a formula that would return a negative or positive number for each group. Then when I chart on the formula, it creates a baseline, with those groups beating the target above the baseline, and those failing to meat the target below the baseline. Percentage calculations work well on these types of charts.
-
In Imovie '11, how can I drag more than one set of video clips to my project?
In Imovie '11, how can I drag more than one set of video clips into my project. I know how to highlight in yellow and drag the set, but can I drag a group of sets? Thanks
To select multiple clips, hold down the command key as you click multiple clips. Then you can drag them all at once.
To drag all clips at once, select one, then Edit/Select All. Then drag them all. -
How do i add more than one pdf at a time to profile manager books
How do I add more than one pdf at a time to profile manager books? When I browse to my pdf folder I can only select one pdf at a time. I have 500+ pdf files I need to add. Any help would be greatly appreciated.
Bucknut wrote:
I want to add more than one email address to my address book from an email I received. They were in the CC of the email I received. is there anyway to drag them all into an address book group all at once. I hate having to add and address and then having to find the address and then add it to a group. thanks
no, there is no way to do that, sorry. you need to control-click on every email address one at a time and select "add to address book". if an email is in the address book already that option will not be there. -
At Line-selection in ALV for more than one field.
How to use At Line-selection in ALV Basic Report where there are more than one field for displaying Secondary Lists.
Ex: In Basic List there are 3 fields Volume_m Volume_y and Volume_i.When i click on any of the field i need to display the secondary list for that particular field.Hi Pavan,
Use User-command event of ALV.
Refer this code :
form BUILD_EVENTCAT using p_i_eventcat TYPE SLIS_T_EVENT.
DATA: I_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = P_I_EVENTCAT
EXCEPTIONS
LIST_TYPE_WRONG = 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.
clear I_event.
read table p_i_eventcat with key name = slis_ev_user_command into I_event.
if sy-subrc = 0.
move 'USER_COMMAND' to I_event-form.
append I_event to p_i_eventcat.
endif.
form USER_COMMAND' using p_ucomm type sy-ucomm
p_selfield type slis_selfield.
case p_ucomm.
WHEN '&IC1'. "&IC1 is the Fcode for double click
Use P_ELFIELD-VALUE for further processing . this will contain the value on which u will double click
endcase.
Reward points if helpful.
Regards,
Hemant -
Control break statement for more than one fields
How can I accomodate more than 2 fields in control break statement?
e.g. if I want to have control on these fields land1 plant , how can I use it in At statement?
ThanksHey Marcin,
If you define the table as:
DATA:
BEGIN OF ITAB OCCURS 0,
LAND TYPE LAND1,
WERKS TYPE WERKS_D,
END OF ITAB.
Then AT NEW WERKS will be triggered whenever there is change in either LAND or WERKS:
LOOP AT ITAB.
AT NEW WERKS.
ENDAT.
ENDLOOP.
So
If you want to use both field as one, you will need to create another field and hold there concatenation of LAND1 and PLANT
is not required.
Correct me if i am wrong
BR,
Suhas
Edited by: Suhas Saha on Feb 15, 2010 3:14 PM -
Dynamic Filter SAP HANA - For more than one field
Hi Guys,
Is their any way we can apply filter for more than one field. Lets take below example i want to apply filter both on PERNR & DOJ. I am able to apply filter on PERNR but when i try to create filter on more than one field (PERNR & DOJ ) it throws me some error.
Please let me know how we can achieve this.
OUT_EMP_SAL = SELECT A.PERNR, A.DOJ, A.FNAME, B.SALARY FROM "SAPH74".EMP_INFO A
INNER JOIN "SAPH74".EMP_SAL B
ON A.PERNR = B.PERNR;
OUT_EMP_SAP = APPLY_FILTER(:OUT_EMP_SAL, :IN_PERNR )Hi Lakshmi,
You may need to use the end while calling, i took the same example from the "Help" in hana.
CREATE PROCEDURE GET_PROCEDURE_NAME (IN filter NVARCHAR(100), OUT procedures outtype)
AS
BEGIN
temp_procedures = SELECT SCHEMA_NAME, PROCEDURE_NAME FROM SYS.PROCEDURES;
procedures = APPLY_FILTER(:temp_procedures,:filter);
END;
CALL GET_PROCEDURE_NAME(' SCHEMA_NAME = ''SYS'' AND PROCEDURE_NAME like ''TREX%''', ?);
Regards,
Krishna Tangudu
Maybe you are looking for
-
Quantity is not shown in the purchase order history of the Service PO
Hi We have a service PO for which we made a service entry sheet and released the same. In the background GR with 101 movement type also done correctly. But when we refer the purchase order history, we found the SE Number and the GR number but the QUA
-
Adobe Bridge, tagging and searching videos
The company I work for has a enormous library of video. We are at a point where we would like to start tagging our video to where it is searchable. i.e., Search "boy" "classroom" and we will have a list of all video assets that are tagged with the wo
-
Font issue - how to troubleshoot?
Hey all, I'm having a problem with my new MacBook Pro - I've only recently started using OS X. I'm a linguistics major, and Snow Leopard is giving me trouble with accents and diacritics. For instance, when I try to combine i with a grave accent (`),
-
Mail received should be in pdf format or word format
Hi Experts , I am working on a scenario in which , I need to send mails to the supplier.I have used a mail adapter. The user should receive the mail as a pdf document , word document or text document. The mails which I am sending now are being recei
-
Hi folks! I recently discovered a problem while doing custom shadows for products. The effect also appears when I open files from colleagues. If looked closely, they also got that problem but only half as bad as I experience it. No matter what profil