Select statement for summing values in column?
How to write a select statement for sap standard table which contains data as given below
col1 col2
A 10
A 20
A 30
B 50
B 60
C 70
Need the output of select in internal table as given below
A 60
B 110
C 70
Regards,
Rachel
Thanks for all the valuable input.
Below I have used sum in select statement(check case 2"),but i am not getting required o/p.
Kindly guide me.
case1 :
select aebeln aebelp bpackno bmenge
into corresponding fields of table itab
from ( eslh as a inner join esll as b
on bpackno = apackno )
where a~ebeln = 6000000100
and a~ebelp = 00010
and a~packno = '0000001025'
order by aebeln aebelp b~packno .
O/p for the above .
ebeln ebelp packno menge
6000000100 00010 0000001025 6.000
6000000100 00010 0000001025 5.000
6000000100 00010 0000001025 2.000
6000000100 00010 0000001025 1.000
6000000100 00010 0000001025 2.000
case2:
select aebeln aebelp bpackno sum( bmenge )
into corresponding fields of table itab
from ( eslh as a inner join esll as b
on bpackno = apackno )
where a~ebeln = 6000000100
and a~ebelp = 00010
and a~packno = '0000001025'
group by aebeln aebelp b~packno
order by aebeln aebelp b~packno .
6000000100 00010 0000001025 0.000
Edited by: Rachel on Nov 25, 2008 11:45 AM
Edited by: Rachel on Nov 25, 2008 11:46 AM
Similar Messages
-
Querying many tables at once from a select statement for specific values
Hi all,
I'm very new to PL/SQL and have a daunting task ahead of me. I'm pretty sure our database normalization scheme is all out of whack, which I dont have the experience to fix yet, but this is the task ahead of me without getting to change or fix our structure:
in the universe has 1000+ tables.
need--> Some of those tables have fields that contain a value that has to be changed.
The only thing I have to go on is the column name will contain 'EMP'... but there is no specific naming convention for the column names.
When I search on:
select * from all_tab_columns where column_name like UPPER('%EMP%')
It returns 750 rows. (So 750 rows = 750 columns in 500 different tables (some tables have 2 or more columns in it))
tables names are random (table1, table2, etc).
columns names are random with EMP in it (column1,column2,etc).
I have 75 possible field values that I need to check each of those 750 columns for.
Maybe this is too messy, but I'm looking at subqueries, joins, arrays, cursors, etc, anything to minimize the amount of work I have to do.
I think this is too much to do a join with, but that seems to be what all the documentation is pointing me to.
can you point me to a simple example of what i could
write?
the logic i see it would be
run the select statement to grab the column names that meet EMP.
one at a time, search each column in the corresponding table for the 75 values.
return the results of rows for each column/table that meet one of the 75 unique values.
I'll have to also update each of the 75 values to (used to be values 1, 2, 3 ... to new values X1, X2, X3, etc.)
Any help at all would be very helpful,
aspiring pl/sql programmer but having a rough time of itI think you're looking to do something like the following pseudocode:
BEGIN
FOR tblrec IN (SELECT table_name, column_name
FROM all_tab_columns
WHERE column_name LIKE '%EMP%')
LOOP
FOR rec IN (SELECT ROWID
FROM tblrec.table_name
WHERE REGEXP_LIKE(tblrec.column_name, '(expr1|expr2|...)')
LOOP
DBMS_OUTPUT.PUT_LINE(
'Found expression on ROWID ' || rec.rowid
|| ' in column ' || tblrec.column_name
|| ' on table ' || tblrec.table_name);
END LOOP;
END LOOP;
END; -
Select statement for retrieving infotype 1005 values w,r,t payscale
Hi All,
could you pls help me for the below requirement
"select statement for retrieving infotype 1005 values with respect to the pay scale level.
because pay scale level is having range of values in the infotype"
Thanks in advance
Prasad
Please try it yourself first.
Edited by: Suresh Datti on Aug 9, 2009 4:52 PMHi,
Code which you have written is correct when the R_DATE is having LOW and HIGH values, if the R_DATE is having only LOW value then this will be wrong, becuse if the R_DATE is having only LOW then OPTION value is not BT is should be EQ
Regards
Sudheer -
How to write Select statement for this codition
I need to check whether SGTXT contains BELNR value.
SGTXT is a text field and It should be matched with BELNR
How to write select statement for this.
Select AUGBL AUGDT into t_BSAD
from BSAD
where SGTXT should have the given BELNR Value.
Plz note : Here I cannot give as SGTXT = BELNR as coz BELNR have only 10 digits.Hi,
data temp(12).
concatenate '%' belnr '%' into temp.
Select AUGBL AUGDT into t_BSAD
from BSAD
where SGTXT like temp.
If belnr is having multiple values,just create a internal table as follows.
types : begin of ty,
belnr....
temp(12),
end of ty.
data itab_ type standard table of ty.
data wa type ty.
loop at itab into wa.
concatenate '%' wa-belnr '%' into wa-temp.
modify itab from wa index sy-tabix transporting temp.
endloop.
Change your select statement accordingly.
Kindly reward poits if it helps. -
DISTINCT in SELECT statements for Entities / Views - Oracle JDeveloper 11G
Hi Steve,
i have a question about using DISTINCT in SELECT statements for
Entities / Views. On Oracle JDeveloper 11G ADF / BC4J
--- This is unique---
SELECT
distinct(GC."course_title"),
GC.SEC_GRP_PARENT_ID,
from "grp_courses" GC
--- This is NOT unique, but ROWID seems to be mandatory as PrimaryKey---
SELECT
distinct(GC."course_title"),
GC.SEC_GRP_PARENT_ID,
rowid
from "grp_courses" GC
How to use this query;
SELECT
distinct(GC."course_title"),
GC.SEC_GRP_PARENT_ID,
from "grp_courses" GC
and yet still be able to use it in View / Entity without a Primary Key or some equivalent solution.
Thanks & Regards,Hi, OK - I got it to work...
Some notes:
1) The View wizard cannot be initiated from the Entity Object.
2) During the View wizard process - do not associate with Entity
3) Selected columns must be mapped as expressions
4) Using non-distinct columns will override the distinct function -
Regarding select statement for this requirement
Hi................
good evening
here is a requirement.
i want to retrieve data from the following table.but how to join these table is my dought.
tables fields
t001w--werks " plant id
t001w--name1 " pl;ant name
t001w--regio " plant address
ekko--ebeln " purchase order
ekko-erdat : creation date
ekko-ernam "name of the person
ekpo-ebelp " item
ekpo-bstyp "purchase order type
eket-erdat " delivery date
mara-matnr " material number
these are the tables and fields.now we want to retrive data from these tables
how we have to code select statement.
selection-screen is
plant id
order type
delivery date
please provide select statement for this requirement.
thanks and regards.
k.swaminath reddy.Is this what you are looking for?
SQL> CREATE OR REPLACE FUNCTION f_team
2 RETURN VARCHAR2
3 IS
4 s_return VARCHAR2(500);
5 BEGIN
6 FOR i IN ( select team from t_team order by 1) LOOP
7 s_return := s_return || i.team || ', ';
8 END LOOP;
9
10 RETURN substr(s_return, 1, length(s_return) - 2);
11 END;
12 /
Function created.
SQL> SELECT f_team FROM dual;
F_TEAM
Australia, Bangladesh, England, India, Kenya, Pakistan, South Africa, UAE, USA, West Indies, Zimbabwe
SQL> -
Need Select statement for fetch the details
Hi
i want to fetch particular customer wise sales orderds and that sales order No and date of sales order was created.. and that sales order related PO No and Materials ..
for this.. how can i write an executable programm.. is it needed to define seperate internal tables or single internal table is enough ?
what is the select statement for fetching all these details..
any help will be appriciated
Thanks
Bbaucustmer master table is KNA1 knb1 knbk
sales data tables r VBAK VBAP VBEP
Material data MARA, MARAC, MARD
PO RELATED ekko ekpo eket
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Feb 13, 2008 3:04 PM -
Equivalent select statement for complex selection
HI,
What is the equivalent select statement for below mentioned condition.
SELECT-OPTIONS : SALEDOCU FOR VBAK-VBELN OBLIGATORY,
DATE FOR VBAK-ERDAT OBLIGATORY,
CHANEEL FOR VBAK-VTWEG,
SALETYPE FOR VBAK-AUART OBLIGATORY DEFAULT 'QT'
NO INTERVALS NO-EXTENSION.
Regards,
John.hi,
you can use following code.
tables vbak.
data : begin of t_vbak occurs 0.
include structure vbak.
data : end of t_vbak.
select * from vbak into table t_vbak where
vbeln in saledocu and
erdat in date and
vtweg in chaneel and
auart in saletype.
Hope this helps.
Regards,
Shashank -
Select statement for JDBC receiver synch scenario for capturing random value from ECC portal
Dear Experts,
I am working on ECC <----> SAP-PO 7.31 <----> JDBC synchronous scenario. I am clear about the config part except the Select statement. I will be
capturing 2 random values from the portal i.e. VendId and VendName in ECC to get the vendor details like Vendor Country, Vendor Status, Vendor Contact , Vendor Address etc from JDBC vendor table/view VENDETAIL.
What would be the select statement to capture the random values for ECC portal? My select statement would look some thing like this..
Select f1,f2,f3,f4 from table VENDETAIL where key1 = "VendId" and "VendName"
Please suggest if the above select statement works for the above scenario...
Regards
RebeccaHi Rebecca,
Your statement should work fine.
Please see the statement we use below.
SELECT eT_cashier, eT_proc_yn, eT_proc_date FROM eTest WHERE eb_proc_yn = 'N'
Just remember to update the change indicator so that you dont duplicate your records.
UPDATE eTest SET eb_proc_yn = 'Y' WHERE eb_proc_yn = 'N'.
Regards,
Jannus Botha -
How can I call a Page Process from the Select statement for Report Page
I'm able to call a javascript using the below:
img src="#IMAGE_PREFIX#add2.gif" border="0" alt="Icon 4" onClick="javascript:add_connect1('||CPORT.ID||')"
But Now,
I'd like to accomplish (2) New things:
1. instead of using,....... onClick="javascript:add_connect1,
I'd like to call a Page Process, onClick=
2. I'd like to be able to call two different processes onClick.
a. onClick="javascript:passBack('||ID||')"
b. onClick= <Please see my question #1 above>
Can someone please help me with the syntax for this,
If indeed it can even be done?
Thanks- GaryGreg.
It seems that my situation is the one you describe in you second paragraph, where you mention:
you could then add the ID column value as a parameter to the javascript functionBut,
I do not know how to reference the variable in my javascript nor how to use it in my on-demand process.
If you can hellp me past this last little bump, then I think I will be able to use these skills in Sooo many different areas of my design.
Here's what I've got so far:
A. In the select statement I identify the javascript as:
onClick="javascript:connect_port('<font color=blue>''||ID||''</font>')";
B. In my javascript I have this:
<script language="JavaScript" type="text/javascript">
function connect_port(ID)
var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=CONNECT_PORT',0);
gReturn = get.get();
get = null;
</script>
C. In my on demand function I have this:
BEGIN
INSERT INTO CCONNECTIONS_B
BLDG_ID,CLST_ID,PORT_ID,STRAND_ID
) VALUES
:P2004_BLDG_ID,:P2004_CLST_ID,:P2004_PORT_ID,:P2004_STRAND_ID1
END;
You can see that I dont know how to use the value for 'ID' in either the javascript or the On-Process function.
If you can help me out with this one, Then I can imitate it for the rest.
-Gary
Edited by: garyNboston on Apr 3, 2009 6:44 AM
Edited by: garyNboston on Apr 3, 2009 6:44 AM
Edited by: garyNboston on Apr 3, 2009 6:45 AM
Edited by: garyNboston on Apr 3, 2009 6:47 AM -
Using variable in from close of select statement for LOV
Hi all,
I had a select list based on a query with a variable in it for the database schema. Something like this:
"select name, id from &SCHEMA..countries order by name". This warked in version 1.4.4..., I don't remember the rest. Now we upgraded to version 1.6.0.00.87 and I am trying to change the condition for this select item but I recieve this error:
1 error has occurred
LOV query is invalid, a display and a return value are needed, the column names need to be different. If your query contains an in-line query, the first FROM clause in the SQL statement must not belong to the in-line query.
Whatever I'm trying to change for this item, it always gives me this error when I click on "Apply Changes" button. Everything works fine when I remove &SCHEMA. from the query and instead write directly the database schema name.
Can you help me?Sabiha,
This is a case where the builder cannot parse the query at design time because there is no state for &SCHEMA. in the session. You can try this trick, change the lov query to: if htmldb_application.get_current_flow_sgid(:APP_ID) = htmldb_application.get_sgid then
return 'select name d, id r from &SCHEMA..countries order by name';
end if;Notice also the addition of aliases for the column names.
Scott -
Select querry for maximum value
Hi,
I want to select fields A B C D from a database table TAB using some selection criteria from selection screen, but the greatest value of A has to be selected for all unique entries of B C and D. Please suggest an appropriate select querry.
PS: I cannot use SELECT and then DELETE ADJACENT DUPLICATES as it will effect performance in some cases.
Regards.Try using aggregate function MAX with SELECT statement.
MAX Returns the greatest value in the column determined by the database field f for the selected lines. Specifying DISTINCT does not change the result. NULL values are ignored unless all values in a column are NULL values. In this case, the result is NULL .
Have a look at below link:
[Select Clause|http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/select_c.htm]
I hope it helps.
Best Regards,
Vibha
Please mark all the helpful answers -
Use of LIKE in where clause of select statement for multiple records
Hi Experts,
I have a account number field which is uploaded from a file. Now this account numbers uploaded does not match fully with sap table account numbers but it contains all of the numbers provided in the file mostly in the upright positions.
For example in file we have account number as 2ARS1 while in sap table the value is 002ARS1.
And i want to fetch data from sap table based on account number uploaded. So, i am trying to use LIKE with for all entries but its not working as mentioned below but LIKE is not working with FOR ALL ENTRIES.
data : begin of t_dda occurs 0,
dda(19) type c,
end of t_dda.
data : begin of t_bukrs occurs 0,
bukrs type t012k-bukrs,
end of t_bukrs.
data : dda type t012k-bankn,
w_dda type t012k-bankn.
CONCATENATE '%'
'2ARS1'
INTO W_DDA.
MOVE W_DDA TO T_DDA-DDA.
APPEND T_DDA.
CLEAR T_DDA.
free t_bukrs.
SELECT BUKRS
FROM T012K
into TABLE t_bukrs
for all entries in t_dda
WHERE BANKN like t_dda-dda.
Can anybody suggest what should i use to get the data for multiple account numbers using one select statement only instead on using SELECT UP TO 1 ROWS in LOOP....ENDLOOP ?
Thanks in advance,
AkashHi,
yes, For All entries won't work for LIKE with '% '.
I think the other alternative is go for Native SQL by writing sub-query
sample code is here:
data: begin of i_mara occurs 0,
matnr like mara-matnr,
matkl like mara-matkl,
end of i_mara.
exec sql.
select matnr, matkl from mara where matnr in (select matnr from marc) and matnr like '%ma' into :i_mara
endexec.
loop at i_mara.
write:/ i_mara-matnr, i_mara-matkl.
endloop.
hope u got it.
regards
Mahesh
Edited by: Mahesh Reddy on Jan 21, 2009 2:32 PM -
Using if the else logic in regards to a select statement for a report
Hi all,
I've a question regarding if then else logic in Oracle.
I'm developing a report application which contains 3 selectlists
- ProductGroup - SubGroup - Manufacturer
Each one containing several values. And are based on eachother, meaning if you select an item from the PG list, you only get the SG items regarding the PG item you've choosen before. The process logic should be as the following:
When a user selects one item from for example the PG list, the query will be:
select * from x where PG = :P_PG
and the report displays all the items in the PG category selected
The other two bindvariables would be null as the user didn't pick them
If he then proceeds and selects one item from the SG list, the query would be:
select * from x where PG = :P_PG and SG = :P_SG
and the report displays all the items in the PG and SG category selected
If he then proceeds and selects one item from the MA list, the query would be:
select * from x where PG = :P_PG and SG = :P_SG and MA =:P_MA
and the report displays all the items in the PG and SG and MA category selected
Now, I've read some documentation about the decode function, but I can't figure it out, please help.
PeterOkay, Chet, have set it up on htmldb, so you can see my problem, will go in high detail, it is not producing what I want. Example on htmldb:
DEMO/test
http://htmldb.oracle.com/pls/otn/f?p=33229:6
Defenitions:
3 LOV's, namely:
- LOVPG - select distinct productgroep, productgroep pg from plijst
- LOVSG - select distinct subgroep, subgroep sg from plijst where productgroep = :P6_LOVPG
- LOVLE- select distinct leverancier, leverancier le from plijst where productgroep = :P6_LOVPG and subgroep = :P6_LOVSG
3 Selectitems with submit, namely:
- :P6_LOVPG
- :P6_LOVSG
- :P6_LOVLE
Report region select statement:
select * from plijst where (productgroep = :P6_LOVPG or :P6_LOVPG IS NULL) and (subgroep = :P6_LOVSG or :P6_LOVSG IS NULL) and (leverancier = :P6_LOVLE or :P6_LOVLE IS NULL)
Branch to:
Branche to page on submit after processing
What it should do is:
When you select an item from the first selectlist, productgroep, the report should show all rows containing the specified productgroep.
When the user selects the next item in the subgroep selectlist, the report should show all rows containing the previously selected prodctgroup and the just selected subgroep.
When the user selects the final item , the report should show all rows based on all three selected itemvalues, productgroep, subgroep, leverancier.
The problem is that with this setup the report is only generated after the final selectlist choice of the user. But the user should see a report before that, going deeper into the structure. Hope, you see my problem?
Sincerely,
Pete -
Adding in Select statement for SAPscript printout
Hi everyone,
I have a new requirement where i would need to output a new field in a sapscript printout.
A summary of the requirements is as follows:
-> If EKPO-PSTYP = '3'
-> select RSNUM
from EKET
where EKET-EBELN = EKPO-EBELN and
EKET-EBELP = EKPO-EBELP
-> select MATNR
from RESB
where RESB-RSNUM = EKET-RSNUM
-> display RESB-MATNR in printout
At the moment, the sapscript is only reading from table EKPO, whereas for the new requirement to work, i'll also need to read from table EKET and RESB. Am i right to understand that sapscript cannot read SELECT statements directly from the Change Editor and i would need to do a PERFORM statement?
The question now is, where do i put this part of the logic? Any ideas?
Message was edited by: Bernard LohHi,
Write a PERFORM in your script.
PERFORM GET_MATNR IN PROGRAM Z_SUBROTINEPOOL
USING W_EBELN W_EBELP
CHANGING W_MATNR
ENDPERFORM.
And check the following to write the FORM in the Z program.
The structure ITCSY is used in relation with SAPScripts. You can call a Routine in any program in SAPScript.
For eg: if you have a subroutine named ADD_INCOME in a program ZSHAIL_BASIC, you can call the subroutine in SAPScript as follows:
/: PERFORM ADD_INCOME IN PROGRAM ZSHAIL_BASIC
/: USING &var1&
/: CHANGING &var2&
/: ENDPERFORM.
Here the input parameter to the subroutine is var1 and the value returned by the subroutine is var2.
In the program ZSHAIL_BASIC, you have to call the subroutine as
FORM ADD_INCOME TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.
ENDFORM.
IN_TAB is a structure of type ITCSY,which has 2 components, NAME and value.
So in the program, var1(which is sent from SAPScript) , will be stored as IN_TAB-NAME and its value will be in IN_TAB-VALUE. You can utilise the IN_TAB-VALUE and after performing the required operations, the return value should be assigned to table OUT_TAB.
This value can thus be obtained in var2 specified in SAPScript.
Also you can search for "SUBROUTINE IN SCRIPT"... "PERFORM IN SCRIPT", "ITCSY"....
Thanks and Regards,
Bharat Kumar Reddy.V
Maybe you are looking for
-
How to remove the admin password in hp lj 600 m602
when we go in preboot menue for updating the frimware we have to select the administrator but its asking for password.with out going in admin how to update the frimware ?
-
How can I add buttons that do different things to each row of an rpt result
Hi there, I'm trying to figure out how to add buttons to each row of a report. Here is the scenario: report query returns a set of data that needs to be "approved". The options are "Append", "Replace", or "Reject" (I want to make the results look lik
-
Wifi WEP passphrase vs. key - how to connect?
My iTouch only connects to my secure Wifi by using the 26 character WEP key when challenged for the Network password. How can I get my iTouch to connect using the passphrase, instead, which is much easier to remember? The network password gets blown
-
Query to get which user assign to what group in OID
Hi All, Can you please help me out to get the details of users assigned to which groups in OID. I required sql query for the same. Please suggest for such query. Thanks- P
-
How to update automatically a job status type to Complete - No Charges ?
Hello, I'd like to update automatically (= no user intervention) jobs status type from "Complete" to "Complete - No Charges". I've tried the Wip Mass Load program (using WIP_JOB_SCHEDULE_INTERFACE), but it didn't work because this program can only up