StarOffice 8 calc - select/delete range problem
I use calc for long time till now works fine.
Lately I encountered a problem when I want to select a range that I defined before, I'm using Data->Select Range.
but no range name appears at the list for selection.
I defined few ranges, but none appears.
The defined ranges show when I use Data->Consolidate but then it is not what I need to do.
The problem repeats when I want to delete a range (I couldn't find a way to edit it) using Data->Define range.
Is there a fix for that problem?
I'm using version 8 (update 9) on a windows Xp Home
Thanks for your kind help,
You can specify dynamic WHERE clause in the DELETE statement. Check this SAP online documentation for the same: [http://help.sap.com/abapdocu_70/en/ABAPDELETE_ITAB_LINES.htm#!ABAP_ADDITION_4@4@].
Try this:
DATA: V_COND TYPE STRING.
V_COND = 'FIELD NOT IN LR_RANGE'.
DELETE <FS_C> WHERE ( V_COND ).
Similar Messages
-
Select a range of files to delete
How can I select a range of files to delete? I have ten files I want to delete. Do I have to select each one individually?
If it is in Finder and they are listed one after the other in a continuous fashion, select the first file, hold the shift key and select the last file. Then delete.
If on the Desktop you can choose them by using your mouse pointer to draw a square around them, that will selct all. -
Problem: "Select a Range" doesn't work (Cannot mark data from MS Excel)
Hi,
I need Your help. I have some problem with connection with MS Excel.
I can't use MS Excel range as data source.
Please find short overview of this situation (video clip):
[http://www.explorer-consulting.pl/XC-prob.swf|http://www.explorer-consulting.pl/XC-prob.swf]
(Windows 7 + Office 2007).
Maybe there is something to do w/ Windows 7 admin options, but I have no idea what kind of them.
Please share Your ideas.
WojtekHi Liliana,
about video (it's flash swf file) so maybe You have to give permission to watch this (in Your browser).
but here You are screenshot too:
[http://www.explorer-consulting.pl/xc.jpg|http://www.explorer-consulting.pl/xc.jpg]
XC 2008 servicepack3 with fixpacks 3.1, 3.2, 3.3 and 3.4
I try to select cells in Excel area, but "Select a Range" window is blank all the time.
Edited by: WojciechKorsak on Jan 31, 2011 7:38 PM -
I still have a problem clearing history and i did select time range to Everything
I still have a problem clearing history and i did select time range to "Everything". I tested using Internet explorer and I could clear the history there so its not a problem with the Xp secondary account. I even disabled the add ons in firefox and still get the same issue
sorry, scratch this, the first post did enable me to find a solution, it was the signon.sqlite file that had become corrupted.
As an interesting aside, this has also fixed the problem with using Xmarksspace which was giving me an "error 3" synchronising problem.
Apologies for the tone of my previous posting, you did provide the information that enabled me to find a solution, thank you and sorry.
Regards
Crashhot -
Contact List Problem. I have duplicates on my iPhone. I turned off my Contact and selected "Delete Contacts" Most of the contacts were deleted but about 120 were left on my phone. I've tried selecting individual contacts and deleting them, No Go.
Can anyone help? How do I get rid of these contacts so I can re-synch my iPhone.I have exactly the same problem on my ipad. It is happening on only some contacts but, as with you, when I delete one of the contacts on the ipad, the second ipad contact and the contact on the imac are also deleted. This is even the case when I have differentiated the two contacts on the ipad and can see the one I have deleted on the ipad is not the same one as is then deleted on the imac.
-
Error in Selective deletion of cube
HI
I want to delete all the records in a cube based on the values in a field say VGUID.
i have generated the selective deletion pgm from 'RSDRD_DELETE_FACTS' and i am submitting all the values in the field VGUID to this in a report program.
SUBMIT gp46pdkfwf255w7uqo4y2i8sx2h WITH c007 IN ra_vguid.
ra_vguid contains all values that need to be deleted from the cube.
this works fine for a small number of VGUIDs but fails for large sets(3,000 records) giving system error.
System error: CREATE_TABLE_AS_SELECT/RSDU_EXEC_SQL /BI0/0100000074 0
Message no. DBMAN100
Diagnosis
A system error with the following parameters has occurred in the data manager:
Parameter 1 = &v1&
Parameter 2 = &v2&
Parameter 3 = &v3&
Parameter 4 = &v4&
How can I delete all my candidate records from the cube?
Thanks in Advance
BiyazHi Srinivas
i tried to split the VGUID list ( 100 records ). first 100 records are deleted but the rest records are not deleted . is there a problem with my code?
REFRESH ra_vguid.
CLEAR wa_vguid.
CLEAR wf_count .
LOOP AT tb_vguid INTO wa_vguid.
wf_count = wf_count + 1.
ra_vguid-low = wa_vguid-/bic/yc1vguid.
ra_vguid-sign = 'I'.
ra_vguid-option = 'EQ'.
APPEND ra_vguid.
CLEAR wa_vguid.
IF wf_count = 100 OR
sy-tabix = wf_max.
Now call the Deletion program and pass the ranges as parameters.
SUBMIT gp46pdkfwf255w7uqo4y2i8sx2h WITH c007 IN ra_vguid.
REFRESH ra_vguid[].
CLEAR wf_count.
ENDIF.
ENDLOOP. -
Select- Color Range- Results in Blue Screen (PC) (driver out of date)
I've been using the CS6 beta about two days. While experimenting with color range I experienced two consecutive blue screen crashes. The first time it happened,I was working with the color range selector and was replacing the selected areas with another color using the paint bucket. About the third time I attempted this, my PC blue screened. The second time, I opened a photo, went to Select>Color Range and got an immediate blue screen crash.
I then went back to CS5 and I've been playing with the same scenario with no apparent problems.
My PC is a store built computer. It consists of an MSI 990-FXA GD80 motherboard, an AMD Phenom 1100t CPU, Asus GTX550 Ti graphics card and 8 gig of RAM. It boots from a 60 gig SSD and my programs reside on a 500 gig hard drive. The OS is Windows 7 Professional 64 bit. CS6 is using the hard drive for its scratch disk and Photoshop is using 4339 mb of the 7232 mb of available RAM - I haven't changed that. I'm running CS6 as administrator because the way it installed, it would only run in that fashion.
One disappointment during the installation was CS6 made no attempt to read my preferences from the CS5 install. That may be covered in another post, I've not yet looked.
Please keep us informed as new betas are released, because I would like some time to work with this puppy before plunking down big bux for the upgrade. As it is now, I'm going back to CS5. I get mighty nervous when my super computer blue screens!
Gerry
gswetsky AT bellsouth DOT netThe GPU is often at root of issues like yours. I've had so many problems with Nvidia drivers for their gaming-oriented adapters (like yours) that I finally went with one of their workstation cards. I have a Quadro card with just enough RAM to make Photoshop happy. The workstation drivers are optimized for reliability, the consumer card drivers are optimized for gaming and that often means they're less stable and reliable with Photoshop.
-
Devloped an ALV report for daily cash receipts for selected date range
hi,
how to devlop an ALV report for daily cash receipts for selected date range.for this report what are the tables and fields we have to use.what is the selectionscreen&what is logic.give me sample report.Hi,
You can develop simple reports using Report Painter.
You may be also interested in:
Check report SAPMF05A for credit memo
See the following Std reports on Payment Advices execute the Tcodes:
S_ALR_87009888
S_ALR_87009889
S_ALR_87009890
S_ALR_87009891
S_ALR_87009892
S_ALR_87009893
S_ALR_87009978
S_ALR_87009979
S_ALR_87009980
S_ALR_87009981
S_ALR_87009982
S_ALR_87009983
S_ALR_87010056
S_ALR_87010057
S_ALR_87010058
S_ALR_87010059
S_ALR_87010060
S_ALR_87010061
S_ALR_87010066
S_ALR_87010067
S_ALR_87012106
S_ALR_87012107
S_ALR_87012108
S_ALR_87012109
S_ALR_87012110
S_ALR_87012111
S_ALR_87012116
S_ALR_87012117
S_ALR_87012200
S_ALR_87012201
S_ALR_87012202
S_ALR_870122
S_ALR_87012204
S_ALR_87012205
S_ALR_87012350
S_ALR_87012351
S_ALR_87012352
S_ALR_87012353
S_ALR_87012354
S_ALR_87012355
sample ALV report:
tables:
marav. "Table MARA and table MAKT
Data to be displayed in ALV
Using the following syntax, REUSE_ALV_FIELDCATALOG_MERGE can auto-
matically determine the fieldstructure from this source program
Data:
begin of imat occurs 100,
matnr like marav-matnr, "Material number
maktx like marav-maktx, "Material short text
matkl like marav-matkl, "Material group (so you can test to make
" intermediate sums)
ntgew like marav-ntgew, "Net weight, numeric field (so you can test to
"make sums)
gewei like marav-gewei, "weight unit (just to be complete)
end of imat.
Other data needed
field to store report name
data i_repid like sy-repid.
field to check table length
data i_lines like sy-tabix.
Data for ALV display
TYPE-POOLS: SLIS.
data int_fcat type SLIS_T_FIELDCAT_ALV.
select-options:
s_matnr for marav-matnr matchcode object MAT1.
start-of-selection.
read data into table imat
select * from marav
into corresponding fields of table imat
where
matnr in s_matnr.
end-of-selection.
Now, we start with ALV
To use ALV, we need a DDIC-structure or a thing called Fieldcatalogue.
The fieldcatalouge can be generated by FUNCTION
'REUSE_ALV_FIELDCATALOG_MERGE' from an internal table from any
report source, including this report.
The only problem one might have is that the report and table names
need to be in capital letters. (I had it )
Store report name
i_repid = sy-repid.
Create Fieldcatalogue from internal table
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = sy-repid
I_INTERNAL_TABNAME = 'IMAT' "capital letters!
I_INCLNAME = sy-repid
CHANGING
CT_FIELDCAT = int_fcat
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = i_repid
I_STRUCTURE_NAME = 'marav'
I_DEFAULT = 'X'
I_SAVE = 'A'
TABLES
T_OUTTAB = imat.
IF SY-SUBRC <> 0.
WRITE: 'SY-SUBRC: ', SY-SUBRC .
ENDIF.
Hope this will help.
Regards,
Naveen. -
Selective deletion based on Calendar Year/Month in process chains
Hi all,
I have a requirement from the business wherein I have to delete the past months data before I load the same data into 6 infocubes using a process chain.
I checked the forums to understand how selective deletion is used in a process chain and I have come to know that RSDRD_DELETE_FACTS program or DELETE_FACTS Tcode can be used to generata a G* program that performs the deletion.
I am to integrate this generated program in my process chain. I have 0CALMONTH(Calendar Year/Month) as the time characteristic in all my infocubes and therefore the only time characteristic available for selective deletion.
My problem is that I am unable to create a dynamic selection for the Calendar Year/Month such that it takes the previous month.To be exact I am unable to use the "D" option in the Selection Variable column for this characteristic.
Please can somebody help me out with this.Hi,
Use this ABAP program code in your Process Chain...
Type Pools
TYPE-POOLS: rsdrd, rsdq, rssg.
Local Internal Tables
DATA: lit_msg TYPE rs_t_msg,
lit_sel TYPE rsdrd_thx_sel.
Local Work Area
DATA : lwa_sel_kf1 TYPE rsdrd_sx_sel,
lwa_range_kf1 TYPE rsdrd_s_range.
Local Constants
CONSTANTS : lc_i(1) TYPE c VALUE 'I',
lc_x(1) TYPE c VALUE 'X',
lc_eq(2) TYPE c VALUE 'EQ',
lc_kf1(11) TYPE c VALUE '0CALMONTH'.
CONSTANTS : lc_cube TYPE rsddatatarget VALUE 'Z_C21'.
Delete Existing cube records
Key Field 1 (CALMONTH)
lwa_range_kf1-sign = lc_i.
lwa_range_kf1-option = lc_eq.
lwa_range_kf1-high = space.
lwa_range_kf1-keyfl = lc_x.
lwa_range_kf1-low = <Value of CALMONTH>.
APPEND lwa_range_kf1 TO lwa_sel_kf1-t_range.
CLEAR lwa_range_kf1.
lwa_sel_kf1-iobjnm = lc_kf1.
INSERT lwa_sel_kf1 INTO TABLE lit_sel.
CLEAR : lwa_sel_kf1.
Selective Deletion through FM
CALL FUNCTION 'RSDRD_SEL_DELETION'
EXPORTING
i_datatarget = lc_cube
i_thx_sel = lit_sel
i_authority_check = space
i_mode = lc_c
i_no_enqueue = lc_x
CHANGING
c_t_msg = lit_msg
EXCEPTIONS
x_message = 1
inherited_error = 2
invalid_type = 3
OTHERS = 4.
IF sy-subrc = 0.
REFRESH : lit_sel[],
lit_msg[].
ENDIF.
Thanks,
Saru -
How do I select a range of rows from an internal table in the debugger?
Hi,
I have a case where I wanted to delete a range of rows (several thousand) from an internal table using the debugger.
It seems that rows can only be selected one at a time by selecting (clicking) on the far left side of the row.
This is cumbersome, if not impossible when wishing to delete several thousand rows.
Other tools, such as Excel for example, allow for selecting a range of rows by selecting the first row and then holding the SHIFT key and selecting the last row and all rows in between will be selected.
I can't seem to find the combination of keys that will allow this in the table (or structure) tab of the debugger.
Is it possible to select a range of rows without having to select each row one at a time?
Thanks for your help,
AndyWhile it's a Table Control and should/could have a button to select all fields (or visible fields)...I don't think we can do it right now...I know it's a pain to select each row one at a time...but I don't we have any more options...
Greetings,
Blag. -
Billing Number Range problem ( accounting document not generated)
Hi All,
I have created some billing types and for them I have assigned some internal number ranges. Now when I create a billing document it is getting saved with the proper number range but no accounting document is getting generated.
Also when I try to release the invoice I am getting an error which says " *Incorrect doc.no.: 10000009. Select document number between 0090000000 and 0099999999* "
K I N D L Y suggest as U R G E N T.
Regards,
Danny.Dear,
Billing Number Range problem ( accounting document not generated) is not an error because when you create billing document then accounting document not generated. Accounting done after posting of that billing document with VFX3 or VF02 T.Code by account department.
And for second issue you had define number range between 0090000000 and 0099999999 for invoice so thats why it happen.
Regards,
Sandip Shaktavat -
hi all,
we a have a data target which was compressed and rolled up...
please do suggest us how to go for selective deletion if the data target was rolled up???
on what basis we need to do the selective deletion ??
thanks for ur understanding...
suggestions would be highly rewarded
regards
PrinceHi,
in the subsequent datatargets of your ODS:
if the requests are only rolled up, then you can delete those requests; now if your aggregates are collapsed then you'll have to dactivate them and reactivate them after. If not you can simply delete them.
then delete all the requests from your ODS up to the request right after the missing one. This will deactivate you ODS delta init. This is not a problem since when you'll have finished with the above your ODS and subsequent targets will have a consistent status in terms of data.
Reinit your ODS delta without datatransfer, reconstruct your missing request and the subsequent requests in your ODS.
Reactivate them (not all together as a single activation, but separately).
Then load the delta into your subsequent targets.
Now if the subsequent datatargets are collapsed then you'll have to either reinit with full load or selective delete them. the missing request in your ODS still must be reloaded before!
If you go for selective deletion you'll have to find the right selection criteria based on the data of your ODS. For instance if you can ensure that only a selected period is incorrect (all the ODS requests from the missing one to the last only contain data for JAN08) then you can selectively delete JAN08 from your subseq targets and perform a FULL load selecting JAN08 from your ODS.
Then perform an INIT without data transfer... you can then continue your deltas as usual....
hope this helps....
Olivier. -
No Selective Deletion on Inventory Cube 0IC_C03 via Calendar Day
Hi,
I need to repair my Inventory Cube <b>0IC_C03</b> for a certain date. To do that, I need to perform a <i><b>Selective Deletion</b></i> on the Cube and perform a <b>FULL REPAIR REQUEST</b> limited on that day only.
But to my surprise, I could not find a Calendar Day entry in the "<i>DeletionSelection</i>".
Is there a workaround or do I need to switch on anything?
--JkyleHi Roberto,
You are too humble! Everybody knows you are the <b>ONE</b>
(he heh from the <b>MATRIX</b> movie)
Anyway, I dont think Export Datasource would help. As you may know, Inventory Cube <b>0IC_C03</b> uses 2LIS_03_BX and 2LIS_03_BF data sources. This <b>CUBE</b> is somehow special.
To cut this problem short, I'll go straight to the point. <i>How could I perform INIT via 2LIS_03_BX and 2LIS_03_BF w/o R/3 downtime at all</i>? The reason I came to this <i>Selective Deletion</i> thing is to patch up the mess the INIT would introduce when there are users around by using a REPAIR FULL REQUEST only for that single day...
I hope you get what I mean...
Thanks!
--Jkyle -
Selective deletion job taking very long time
Hi All,
I am performing the selective deletion on cube for the year 2011 and the deletion job is running for a long time (14 hrs). Generally this job takes few mins to execute.
Could you please provide your inputs?
Regards,
Venkat
Job log overview for job: BI_INDX4OSEBBLUUTR6KUTWHGHZLY5ID / 13193500
ime Message text Message class Message no.
3:19:35 Job started 00 516
3:19:36 Step 001 started (program RSINDEX1, variant &0000000000718, user ID ECW7752) 00 550
3:32:48 SQL: 26.02.2012 13:32:48 ECW7752 DBMAN 099
3:32:48 DELETE FROM DDSTORAGE WHERE DBSYSABBR = 'ORA' DBMAN 099
3:32:48 AND INDEXNAME = ' ' AND TABNAME = '/BIC/FZCOG_C06 DBMAN 099
3:32:49 SQL-END: 26.02.2012 13:32:49 00:00:01 DBMAN 099
3:32:53 SQL: 26.02.2012 13:32:53 ECW7752 DBMAN 099
3:32:53 DELETE FROM DDSTORAGE WHERE DBSYSABBR = 'ORA' DBMAN 099
3:32:53 AND INDEXNAME = ' ' AND TABNAME = '/BIC/FZCOG_C06 DBMAN 099
3:32:54 SQL-END: 26.02.2012 13:32:54 00:00:01 DBMAN 099
3:32:54 SQL: 26.02.2012 13:32:54 ECW7752 DBMAN 099
3:32:54 CREATE TABLE "ZBICZFZCOG_C06" PCTFREE 10 PCTUSED DBMAN 099
3:32:54 00 INITRANS 001 TABLESPACE PSAPPBP NOCOMPRESS DBMAN 099
3:32:54 STORAGE (INITIAL 0000000016 K NEXT DBMAN 099
3:32:54 0000001024 K MINEXTENTS 0000000001 MAXEXTENTS DBMAN 099
3:32:54 2147483645 PCTINCREASE 0000 FREELISTS 001 DBMAN 099
3:32:54 FREELIST GROUPS 01) PARTITION BY RANGE DBMAN 099
3:32:54 ("KEY_ZCOG_C06P") ( PARTITION "/BIC/FZCOG_C060" DBMAN 099
3:32:54 VALUES LESS THAN (0) , PARTITION DBMAN 099
3:32:54 "/BIC/FZCOG_C060000001798" VALUES LESS THAN DBMAN 099
3:32:54 (0000001798) , PARTITION DBMAN 099
3:32:54 "/BIC/FZCOG_C060000001799" VALUES LESS THAN DBMAN 099
3:32:54 (0000001799) , PARTITION DBMAN 099
3:32:54 "/BIC/FZCOG_C060000001801" VALUES LESS THAN DBMAN 099
3:32:54 (0000001801) , PARTITION DBMAN 099
3:32:54 "/BIC/FZCOG_C060000001802" VALUES LESS THAN DBMAN 099
3:32:54 (0000001802) , PARTITION DBMAN 099
3:32:54 "/BIC/FZCOG_C060000001806" VALUES LESS THAN DBMAN 099check notes
Note 991372 - Selective deletion from InfoCubes takes a long time
Note 481238 - Selective deletion ends with dump and ORA-00918 -
How does the CBO calculate the selectivity for range predicates on ROWID ?
Hi all,
I'm wondering how the CBO estimate the selectivity for range predicates based on ROWID columns.
For example, for the following query the CBO estimates there's going to be 35004 rows returned instead of 7:
SQL> SELECT count(*)
FROM intsfi i
WHERE
ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH'; 2 3 4
COUNT(*)
7
Elapsed: 00:00:02.31
SQL> select * from table(dbms_xplan.display_cursor(null,null,'iostats last'));
PLAN_TABLE_OUTPUT
SQL_ID aqbdu2p2t6w0z, child number 1
SELECT count(*) FROM intsfi i WHERE ROWID>='AAADxyAAWAAHDLIAAB' AND
ROWID<='AAADxyAAWAAHDLIAAH'
Plan hash value: 1610739540
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:02.31 | 68351 |
| 1 | SORT AGGREGATE | | 1 | 1 | 1 |00:00:02.31 | 68351 |
|* 2 | INDEX FAST FULL SCAN| INTSFI2 | 1 | 35004 | 7 |00:00:02.31 | 68351 |
Predicate Information (identified by operation id):
2 - filter((ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH'))According to Jonathan Lewis' book, for a normal column the selectivity would have been:
(value_column1-value_column2)/(high_value-low_value)+1/num_distinct+1/num_distinct
But here with the ROWID column, how does the CBO make its computation ?
SINGLE TABLE ACCESS PATH
Single Table Cardinality Estimation for INTSFI[I]
Table: INTSFI Alias: I
Card: Original: 14001681.000000 Rounded: 35004 Computed: 35004.20 Non Adjusted: 35004.20Hi Jonathan,
Some Clarifications
=============
DELETE /*+ ROWID(I) */ FROM INTSFI I WHERE
(I.DAVAL<=TO_DATE('12032008','DDMMYYYY') AND (EXISTS(SELECT 1 FROM
INTSFI S WHERE S.COINT=I.COINT AND S.NUCPT=I.NUCPT AND S.CTSIT=I.CTSIT
AND NVL(S.RGCID,-1)=NVL(I.RGCID,-1) AND S.CODEV=I.CODEV AND
S.COMAR=I.COMAR AND S.DAVAL>I.DAVAL) AND I.COMAR IN (SELECT P.COMAR
FROM PURMAR P WHERE P.NUPUR=1))) AND ROWID>='AAADxyAAWAAHDLIAAB' AND
ROWID<='AAADxyAAWAAHDLIAAH'
Plan hash value: 1677274993
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | OMem | 1Mem | Used-Mem |
| 0 | DELETE STATEMENT | | 1 | | 0 |00:00:05.94 | 53247 | | | |
| 1 | DELETE | INTSFI | 1 | | 0 |00:00:05.94 | 53247 | | | |
|* 2 | HASH JOIN SEMI | | 1 | 9226 | 7 |00:00:05.94 | 53180 | 783K| 783K| 471K (0)|
| 3 | NESTED LOOPS | | 1 | 9226 | 7 |00:00:00.01 | 10 | | | |
|* 4 | TABLE ACCESS BY ROWID RANGE| INTSFI | 1 | 9226 | 7 |00:00:00.01 | 6 | | | |
|* 5 | INDEX UNIQUE SCAN | PURMAR1 | 7 | 1 | 7 |00:00:00.01 | 4 | | | |
| 6 | INDEX FAST FULL SCAN | INTSFI1 | 1 | 14M| 7543K|00:00:01.73 | 53170 | | | |
Predicate Information (identified by operation id):
2 - access("S"."COINT"="I"."COINT" AND "S"."NUCPT"="I"."NUCPT" AND "S"."CTSIT"="I"."CTSIT" AND
NVL("S"."RGCID",(-1))=NVL("I"."RGCID",(-1)) AND "S"."CODEV"="I"."CODEV" AND "S"."COMAR"="I"."COMAR")
filter("S"."DAVAL">"I"."DAVAL")
4 - access(ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH')
filter("I"."DAVAL"<=TO_DATE(' 2008-03-12 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
5 - access("P"."NUPUR"=1 AND "I"."COMAR"="P"."COMAR")
When I force the NESTED LOOP SEMI JOIN the query runs faster:
DELETE /*+ ROWID(I) */ FROM INTSFI I WHERE
(I.DAVAL<=TO_DATE('12032008','DDMMYYYY') AND (EXISTS(SELECT /*+ NL_SJ
*/ 1 FROM INTSFI S WHERE S.COINT=I.COINT AND S.NUCPT=I.NUCPT AND
S.CTSIT=I.CTSIT AND NVL(S.RGCID,-1)=NVL(I.RGCID,-1) AND S.CODEV=I.CODEV
AND S.COMAR=I.COMAR AND S.DAVAL>I.DAVAL) AND I.COMAR IN (SELECT P.COMAR
FROM PURMAR P WHERE P.NUPUR=1))) AND ROWID>='AAADxyAAWAAHDLIAAB' AND
ROWID<='AAADxyAAWAAHDLIAAH'
Plan hash value: 2031485112
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
| 0 | DELETE STATEMENT | | 1 | | 0 |00:00:00.01 | 94 |
| 1 | DELETE | INTSFI | 1 | | 0 |00:00:00.01 | 94 |
| 2 | NESTED LOOPS SEMI | | 1 | 9226 | 7 |00:00:00.01 | 27 |
| 3 | NESTED LOOPS | | 1 | 9226 | 7 |00:00:00.01 | 9 |
|* 4 | TABLE ACCESS BY ROWID RANGE| INTSFI | 1 | 9226 | 7 |00:00:00.01 | 5 |
|* 5 | INDEX UNIQUE SCAN | PURMAR1 | 7 | 1 | 7 |00:00:00.01 | 4 |
|* 6 | INDEX RANGE SCAN | INTSFI1 | 7 | 14M| 7 |00:00:00.01 | 18 |
Predicate Information (identified by operation id):
4 - access(ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH')
filter("I"."DAVAL"<=TO_DATE(' 2008-03-12 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
5 - access("P"."NUPUR"=1 AND "I"."COMAR"="P"."COMAR")
6 - access("S"."COINT"="I"."COINT" AND "S"."NUCPT"="I"."NUCPT" AND
"S"."CTSIT"="I"."CTSIT" AND "S"."CODEV"="I"."CODEV" AND "S"."COMAR"="I"."COMAR" AND
"S"."DAVAL">"I"."DAVAL")
filter(NVL("S"."RGCID",(-1))=NVL("I"."RGCID",(-1)))the above post is from Ahmed AANGOUR
Case 1 - . If you check Plan hash value: 16772749938
=====
TABLE ACCESS BY ROWID RANGE| INTSFI For every row access from INTSFI - it fetches a record from INDEX UNIQUE SCAN | PURMAR1
If we check A-rows = 9226
9226 * 7 = 64582 request across the table - perhaps with hint of rowid it fetches exact rows from PURMAR1
in this case i think going for hash join with ordered hints (jonathan as you suggest go for leading hint's instead of ordered) - from INTSFI - PURMAR1 - instead of going for IN clause would get the rows that satifies the ("P"."NUPUR"=1 AND "I"."COMAR"="P"."COMAR")
|* 2 | HASH JOIN SEMI | | 1 | 9226 | 7 |00:00:05.94 | 53180 | 783K| 783K| 471K (0)|
| 3 | NESTED LOOPS | | 1 | 9226 | 7 |00:00:00.01 | 10 | | | |
|* 4 | TABLE ACCESS BY ROWID RANGE| INTSFI | 1 | 9226 | 7 |00:00:00.01 | 6 | | | |
|* 5 | INDEX UNIQUE SCAN | PURMAR1 | 7 | 1 | 7 |00:00:00.01 | 4 | | | |My understanding with above plan would change to
HASH JOIN
TABLE ACCESS BY ROWID RANGE| INTSFI
INDEX UNIQUE SCAN | PURMAR1
HASH JOIN
INDEX FAST FULL SCAN | INTSFI1
Which migt be feasible.
2 .
DELETE /*+ ROWID(I) */ FROM INTSFI I WHERE
(I.DAVAL<=TO_DATE('12032008','DDMMYYYY') AND (EXISTS(SELECT /*+ NL_SJ
*/ 1 FROM INTSFI S WHERE S.COINT=I.COINT AND S.NUCPT=I.NUCPT AND
S.CTSIT=I.CTSIT AND NVL(S.RGCID,-1)=NVL(I.RGCID,-1) AND S.CODEV=I.CODEV
AND S.COMAR=I.COMAR AND S.DAVAL>I.DAVAL) AND I.COMAR IN (SELECT P.COMAR
FROM PURMAR P WHERE P.NUPUR=1))) AND ROWID>='AAADxyAAWAAHDLIAAB' AND
ROWID<='AAADxyAAWAAHDLIAAH'Ahmed AANGOUR, modified the query by /*+ NL_SJ */ hint, Instead of that in to remove the most of the rows as we join the tables using subquery, I still doubt it
to go push_predicate hints - still doubt it.
Jonathan your comments are most valuable in the above two cases..
Looking forward to calrify my understanding with concepts of indexes for above test cases
- Pavan Kumar N
Maybe you are looking for
-
BPM - IDoc to SOAP problem (Unable to convert sender service)
Hi, I have a BPM scenario where I'm sending an Idoc from r/3 to XI to SOAP. As part of my scenario I'm sending an acknowledgment (ALEAUD) back to R/3. I'm getting Unable to convert sender service IP_BPEL_INBOUND_ORDER to an ALE logical system on th
-
Bridge CS6 seach function is not working.
Hey We have 2 mac osX lion machines with Adobe CS6 Design Standard installed. Each machine is connected to the same windows server. Before we installed CS6 we were running CS5 and in CS5 the search function worked perfectly. Can anyone helped me with
-
I purchased an IPAD with retina display here in UAE, not knowing that it is not facetime enabled...is it possible to activate facetime once i send it to our home country so my daughter can use it?
-
GL Line Items with Material characteristics
Hello Sap Gurus, Is there a datasource for FI that will extract the GL Line Items with Material characteristics? We have activated the 0FI_GL_4 and 0FI_GL_6 datasource but there is no Material characteristics field. We are using BW 3.5 and R3 4.6. Th
-
I go through the process of burning a DVD from a Premier Pro Project and at the end of the process I get an encoding error and the dvd does not start burning. How do I fix this?