Fetch data from 3 tables (join vs select)
hi all...
i have to fetch data from three tables having one field common.
should i go with join or using three select statements..
which one is better.. plz clarify..
thanks in advance.
regards.
Hi,
Use for all entries, what are the tables...
select field1
field2
from table
into table itab.
if sy-subrc = 0. "this is must ot table initial check
select field2
field3
from table2
for all entries in itab
into table itab2
where field2 = itab-field2.
select field2
field5
from table3
for all entries in itab
into table itab3
where field2 = itab-field2.
endif.
Similar Messages
-
Select query taking 30 sec to fetch data from table containing BLOB column.
Hi Friends,<o:p></o:p>
Please help me...<o:p></o:p>
I have 15 columns in a table, in that 2 columns containing blob (images).<o:p></o:p>
More than 22 lakhs records are in a table.<o:p></o:p>
While i am try to fetch data from this table it nearly takes 25~30 sec to execute that query.<o:p></o:p>
When i deleted the two columns containing blob and i tried its executing fast .<o:p></o:p>
I should not change the table schema.<o:p></o:p>
Views also i created and indexes also there in a table.<o:p></o:p>
How can i improve the query execution speed?.<o:p></o:p>And how large is the size of BLOB data in your table? If it's several giga bytes, then the time is simply required to read the amount of data from disk and to transfer it to the Client.
Olaf Helper
[ Blog] [ Xing] [ MVP] -
Hi All,
I have to fetch data from t005u for the filed bezei.
based on conditions given below
1) pass kna1-land1 and kna1-regio to t005u-land1 and t005u-bland
and then i want to pass this to an alv filed.
thanks in advance
jayhi jay,
try this code.
select t005u~bezei
kna1~land1
kna1~regio
into table <itab>
from t005u join kna1
on t005u-land1 eq kna1-land1 and
t005u-bland eq kna1-regio
where <condition with selection-screen Parameters>
After fetching the data build the field catelog using <itab> and
pass it in the function module REUSE_ALV_GRID_DISPLAY.
<b><i>Reward points if useful</i></b>
Chandra
Message was edited by:
Chandrasekhar Velpula -
RFC fetching data from table which is not commited
Hi Experts,
I have a query regarding commit work.Below is the RFC that i have written
FUNCTION ZBAPI_CREATE.
*"*"Local Interface:
*" TABLES
*" IT_ZABAP_RFC STRUCTURE ZBAPI_RFC_STR OPTIONAL
*" RETURN STRUCTURE BAPIRET2 OPTIONAL
CALL FUNCTION 'ZBO_BAPI_CREATE'
TABLES
IT_ZABAP_RFC = IT_ZABAP_RFC
RETURN = return
Break-point.
DATA lt TYPE TABLE OF ZBAPI_RFC_STR_MAIN.
CALL FUNCTION 'ZBAPI_SEARCH_RANGE'
* EXPORTING
* IS_STR =
TABLES
ET_TAB = lt
* RETURN =
ENDFUNCTION.
here in first RFC call i am creating a record in ZTABLE , and then at break-point
i check the ZTABLE where it does not create any record because data is not commited into ZTABLE upto this point, but just after it i have written code for fetching data from ZTABLE but i am able to get this new record in lt.
Can anybody please explain that from where this serach RFC is providing data because inside serach i am simply selecting data from ZTABLE.
Regards,
Abhishek Bajpai
Edited by: ABHISHEK BAJPAI on Jan 28, 2009 1:12 PMHi Thomas,
Thanks for reply , i checked in ZTABLE ,before search RFC call data is not there but if i commit explicitly only then it is showing data in ZTABLE. Actually my requirement is different -
I have two RFCs 1. Create 2. Search , Now from web dynpro user will call first Create RFCs but at this point it should not insert record in ZTABLE and just after it user will call another search RFC and in this search he should be able to get these newly created records.
I want to have the functionality which a user gets when working with normal database front end like SQLPLus for Oracle. In these scenarios we see that whenever user does any insert or update the data sits in the table but still it is not committed. So there he fires Select query he sees the inserted data. But if he logs off from SQL PLUS and then logs in again, and fires Select query he does not see the data as it was not committed. I want a similiar functionalty in which if user inserts the data through Create RFC and fires the Select query through Search RFC then he can see the newly Created data also even though this data is not committed.
Although if i call create RFC in update task it will not update ZTABLE but in this situation , if user will call search RFC he will not be able to get newly created records.
So my requirement is that i should be able to get those records which are not commited in ZTABLE .If you have still any doubt regarding my question then please let me know.
Regards,
Abhishek -
Fetch data from table and generate attachment than mail it.
Hello Experts,
From couple of day I am searching on Google for a better database procedure that will help me to get data from tables and generate attachment and mail it but i fail.
My Scenario is:
I have a query that will fetch almost 5000 records from database tables. Each record has almost 75 characters
select a.location_code,
a.item_code,
b.description item_desc,
to_char(a.manufact_date,'ddMonyy')mfg,
to_char((a.manufact_date + nvl(b.expiry_period,0)),'ddMonyy')expr,
to_char((a.manufact_date + nvl(b.qurantine_period,0)),'ddMonyy')qrtn,
round(nvl (b.qurantine_period, 0) - (sysdate - a.manufact_date)) days_elapsed,
a.closing_balance_posted quantity
from wms_stock_current_balance_v a, wms_item_setup_mast b
where a.closing_balance > 0
and a.item_code = b.item_code
and a.loc_type in ('RACKING','PICKING','QUICKA','BUNDLED')
and nvl(b.qurantine_period,0) > 0
and round(nvl (b.qurantine_period, 0) - (sysdate - a.manufact_date)) <= 0
order by a.item_code, a.location_code;
Sample data of above query is
LOCATION_CODE
ITEM_CODE
ITEM_DESC
MFG
Expiry
Quarantine
Days Elapse
Quantity
13DL2
000000000000000F0487
CLEAR COOL BLACK 05ML
20-Feb-10
31-Mar-14
4-Jun-13
-122
160
14DL0
000000000000000F0487
CLEAR COOL BLACK 05ML
23-Feb-10
3-Apr-14
7-Jun-13
-119
134
14DL2
000000000000000F0487
CLEAR COOL BLACK 05ML
23-Feb-10
3-Apr-14
7-Jun-13
-119
160
14DR2
000000000000000F0487
CLEAR COOL BLACK 05ML
23-Feb-10
3-Apr-14
7-Jun-13
-119
20
14LL2
000000000000000F0487
CLEAR COOL BLACK 05ML
20-Feb-10
31-Mar-14
4-Jun-13
-122
160
17ER2
000000000000000F0487
CLEAR COOL BLACK 05ML
20-Feb-10
31-Mar-14
4-Jun-13
-122
160
17GL2
000000000000000F0487
CLEAR COOL BLACK 05ML
20-Feb-10
31-Mar-14
4-Jun-13
-122
160
17SL0
000000000000000F0487
CLEAR COOL BLACK 05ML
17-Feb-10
28-Mar-14
1-Jun-13
-125
64
18QL0
000000000000000F0487
CLEAR COOL BLACK 05ML
23-Feb-10
3-Apr-14
7-Jun-13
-119
160
19AR5
000000000000000F0487
CLEAR COOL BLACK 05ML
17-Feb-10
28-Mar-14
1-Jun-13
-125
160
19DL1
000000000000000F0487
CLEAR COOL BLACK 05ML
20-Feb-10
31-Mar-14
4-Jun-13
-122
160
19JR0
000000000000000F0487
CLEAR COOL BLACK 05ML
17-Feb-10
28-Mar-14
1-Jun-13
-125
60
19TL1
000000000000000F0487
CLEAR COOL BLACK 05ML
20-Feb-10
31-Mar-14
4-Jun-13
-122
160
20GR2
000000000000000F0487
CLEAR COOL BLACK 05ML
20-Feb-10
31-Mar-14
4-Jun-13
-122
40
36FL3
000000000000000F0487
CLEAR COOL BLACK 05ML
18-Feb-10
29-Mar-14
2-Jun-13
-124
65
19UR0
000000000000000F0591
COMFORT WHITE 24ML*300
28-Oct-09
28-Oct-11
1-May-11
-887
1
12SL1
000000000000000F0593
COMFORT PINK 24ML*300
28-Oct-09
28-Oct-11
1-May-11
-887
42
12SR1
000000000000000F0593
COMFORT PINK 24ML*300
28-Oct-09
28-Oct-11
1-May-11
-887
42
14OR1
000000000000000F0593
COMFORT PINK 24ML*300
28-Oct-09
28-Oct-11
1-May-11
-887
8
36EL4
000000000000000F0594
CLEAR HF DECRASE 5M*360
14-Feb-10
14-Feb-11
12-Oct-10
-1088
14
13VL1
000000000000000F0595
CLEAR COM SFT CRE 5*360
8-Feb-10
8-Feb-11
6-Oct-10
-1094
160
14ER0
000000000000000F0595
CLEAR COM SFT CRE 5*360
8-Feb-10
8-Feb-11
6-Oct-10
-1094
105
Database Info
Oracle 10g
Version 10.2.0.1.0Look at the sample code for generating a CSV file that I've just posted in response to a similar question:
Re: How to execute a proc and spool files in a database job
And the use the search button in this forum to find sample code for sending a CLOB as a plain/text e-mail attachment using UTL_SMTP. -
Fetch data from table(ET_) which is exporting parameter of function module
Hi,
I m new to ABAP programming.
I have to develop a smartform that has to be filled in with fields from few tables.
These tables have the naming convention ET_<XXX> (i.e. exporting parameter of function module).
I m not able to directly view its contents in se11 or use select query for it.
I have a report program which i can execute to view these parameter names.
Now, how do i fetch data from these parameters/tables and pass it from my driver program to smartform??
Someone pls guide me...
Thank You.Hi,
I have done that using Field-Symbols.
Thanks,
Preetha -
Hi all,
I am using function module through Call fucntion.
There i am getting <b>Table Name</b> as import Parameter.
Now i need to fetch data from that table (Which name we got througfh function module).
Is there any point to know how can we fetch data from runtime table .
i need some sample code for this.
Thanks inn advance,
Regards,
BhaskarHello Bhaskar,
I don't have an SCM system, so I cannot test out that FM
However, I modified the above code to update the table as well
*& Report ZKRIS_DYNAMIC_TABLE_READ_MOD
REPORT ZKRIS_DYNAMIC_TABLE_READ_MOD LINE-SIZE 256.
DATA : LV_FIELD_DESC TYPE STRING.
DATA : LV_DATA1 TYPE STRING.
DATA : LV_DETAIL(128).
DATA : COMMA TYPE C VALUE ','.
DATA : LV_TNAME LIKE DD02L-TABNAME.
DATA : LV_DBTAB1 LIKE DD02L-TABNAME.
DATA : DREF TYPE REF TO DATA.
DATA : FLAG_MODIFIED. " determines if database needs to be updated
FIELD-SYMBOLS: <ITAB> TYPE ANY TABLE, " used to store dynamic tables
<WA> TYPE ANY, " used to store record data
<WA1> TYPE ANY . " used to store field data
* call Fm /SAPAPO/TS_PA_COPY_TABLE_GET here
LV_DBTAB1 = 'ZGSTSET'. " <-- put your table name here
DATA: IT_FIELDS TYPE X031L OCCURS 0.
DATA: WA_FIELDS LIKE LINE OF IT_FIELDS.
CALL FUNCTION 'DDIF_NAMETAB_GET'
EXPORTING
tabname = LV_DBTAB1
* ALL_TYPES = ' '
* LFIELDNAME = ' '
* GROUP_NAMES = ' '
* UCLEN =
* IMPORTING
* X030L_WA =
* DTELINFO_WA =
* TTYPINFO_WA =
* DDOBJTYPE =
* DFIES_WA =
* LINES_DESCR =
TABLES
X031L_TAB = IT_FIELDS
* DFIES_TAB =
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* we do not know the sized of the table that must be generated beforehand
* hence we use field symbols to dynamically generate the internal table
CREATE DATA DREF TYPE STANDARD TABLE OF (LV_DBTAB1)
WITH NON-UNIQUE DEFAULT KEY.
ASSIGN DREF->* TO <ITAB> .
* selects all data
SELECT * FROM (LV_DBTAB1) INTO TABLE <ITAB> .
LOOP AT <ITAB> ASSIGNING <WA>.
FLAG_MODIFIED = ''.
LOOP AT IT_FIELDS INTO WA_FIELDS.
ASSIGN COMPONENT WA_FIELDS-FIELDNAME OF STRUCTURE <WA>
TO <WA1>.
IF WA_FIELDS-FIELDNAME = 'FIRSTNAME'. " fieldname in the table you wish to modify
IF <WA1> = 'Kris'. " old value
<WA1> = 'NewName'. " new value
MODIFY TABLE <ITAB> FROM <WA>.
FLAG_MODIFIED = 'X'.
ENDIF.
ENDIF.
WRITE <WA1>. " comment this line to remove the display
ENDLOOP.
IF FLAG_MODIFIED = 'X'. " updates database only if the record was changed
UPDATE (LV_DBTAB1) FROM <WA>.
* note that if the field you choose is a key field, sy-subrc will be set to 4
ENDIF.
* display
NEW-LINE.
ENDLOOP. -
Function module to fetch data from table SETLEAVES
Hi All,
We have a requirement to fetch the data from table SETLEAVES based on the setclass,subclass and group. As the table holds hierarchical data, Please let me know a FM which fetches all the hierarchical data from the table SETLEAVES.
Regards
ShivaTry:
exporting
e_class = '0102'
e_setid = setid
e_kokrs = my_kokrs
e_mandt = sy-mandt
e_master_data = 'XXX'
e_structure = 'X X0200'
e_replace_class = space
e_replace_unit = space
e_suffix = space
e_old_line_level = 1 "l_ol_level
tables
t_nodes = it_ceg_nodes
t_values = it_ceg_values
changing
c_info = c_info
c_overwrite = c_overwrite
exceptions
no_controlling_area = 1
no_chart_of_account = 2
different_controlling_areas = 3
different_chart_of_accounts = 4
set_not_found = 5
illegal_field_replacement = 6
illegal_table_replacement = 7
fm_raise = 8
convert_error = 9
no_overwrite_standard_hier = 10
no_bukrs_for_kokrs = 11
others = 12.
Rob -
Please let me know how to write the Query to fetch data from tables
Hi Folks,
Please let me know how to get the data from different tables using the functionality SQ03,SQ02 and SQ01 .
Helpful answers will points awarded.
Regards,
Ram.Dear Ram,
Please find the below link which gives in detail with screen shots.
[SAP Query|http://media.techtarget.com/searchSAP/downloads/Teach_yourself_SAP_C20.pdf#search=%22CREATE%20REPORT%20USING%20SQVI%20%2C%20SAP%22]
Thanks
Murtuza -
Send mail by attaching a pdf fetching data from tables.
Dear Team,
I have a requirement to send a mail by attaching a pdf.
Step1 : Getting the data fron tables based on some logic into internal tables. [DONE]
Step2 : Using this internal and making a pdf [At present I am making an excel sheet, But client requires non editable well formatted pdf]
Step3 : Attach this PDF and send it as a mail. [At present I am sending the attched excel but want to send pdf]
Sample code used is
** Body of the mail
WA_TEXT-LINE = 'Note : This is an autogenerated mail. Please do not reply to this mail.'.
APPEND WA_TEXT TO TEXT.
CLEAR WA_TEXT.
* create document from internal table with text
DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
I_TYPE = 'RAW'
I_TEXT = TEXT
I_LENGTH = '12'
I_SUBJECT = I_SUBJECT1 ).
** Excel Attachemnt
*** Preparing the xcel
CONCATENATE 'SNO' 'Request' 'Data1' INTO WA_TEXT-LINE SEPARATED BY CON_TAB.
CONCATENATE CON_CRET WA_TEXT-LINE INTO WA_TEXT-LINE.
APPEND WA_TEXT TO TEXT.
CLEAR WA_TEXT.
CONCATENATE WA_SNO WA_REQUEST WA_DATA1 INTO WA_TEXT-LINE SEPARATED BY CON_TAB.
CONCATENATE CON_CRET WA_TEXT-LINE INTO WA_TEXT.
APPEND WA_TEXT TO TEXT.
CLEAR : WA_TEXT, TEMP_TYPE .
*** Attaching the excel
DATA : COUNTER TYPE I.
DESCRIBE TABLE TEXT LINES COUNTER.
LOOP AT TEXT INTO WA_TEXT.
SIZE = 255 + STRLEN( WA_TEXT-LINE ) + SIZE .
ENDLOOP.
CALL METHOD DOCUMENT->ADD_ATTACHMENT
EXPORTING
I_ATTACHMENT_TYPE = 'XLS'
I_ATTACHMENT_SUBJECT = I_SUBJECT
I_ATTACHMENT_SIZE = SIZE
I_ATT_CONTENT_TEXT = TEXT.
** Semding Mail
CALL METHOD SEND_REQUEST->SET_DOCUMENT( DOCUMENT ).
IF REQUESTER_MAIL IS NOT INITIAL.
* create recipient for cc
RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS(
I_ADDRESS_STRING = REQUESTER_MAIL ).
* add recipient with its respective attributes to send request
CALL METHOD SEND_REQUEST->ADD_RECIPIENT
EXPORTING
I_RECIPIENT = RECIPIENT
I_COPY = 'X'
I_EXPRESS = 'X'.
ENDIF.
SEND_REQUEST->SET_SEND_IMMEDIATELY('X').
* ---------- send document ---------------------------------------
CALL METHOD SEND_REQUEST->SEND(
EXPORTING
I_WITH_ERROR_SCREEN = 'X'
RECEIVING
RESULT = SENT_TO_ALL ).
IF SENT_TO_ALL = 'X'.
WRITE TEXT-003.
ENDIF.
COMMIT WORK.
Please help me in this regard.
Thanks in advance.
SaiHi,
You can convert the data into spool and then pdf,
please go through this link in this data from an internal
table of an script or an smartform is converted into spool
and then sended into mail,
https://wiki.sdn.sap.com/wiki/display/sandbox/ConversionofSpoolRequestDataintoPDFandExcelFormatandSenditintoMail
Hope it helps
Regards
Mansi -
Function module to fetch data from table
Hi All,
I want to get the entries from the table 'arfcsstate' for a particular date. Is there a function module to get the same.
Thanks in advance.
Regards,
AnjuHi,
You can use select query
Select * from arfcsstate into <Internal table name>
where date <give ur condition.>
if date is in selection screen than write
date in s_date.
Thanx
Ankur Sharma -
How to fetch data from ALV to another Selection Screen
hi...
i need to export the two fields that is VBELN and POSNR to some other selection screen of a transaction which is triggered by pressing a button on ALV...
Could u please let me know ki how can i transport these two fields to the screen of that transaction which is 'MASS ORDER CHANGE' transaction...
Regards:
Gaurav Aroratry this program:
IF NOT p_vbeln IS INITIAL.
PERFORM set_data USING 'P_VBELN' p_vbeln '' 'S' 'I' 'EQ'.
ENDIF.
<b> SUBMIT zprogram
USING SELECTION-SET xvar
* xvar is variant name in program zprogram
WITH SELECTION-TABLE seltab
AND RETURN.</b>
FORM set_data USING pr_selname
pr_value_low
pr_value_high
pr_kind
pr_sign
pr_option.
CLEAR seltab_wa.
MOVE: pr_selname TO seltab_wa-selname,
pr_kind TO seltab_wa-kind,
pr_sign TO seltab_wa-sign,
pr_option TO seltab_wa-option.
IF NOT pr_value_low IS INITIAL.
MOVE pr_value_low TO seltab_wa-low.
ENDIF.
IF NOT pr_value_high IS INITIAL.
MOVE pr_value_high TO seltab_wa-high.
ENDIF.
APPEND seltab_wa TO seltab.
ENDFORM. "set_data -
SQL Select Performance - Approached to fetch data from big table
Hi
I just wanted to know view on different approached to fetch data from a table which has 40 billion records and which joined to another table which has 1 million record.
e.g.
I have two tables TableA and TableB
TableA has 40 Billion records has 6 columns
TableA has partitions on Date
TableA has required indexes
TableB has 1 Milluion record and has 10 columns
Table A has indexes
Now I have written query like
select distinct TableA.column1,TableA.column2,TableB.columnA
FROM TableA join TableB
ON TableA.Column1=TableB.Column2
WHERE TableA.DateColumn between StartDate and EndDate
for a given date range it will fetch 5 billion of records which takes around 40 minutes.
I just wanted to know what all tuning approaches I can follow. What would be the best approach to make record retrieval faster in such a scenario.
Just wanted to know your vies/experience in such a scenarioSufficiently large array fetchsize
and,
possibly using parallel query,
pop into my mind.
I would be interested though in the business requirement that asks for you to write a program that gets 5 billion (!) rows out of the database... -
Select query taking too much time to fetch data from pool table a005
Dear all,
I am using 2 pool table a005 and a006 in my program. I am using select query to fetch data from these table. i.e. example is mentioned below.
select * from a005 into table t_a005 for all entries in it_itab
where vkorg in s_vkorg
and matnr in s_matnr
and aplp in s_aplp
and kmunh = it_itab-kmunh.
here i can't create index also as tables are pool table...If there is any solutions , than please help me for same..
Thanks ,it would be helpful to know what other fields are in the internal table you are using for the FOR ALL ENTRIES.
In general, you should code the order of your fields in the select in the same order as they appear in the database. If you do not have the top key field, then the entire database is read. If it's large then it's going to take a lot of time. The more key fields from the beginning of the structure that you can supply at faster the retrieval.
Regards,
Brent -
SELECT is taking lot of time to fetch data from cluster table BSET
<Modified the subject line>
Hi experts,
I want to fetch data of some fields from bset table but it is taking a lot of time as the table is cluster table.
Can you please suggest me any other process to fetch data from cluster table. I am using native sql to fetch data.
Regards,
SURYA
Edited by: Suhas Saha on Jun 29, 2011 1:51 PMHi Subhas,
As per your suggestion I am now using normal SQL statement to select data from BSET but it is still taking much time.
My SQL statement is :
SELECT BELNR
GJAHR
BUZEI
MWSKZ
HWBAS
KSCHL
KNUMH FROM BSET INTO CORRESPONDING FIELDS OF TABLE IT_BSET
FOR ALL ENTRIES IN IT_BKPF
WHERE BELNR = IT_BKPF-BELNR
AND BUKRS = IT_BKPF-BUKRS.
<Added code tags>
Can you suggest me anymore?
Regards,
SURYA
Edited by: Suhas Saha on Jun 29, 2011 4:16 PM
Maybe you are looking for
-
How to delete old emails in app store?
how to delete old emails in app store?
-
How to get count of transaction entries in SM58 including all the status
Hi, How can we get the count of total number of transactions present in SM58. Please help. Regards, Subbu
-
Acrobat Go to Previous Document bookmark
I use Acrobat 8.0 to hyperlink source to target documents. In the target document, I create a bookmark with the action View>Go To> Previous Document. If I click on the hyperlink in the source document, and then click on this bookmark in the target do
-
Could a SAXParser access child nodes, How?
Hi All! i am desiging a saxparser for my xml db. Right now my parser accesses/searches for text/attributes etc. for the very next nodes of the root node. But not the next child nodes. i need to search for a node (whether root, parent or child) for it
-
Af: richTextEditor is hyper link addition
can we create hyper links in af:richTextEditor without appending the http://www protol to link ?, since i have created link with www.google.com it is not working but when i create hyper link with http://www.google.com its working is this expected beh