Loop or cycle in spaces
In linux, you can loop/cycle through your spaces, so if you're, for instance, on desktop 4/4, you can move to the desktop 1/4 if you continue cycling, rather than moving back 2 spaces. Is there any way to do this in Lion?
Fair enough. Might as well tell Apple:
http://www.apple.com/feedback/macosx.html
Similar Messages
-
Cycle between spaces in Mavericks automatically
Hi,
I run an app product team and receive lots of data, information, run builds and have various feeds from Twitter and Facebook.
I am trying to rig up a mac mini with an external display so that I can show all this information on a 5 min loop. Those items that are web based are straight forward as there is a great plug-in for Chrome called Tab Carousel. However some of the information I have is in other apps, including Adobe, excel etc.
The solution I can think of would be to put each data source or app in a different Mavericks space and cycle between them. Does anyone know of a way/app that can do this?
Thanks,
PhilIt worked for me with SQL*Plus 9.2 on Windows 2000 command
prompt :-) I am only guessing from your use of "program files" you are using a variant of Windows.
I can see in Oracle's bug database there have been a lot of
little quirks with parameter quote handling in various versions
on various platforms. This appears to be due to differences
on various operating systems in the way that quotes are
natively handled.
Perhaps checking Oracle's bug database might reveal a work
around. If there is nothing similar logged it would be good
to log a bug so it can be addressed.
-- CJ -
Help on how to make an infinite loop with the same space on all images
HI:
I made a movie clip with infinite loop in which there are images that move from right to left something simple like a marquee, and each image has a blank space between them, but between last and first image there is a more space, how I can do to make all images have an equal space between each one and that the motion never stops.Thanks for your time and answers my friend, but I'm still not be able to achieve what I want, I forgot to tell that I'm doing this by layers, let's say, I have 5 images, (in fact I have like 50 images converted to movie clip symbols) each image has it's own layer, layer 1, layer 2, layer 3, layer 4, layer 5, then I put a 200 frame motion tween on all layers at 30 fps, then I arranged layer 1 on the first frame to the frame 200, the second layer from frame 50 to frame 250, third layer from frame 100 to frame 300, fourth layer from frame 150 to frame 350, and fifth layer from frame 200 to frame 400, by this I mean I put a 50 frame of space on each image but if you can see, the last image has a duration from frame 200 to frame 400, and there's nothing on frame 250 where it is supposed to be another image to match the same blank space of all the others, the movie clip restarts on the frame 400, and there's a 150 frames of blank space between the last image and the first image, I put the gotoandplay on the frame 250, but it abruptly restarts the movie.
Is there another way to do this ?
Am I doing something wrong ?
Please I really really need help on this.
Thanks -
Writing LabVIEW measurements of two loops (Charge cycle and discharge cycle) in one file
Hey,
I was wondering if it is possible to write Labview measurements from two loops (Stacked Sequence Structure) into one file. Currently, it is writing the charging data in one file and discharging data in one file. I have to combine the data everytime to graph the charge and discharge cycles and sometimes there's about 50 cycles and copying and pasting does take up lot of time.
I'll try to upload my vi in a bit
Solved!
Go to Solution.Hey Mike,
I'm very new to Labview, could you please show an example.
btw, I attached my vi and I didn't build it
Message Edited by Support on 07-15-2009 11:27 AM -
Looping issue and extra space after inserting in DW page
I found an answer to looping an Edge composition, works like a charm in publish preview, still won't loop live on the web. Also when I insert it, it leaves a gap at bottom even though the div is 250 px high and the composition is 250px high... see www.arkaytd.com/dev2, note the gap between the edge composition and the navigation bar. Did not see anything in the code that would cause it...
Should I insert it here in the page source code?:
<object id="EdgeID" type="text/html" width="980" height="250" data-dw-widget="Edge" data="edgeanimate_assets/ArkayIntro/Assets/ArkayIntro.html"> </object>
Or in the .css file for the page?
.AnimationPanel {
clear: both;
min-height: 250px;
width: auto;
display: block;
Here: is the URL for the animation:
http://www.arkaytd.com/dev2/ -
Garage Band is recognizing ".aif" format loops but not ".aiff" format loops
All of the ".aif"-formatted loops (from Jam Packs, etc.) are showing up fine in the Loop Browser, but other loops I bought from third-party vendors that are in the ".aiff" format are not showing up at all in the loop browser. They are all in the same correct folder for loops on my system along with the working Jam Pack loops. I tried dragging and dropping a bunch of these loops onto the blank space on an open session based on some advice I read on the internet, and Garage Band processed them (and created new instrument tracks on the screen for each loop) but they did not subsequently show up in the loop browser as I had hoped. Do I need to reformat these to ".aif" somehow? Any help with this would be greatly appreciated.
Thanks.Just to follow up, draggging the loop folders into the loop browser didn't work exactly on its own, but I got it to work in the following manner. First I went to the finder and deleted the apple loop indexes in each of the two locations where apple loops are stored in my computer (note to Apple: why multiple different folders for Apple Loops?). Then I dragged all of the Apple Loops that were stored in the second loops folder (in the Library under "Audio") to the first Apple Loops folder. Then I dragged both entire Apple Loops folders (required even though the second one was now empty) into the loop browser. Upon dragging the second one in, Garage Band automatically began reindexing my loops and then everything showed up in the loop browser correctly, finally. Apparently both (or all) locations where Garage Band stores loops must be individually dragged into the loop browser to trigger the reindexing process. This process was harder than it should be and I feel like it represents an annoying bug in Garage Band, in addition to the help from this post I also had to google research the problem for quite some time to figure out this process.
-
Quicktime movie will move from "space" to "space" as I change?
I don't recall this happening before . . . but I could be wrong. I have a MacBook Pro (about a year old) running LION 10.7.2.
I've always preferred QT Pro to the QTX version apple has now. I have 4 SPACES (via Mission COntrol) made on my Mac. Interestingly, when I open a QT movie in "SPACES" 1 - all is well.
BUT . . . when I cycle thru SPACES 2, 3, and 4 - the QT movie jumps to the "new" SPACE?
That's the whole reason for having SPACES (I thought) to have a "clean" desktop. Is something wrong here - or does QT do that on all machines?
Thanks,
LarryI don't actually know. But since the reference movie export only takes a few seconds and carries with it virtually no disk space penalty, and the QuickTime export gives me more control and gives me an opportunity to do some other stuff, I never really gave it much thought. I have no idea whether what you're experiencing is an Avid issue or a QuickTime issue, but there do sometimes seem to be some interaction issues between the two platforms. Most of the time I am inclined to blame Tewksbury instead of Cupertino, but that's just my personal bias.
--Dave Althoff, Jr. -
After Update 1.4 GB of space increase
Hi,
Last week we updated 23233865 number of records on single column on two tables and we were table to see 1.4GB of growth on DB.
Total tables size=18GB data +10GB of indexes on this tables.
So Kindly guide me do i need to rebuild the indexes or any way to tell how space can be reclaimed.
select del_lf_rows * 100 / decode(lf_rows,0,1,lf_rows) from index_stats where name = 'TIBEX_ORDER_IDX_OLT';
declare
segment_owner VARCHAR2(30) default 'TRD_SRV_OWNER';
segment_name VARCHAR2(30) default 'TIBEX_ORDER_ID_ORD_INS';
segment_type VARCHAR2(30) default 'INDEX';
total_blocks NUMBER;
total_bytes NUMBER;
unused_blocks NUMBER;
unused_bytes NUMBER;
last_used_extent_file_id NUMBER;
last_used_extent_block_id NUMBER;
last_used_block NUMBER;
partition_name VARCHAR2(30) DEFAULT NULL;
begin
DBMS_SPACE.UNUSED_SPACE (
segment_owner ,
segment_name ,
segment_type ,
total_blocks ,
total_bytes ,
unused_blocks ,
unused_bytes ,
last_used_extent_file_id ,
last_used_extent_block_id ,
last_used_block ,
partition_name );
dbms_output.put_line('total blk : ' || total_blocks );
dbms_output.put_line('Unused blk : ' || unused_blocks );
dbms_output.put_line('last unused blk : ' || last_used_block );
end ;
total blk : 560640
Unused blk : 0
last unused blk : 8192
1 declare
2 segment_owner VARCHAR2(30) default 'TRD_SRV_OWNER';
3 segment_name VARCHAR2(30) default 'TIBEX_ORDER_IDX_OLT';
4 segment_type VARCHAR2(30) default 'INDEX';
5 total_blocks NUMBER;
6 total_bytes NUMBER;
7 unused_blocks NUMBER;
8 unused_bytes NUMBER;
9 last_used_extent_file_id NUMBER;
10 last_used_extent_block_id NUMBER;
11 last_used_block NUMBER;
12 partition_name VARCHAR2(30) DEFAULT NULL;
13 begin
14 DBMS_SPACE.UNUSED_SPACE (
15 segment_owner ,
16 segment_name ,
17 segment_type ,
18 total_blocks ,
19 total_bytes ,
20 unused_blocks ,
21 unused_bytes ,
22 last_used_extent_file_id ,
23 last_used_extent_block_id ,
24 last_used_block ,
25 partition_name );
26 dbms_output.put_line('total blk : ' || total_blocks );
27 dbms_output.put_line('Unused blk : ' || unused_blocks );
28 dbms_output.put_line('last unused blk : ' || last_used_block );
29* end ;
sys@SURV1> /
total blk : 296192
Unused blk : 0
last unused blk : 8192
1 declare
2 segment_owner VARCHAR2(30) default 'TRD_SRV_OWNER';
3 segment_name VARCHAR2(30) default 'IX_ORDER_TIMESTAMP';
4 segment_type VARCHAR2(30) default 'INDEX';
5 total_blocks NUMBER;
6 total_bytes NUMBER;
7 unused_blocks NUMBER;
8 unused_bytes NUMBER;
9 last_used_extent_file_id NUMBER;
10 last_used_extent_block_id NUMBER;
11 last_used_block NUMBER;
12 partition_name VARCHAR2(30) DEFAULT NULL;
13 begin
14 DBMS_SPACE.UNUSED_SPACE (
15 segment_owner ,
16 segment_name ,
17 segment_type ,
18 total_blocks ,
19 total_bytes ,
20 unused_blocks ,
21 unused_bytes ,
22 last_used_extent_file_id ,
23 last_used_extent_block_id ,
24 last_used_block ,
25 partition_name );
26 dbms_output.put_line('total blk : ' || total_blocks );
27 dbms_output.put_line('Unused blk : ' || unused_blocks );
28 dbms_output.put_line('last unused blk : ' || last_used_block );
29* end ;
sys@SURV1> /
total blk : 197504
Unused blk : 0
last unused blk : 8192
1 declare
2 segment_owner VARCHAR2(30) default 'TRD_SRV_OWNER';
3 segment_name VARCHAR2(30) default 'TIBEX_QUOTE_IDX_QLT';
4 segment_type VARCHAR2(30) default 'INDEX';
5 total_blocks NUMBER;
6 total_bytes NUMBER;
7 unused_blocks NUMBER;
8 unused_bytes NUMBER;
9 last_used_extent_file_id NUMBER;
10 last_used_extent_block_id NUMBER;
11 last_used_block NUMBER;
12 partition_name VARCHAR2(30) DEFAULT NULL;
13 begin
14 DBMS_SPACE.UNUSED_SPACE (
15 segment_owner ,
16 segment_name ,
17 segment_type ,
18 total_blocks ,
19 total_bytes ,
20 unused_blocks ,
21 unused_bytes ,
22 last_used_extent_file_id ,
23 last_used_extent_block_id ,
24 last_used_block ,
25 partition_name );
26 dbms_output.put_line('total blk : ' || total_blocks );
27 dbms_output.put_line('Unused blk : ' || unused_blocks );
28 dbms_output.put_line('last unused blk : ' || last_used_block );
29* end ;
sys@SURV1> /
total blk : 229760
Unused blk : 0
last unused blk : 8192
1 declare
2 segment_owner VARCHAR2(30) default 'TRD_SRV_OWNER';
3 segment_name VARCHAR2(30) default 'IX_QUOTE_TIMESTAMP';
4 segment_type VARCHAR2(30) default 'INDEX';
5 total_blocks NUMBER;
6 total_bytes NUMBER;
7 unused_blocks NUMBER;
8 unused_bytes NUMBER;
9 last_used_extent_file_id NUMBER;
10 last_used_extent_block_id NUMBER;
11 last_used_block NUMBER;
12 partition_name VARCHAR2(30) DEFAULT NULL;
13 begin
14 DBMS_SPACE.UNUSED_SPACE (
15 segment_owner ,
16 segment_name ,
17 segment_type ,
18 total_blocks ,
19 total_bytes ,
20 unused_blocks ,
21 unused_bytes ,
22 last_used_extent_file_id ,
23 last_used_extent_block_id ,
24 last_used_block ,
25 partition_name );
26 dbms_output.put_line('total blk : ' || total_blocks );
27 dbms_output.put_line('Unused blk : ' || unused_blocks );
28 dbms_output.put_line('last unused blk : ' || last_used_block );
29* end ;
sys@SURV1> /
total blk : 147712
Unused blk : 0
last unused blk : 8192Current DB version 10.2.0.4 version on Solaris.
Question is:
Why did it used 1.4 GB of space only update.
Regards
Narasimha
Edited by: NarasimhaMurthy on 23-May-2010 13:20Hi Ramesh,
Thanks for your reply.
trd_srv_owner@SURV1> declare
2 l_fs1_bytes number;
3 l_fs2_bytes number;
4 l_fs3_bytes number;
5 l_fs4_bytes number;
6 l_fs1_blocks number;
7 l_fs2_blocks number;
8 l_fs3_blocks number;
9 l_fs4_blocks number;
l_full_bytes number;
10 11 l_full_blocks number;
12 l_unformatted_bytes number;
13 l_unformatted_blocks number;
14 begin
dbms_space.space_usage(
15 16 segment_owner => user,
segment_name => 'TIBEX_ORDER',
segment_type => 'TABLE',
17 18 19 fs1_bytes => l_fs1_bytes,
20 fs1_blocks => l_fs1_blocks,
21 fs2_bytes => l_fs2_bytes,
22 fs2_blocks => l_fs2_blocks,
23 fs3_bytes => l_fs3_bytes,
24 fs3_blocks => l_fs3_blocks,
25 fs4_bytes => l_fs4_bytes,
26 fs4_blocks => l_fs4_blocks,
27 full_bytes => l_full_bytes,
28 full_blocks => l_full_blocks,
29 unformatted_blocks => l_unformatted_blocks,
30 unformatted_bytes => l_unformatted_bytes
31 );
32 dbms_output.put_line(' FS1 Blocks = '||l_fs1_blocks||' Bytes = '||l_fs1_bytes);
33 dbms_output.put_line(' FS2 Blocks = '||l_fs2_blocks||' Bytes = '||l_fs2_bytes);
34 dbms_output.put_line(' FS3 Blocks = '||l_fs3_blocks||' Bytes = '||l_fs3_bytes);
35 dbms_output.put_line(' FS4 Blocks = '||l_fs4_blocks||' Bytes = '||l_fs4_bytes);
dbms_output.put_line('Full Blocks = '||l_full_blocks||' Bytes = '||l_full_bytes);
36 37 end;
38 /
FS1 Blocks = 6409 Bytes = 52502528
FS2 Blocks = 7 Bytes = 57344
FS3 Blocks = 7 Bytes = 57344
FS4 Blocks = 3612 Bytes = 29589504
Full Blocks = 1264078 Bytes = 10355326976
PL/SQL procedure successfully completed.
trd_srv_owner@SURV1> declare
2 l_fs1_bytes number;
3 l_fs2_bytes number;
4 l_fs3_bytes number;
5 l_fs4_bytes number;
6 l_fs1_blocks number;
7 l_fs2_blocks number;
8 l_fs3_blocks number;
9 l_fs4_blocks number;
10 l_full_bytes number;
11 l_full_blocks number;
l_unformatted_bytes number;
12 13 l_unformatted_blocks number;
14 begin
15 dbms_space.space_usage(
16 segment_owner => user,
17 segment_name => 'TIBEX_QUOTE',
18 segment_type => 'TABLE',
19 fs1_bytes => l_fs1_bytes,
20 fs1_blocks => l_fs1_blocks,
21 fs2_bytes => l_fs2_bytes,
22 fs2_blocks => l_fs2_blocks,
23 fs3_bytes => l_fs3_bytes,
24 fs3_blocks => l_fs3_blocks,
25 fs4_bytes => l_fs4_bytes,
26 fs4_blocks => l_fs4_blocks,
27 full_bytes => l_full_bytes,
28 full_blocks => l_full_blocks,
29 unformatted_blocks => l_unformatted_blocks,
30 unformatted_bytes => l_unformatted_bytes
31 );
32 dbms_output.put_line(' FS1 Blocks = '||l_fs1_blocks||' Bytes = '||l_fs1_bytes);
33 dbms_output.put_line(' FS2 Blocks = '||l_fs2_blocks||' Bytes = '||l_fs2_bytes);
34 dbms_output.put_line(' FS3 Blocks = '||l_fs3_blocks||' Bytes = '||l_fs3_bytes);
35 dbms_output.put_line(' FS4 Blocks = '||l_fs4_blocks||' Bytes = '||l_fs4_bytes);
36 dbms_output.put_line('Full Blocks = '||l_full_blocks||' Bytes = '||l_full_bytes);
37 end;
38 /
FS1 Blocks = 7 Bytes = 57344
FS2 Blocks = 4 Bytes = 32768
FS3 Blocks = 2 Bytes = 16384
FS4 Blocks = 3367 Bytes = 27582464
Full Blocks = 1100447 Bytes = 9014861824
trd_srv_owner@SURV1> declare
2 l_fs1_bytes number;
3 l_fs2_bytes number;
4 l_fs3_bytes number;
5 l_fs4_bytes number;
6 l_fs1_blocks number;
7 l_fs2_blocks number;
8 l_fs3_blocks number;
9 l_fs4_blocks number;
10 l_full_bytes number;
11 l_full_blocks number;
12 l_unformatted_bytes number;
13 l_unformatted_blocks number;
14 begin
15 dbms_space.space_usage(
16 segment_owner => user,
17 segment_name => 'TIBEX_EDPMARKETSTATE',
segment_type => 'TABLE',
18 19 fs1_bytes => l_fs1_bytes,
20 fs1_blocks => l_fs1_blocks,
21 fs2_bytes => l_fs2_bytes,
22 fs2_blocks => l_fs2_blocks,
23 fs3_bytes => l_fs3_bytes,
24 fs3_blocks => l_fs3_blocks,
25 fs4_bytes => l_fs4_bytes,
26 fs4_blocks => l_fs4_blocks,
27 full_bytes => l_full_bytes,
28 full_blocks => l_full_blocks,
29 unformatted_blocks => l_unformatted_blocks,
30 unformatted_bytes => l_unformatted_bytes
31 );
32 dbms_output.put_line(' FS1 Blocks = '||l_fs1_blocks||' Bytes = '||l_fs1_bytes);
33 dbms_output.put_line(' FS2 Blocks = '||l_fs2_blocks||' Bytes = '||l_fs2_bytes);
34 dbms_output.put_line(' FS3 Blocks = '||l_fs3_blocks||' Bytes = '||l_fs3_bytes);
35 dbms_output.put_line(' FS4 Blocks = '||l_fs4_blocks||' Bytes = '||l_fs4_bytes);
36 dbms_output.put_line('Full Blocks = '||l_full_blocks||' Bytes = '||l_full_bytes);
37 end;
38 /
FS1 Blocks = 6 Bytes = 49152
FS2 Blocks = 8 Bytes = 65536
FS3 Blocks = 4 Bytes = 32768
FS4 Blocks = 3803 Bytes = 31154176
Full Blocks = 163827 Bytes = 1342070784
PL/SQL procedure successfully completed.
trd_srv_owner@SURV1> declare
2 l_fs1_bytes number;
3 l_fs2_bytes number;
4 l_fs3_bytes number;
5 l_fs4_bytes number;
6 l_fs1_blocks number;
7 l_fs2_blocks number;
8 l_fs3_blocks number;
9 l_fs4_blocks number;
10 l_full_bytes number;
11 l_full_blocks number;
12 l_unformatted_bytes number;
13 l_unformatted_blocks number;
14 begin
15 dbms_space.space_usage(
16 segment_owner => user,
17 segment_name => 'TIBEX_INSTRUMENTADMIN',
18 segment_type => 'TABLE',
19 fs1_bytes => l_fs1_bytes,
20 fs1_blocks => l_fs1_blocks,
21 fs2_bytes => l_fs2_bytes,
22 fs2_blocks => l_fs2_blocks,
23 fs3_bytes => l_fs3_bytes,
24 fs3_blocks => l_fs3_blocks,
25 fs4_bytes => l_fs4_bytes,
26 fs4_blocks => l_fs4_blocks,
27 full_bytes => l_full_bytes,
28 full_blocks => l_full_blocks,
29 unformatted_blocks => l_unformatted_blocks,
30 unformatted_bytes => l_unformatted_bytes
31 );
32 dbms_output.put_line(' FS1 Blocks = '||l_fs1_blocks||' Bytes = '||l_fs1_bytes);
33 dbms_output.put_line(' FS2 Blocks = '||l_fs2_blocks||' Bytes = '||l_fs2_bytes);
34 dbms_output.put_line(' FS3 Blocks = '||l_fs3_blocks||' Bytes = '||l_fs3_bytes);
35 dbms_output.put_line(' FS4 Blocks = '||l_fs4_blocks||' Bytes = '||l_fs4_bytes);
36 dbms_output.put_line('Full Blocks = '||l_full_blocks||' Bytes = '||l_full_bytes);
37 end;
38 /
FS1 Blocks = 0 Bytes = 0
FS2 Blocks = 1 Bytes = 8192
FS3 Blocks = 2 Bytes = 16384
FS4 Blocks = 252 Bytes = 2064384
Full Blocks = 76779 Bytes = 628973568
PL/SQL procedure successfully completed.
I used one more procedure to find actual space
set verify off
set serverout on size 1000000
declare
sql_stmt varchar2(1024);
block_count number;
cursor tab is
select owner, table_name,blocks
from dba_tables
where owner=upper('TRD_SRV_OWNER') and table_name like UPPER('TIBEX_QUOTE');
l_db_block_size NUMBER;
begin
dbms_output.put_line('Displaying Actual Space Used for schema TRD_SRV_OWNER ');
dbms_output.put_line('Log file to Check_counts2.lst ....');
dbms_output.put_line('....');
SELECT value INTO l_db_block_size
FROM v$parameter WHERE name='db_block_size';
FOR tab_rec IN tab LOOP
BEGIN
sql_stmt:='select count(distinct( dbms_rowid.rowid_block_number(rowid) )) from '
||tab_rec.owner||'.' ||tab_rec.table_name;
EXECUTE IMMEDIATE sql_stmt INTO block_count;
dbms_output.put_line(rpad(tab_rec.table_name,30)
||' '||TO_CHAR(block_count*l_db_block_size)/1024/1024||' Mb'
||' ('||TO_CHAR(block_count*l_db_block_size)/1024||' Kb)'
||' Analyze:'
||TO_CHAR(tab_rec.blocks*l_db_block_size)/1024/1024||' Mb'
||' ('||TO_CHAR(tab_rec.blocks*l_db_block_size)/1024||' Kb)'
exception when others then
dbms_output.put_line('Error counting rows for table '||tab_rec.table_name||' '||SQLERRM);
END;
end loop;
end;
Displaying Actual Space Used for schema TRD_SRV_OWNER
Log file to Check_counts2.lst ....
TIBEX_ORDER 8585.90625 Mb (8791968 Kb) Analyze:9984.3203125 Mb (10223944 Kb)
PL/SQL procedure successfully completed.
Displaying Actual Space Used for schema TRD_SRV_OWNER
Log file to Check_counts2.lst ....
TIBEX_QUOTE 7713.2265625 Mb (7898344 Kb) Analyze:8685.6484375 Mb (8894104 Kb)Regards
Narasimha
Edited by: NarasimhaMurthy on 24-May-2010 01:50 -
Bring Open Application to Current Space
Is there a way to bring an application to the current Space?
Situation: I'm actively working in Space A and I need to access information from an application that is in another space, Space X. I can easily enough click on the icon in the doc to switch me to that space and application. However, I would like to option to bring that application to the current window.
Has anybody out there come across a way to do this?There are several ways to move a window into another space. Here are two:
In the all-spaces view (F8 by default), you can arrange windows into whatever space you want.
Or... go to the window you want to move. Grab the title bar to move it and shift spaces (Control-Arrow, for example) while holding the window. The window will move along with you as you cycle through spaces. -
HELP !!! - sql script to find free space in Oracle7,8,9 DB
Hi All
I got a PL/SQL script to find out free space in Oracle7,8,9 db. But because in Oracle 7 there is no maxbytes column in dba_data_files, so this script is not working. I am trying to use cursor and putting sql in a variable so that when program executes, it does not see maxbytes. But it still does not work.
Please help. !!!
Script
set feedback off;
set serveroutput on;
set termout off;
set verify off;
spool /u01/app/oracle/admin/common/bck/log/ts.log
declare
v_tablespace_name varchar2(50);
v_total_space number(12) := 0;
v_free_space number(12);
v_space number(12);
v_space_used number(12);
v_pct_free number(6,3);
v_pct_threshold number(3) := 2;
v_table_exist number(2) := 0;
v_sql varchar2(300) := 'select sum(maxbytes) from dba_data_files where TABLESPACE_NAME = tablespace_rec.tablespace_name';
TYPE t_tableref IS REF CURSOR;
t_tablecur t_tableref;
begin
for tablespace_rec in (select tablespace_name from dba_tablespaces)
loop
-- Get the total space for the current tablespace
-- if this FILEXT$ view exists then some of the datafiles have autoextend on;
select count(*) into v_table_exist from dba_tables where table_name = 'FILEXT$';
dbms_output.put_line('table count: ' || v_table_exist);
if v_table_exist = 0 then
OPEN t_tablecur for v_sql;
fetch t_tablecur into v_total_space;
CLOSE t_tablecur;
-- select sum(maxbytes) into v_total_space from dba_data_files
-- where TABLESPACE_NAME = tablespace_rec.tablespace_name;
-- v_total_space := getMaxBytes(tablespace_rec.tablespace_name);
end if;
select sum(bytes) into v_space from dba_data_files
where TABLESPACE_NAME = tablespace_rec.tablespace_name;
if (v_total_space = 0 or v_total_space < v_space) then
select sum(bytes) into v_total_space from dba_data_files
where TABLESPACE_NAME = tablespace_rec.tablespace_name;
select sum(bytes) into v_free_space from dba_free_space
where TABLESPACE_NAME = tablespace_rec.tablespace_name;
else
select sum(bytes) into v_free_space from dba_free_space
where TABLESPACE_NAME = tablespace_rec.tablespace_name;
v_space_used := v_space - v_free_space;
v_free_space := v_total_space - v_space_used;
end if;
-- calculate the percent free for the current tablespace
v_pct_free := (v_free_space / v_total_space) * 100;
if (v_pct_free < v_pct_threshold) then
dbms_output.put_line(tablespace_rec.tablespace_name|| ' - Percent Free: ' || v_pct_free
||'%');
end if;
end loop;
end;
spool off;Hi All
I got a PL/SQL script to find out free space in Oracle7,8,9 db. But because in Oracle 7 there is no maxbytes column in dba_data_files, so this script is not working. I am trying to use cursor and putting sql in a variable so that when program executes, it does not see maxbytes. But it still does not work.
Please help. !!!
Script
set feedback off;
set serveroutput on;
set termout off;
set verify off;
spool /u01/app/oracle/admin/common/bck/log/ts.log
declare
v_tablespace_name varchar2(50);
v_total_space number(12) := 0;
v_free_space number(12);
v_space number(12);
v_space_used number(12);
v_pct_free number(6,3);
v_pct_threshold number(3) := 2;
v_table_exist number(2) := 0;
v_sql varchar2(300) := 'select sum(maxbytes) from dba_data_files where TABLESPACE_NAME = tablespace_rec.tablespace_name';
TYPE t_tableref IS REF CURSOR;
t_tablecur t_tableref;
begin
for tablespace_rec in (select tablespace_name from dba_tablespaces)
loop
-- Get the total space for the current tablespace
-- if this FILEXT$ view exists then some of the datafiles have autoextend on;
select count(*) into v_table_exist from dba_tables where table_name = 'FILEXT$';
dbms_output.put_line('table count: ' || v_table_exist);
if v_table_exist = 0 then
OPEN t_tablecur for v_sql;
fetch t_tablecur into v_total_space;
CLOSE t_tablecur;
-- select sum(maxbytes) into v_total_space from dba_data_files
-- where TABLESPACE_NAME = tablespace_rec.tablespace_name;
-- v_total_space := getMaxBytes(tablespace_rec.tablespace_name);
end if;
select sum(bytes) into v_space from dba_data_files
where TABLESPACE_NAME = tablespace_rec.tablespace_name;
if (v_total_space = 0 or v_total_space < v_space) then
select sum(bytes) into v_total_space from dba_data_files
where TABLESPACE_NAME = tablespace_rec.tablespace_name;
select sum(bytes) into v_free_space from dba_free_space
where TABLESPACE_NAME = tablespace_rec.tablespace_name;
else
select sum(bytes) into v_free_space from dba_free_space
where TABLESPACE_NAME = tablespace_rec.tablespace_name;
v_space_used := v_space - v_free_space;
v_free_space := v_total_space - v_space_used;
end if;
-- calculate the percent free for the current tablespace
v_pct_free := (v_free_space / v_total_space) * 100;
if (v_pct_free < v_pct_threshold) then
dbms_output.put_line(tablespace_rec.tablespace_name|| ' - Percent Free: ' || v_pct_free
||'%');
end if;
end loop;
end;
spool off; -
Logic Pro 7 & Reason 3.0 - Cycle Mode Sync
Hi Forum,
I am using Logic Pro 7 and reason 3.0 simultaniously via rewire. I am having a problem when playing back a song in cycle mode.
I select a section (let's say bars 1 - 8) to loop in cycle mode, but when I play the selected section it does not loop smoothly. When the SPL reaches the end of the cycle selection point (end of bar 8) and proceeds to start at bar 1 again, I hear a skip in the audio. It does not loop perfectly like I want it to.
Can someone please suggest why this is occuring and how I could correct this problem so that it loops smoothly and perfectly?
Thank you.here ya go
http://docs.info.apple.com/article.html?artnum=300040 -
Greetings-
We are attempting to sync a class set of iPads durring a class perioid. They go through the sync cycle but then seem to start over.
Checking activation state -> Checking Pairing -> Installing Apps -> Retriving Documents -> Installing Configuration Profiles -> Idle
Then right back to the begining of the cycle. Has anyone else experienced this and or fixed this situation?I have this same problem although mine seems to just have happened recently (9/24/2012). I restore phones through configurator for my job but today when I tried to restore to a 5.1.1 ipsw it would loop the cycle like so and not actually restore the phones.
-
OEPE Performance Issues in Eclipse 3.5 / Vista
Hello,
We are experiencing some performance issues handling larger DML files:
1. It takes about a 45 - 60 sec to open 6.6MB DML file (see link for source below) in Eclipse 3.5 on Lenovo ThinkPad W500 Core Duo 2 laptop with 3GB memory (1 year old and still considered a pretty fast laptop)
2. Executing this file from Eclipse IDE just hangs with a spinning Vista wheel. I have to kill and restart the IDE.
Here is the error I get after waiting for the spinning wheel to stop for a while:
"Unhandled event loop exception
Java heap space"
Then Eclipse shows this message:
"An out of memory error has occurred. Consult the "Running Eclipse"section of the read me file for information on preventing this kind of error in the future. You are recommended to exit the workbench..."
******** 2/28 Update:
I've changed the Xmx parameter to -Xmx1024 as suggested. It didn't give me the error this time, but it still took about 1.5 min to open this SQL file in Eclipse and another 10 min waiting before the INSERT statements started to execute, though they never reached the end. Other operations on this file are very slow too (e.g. right-clicking and selecting a menu item). It seems that handling larger files is currently not implemented as efficient as it could be. Maybe it's not buffered?
The DDL/DML scripts to replicate this issue can be downloaded from http://colddata.zftp.com/tmp/dml-ddl.zip
Thank you.I've done some preliminary research into this performance bottleneck. There are several issues involved: DTP's scrapbook handles large strings without buffer; our plsql parser parses large strings without buffer; and we attempt to execute more than 40000 insert statements one by one.
We're near the end of our current release cycle. With issues in this scale, we have to wait until our next release to address it.
Shenxue -
Multiple (independent) Image Rotation
Usually I'm good at finding information to solve problems by searching the forums. but honestly I've never seen this problem solved or ever heard any mention of it. . . . here goes.
I'm writing a space shooter that uses images as the hero and enemy ships.
My problem is this.
I've written the code and walked through it several times an what I have written correctly works incorrectly.
I wrote a loop to cycle each sprite object (each has an AffineTransform object as a variable).
Afterwards coded it to rotate each object individually based on their own AffineTrasform.
The result is a when I rotate the hero ship the other ships rotate in concert. Even more strange they rotate slightly off. meaning that they aren't completely synchronized, but they rotate in the same fashion. (The enemy ships rotate in sync with each other, slightly latent to the rotation of the hero ship)
My question is how do you rotate multiple objects indepedently?
I haven't tried creating a thread for each object because it would make the program unduly complicated and slow. Also it is unecessary when I already have a thread that cycles each object before it is rendered in the paint(Graphics g) method.
My theory is that there are static attributes in the AffineTransform Class that are creating a rollover effect to the other sprites. I haven't been able to prove this theory but If it is true hopefully Sun recognizes this problem and fixes it. . .i.e. an alternative AffineTransform class that doesn't have static variables so that I can rotate each sprite without the rollover. (Much easier than ME rewriting code LOL :P )
If necessary I'll post the code. but hopefully it isn't.
Thank you to any genius that can help!Nevermind. . . I rewrote the code and everything works fine now. I don't know if the AffineTransform object has been updated or I just figured out a better way of using it.
Thanks anyway. I'm sure I'll be back with some other questions soon. -
Hi SDN
i have a small problem where iam unable to add fields in the final internal table
i have to add two fields i.e., COMMITMENT AND ACTVALUE from ESUH TABLE
AND the final internal table is l_i_ekpo.
we have to add only two fields COMMITMENT and a ....variable = COMMITMENT - ACTVALUE. which is already done in the program.
here iam attaching a program.
TABLES: ekpo.
DATA: i_directory_list LIKE rlgrap-filename OCCURS 0 WITH HEADER LINE.
DATA: i_directory_sel LIKE popuptext OCCURS 0 WITH HEADER LINE.
*{ INSERT PS010306UPGR
CLASS cl_abap_char_utilities DEFINITION LOAD.
*} INSERT
DATA: BEGIN OF tab,
*{ REPLACE PS010306UPGR
T(1) TYPE X VALUE '09', "HEX!
t(1) TYPE c VALUE cl_abap_char_utilities=>horizontal_tab, "Unicode
*} REPLACE
END OF tab.
DATA: ekpo_konnr LIKE ekpo-konnr.
DATA: ekpo_ktpnr LIKE ekpo-ktpnr.
DATA: BEGIN OF t_bapiessrc OCCURS 0.
INCLUDE STRUCTURE zbapiessrc_chars.
DATA: END OF t_bapiessrc.
DATA: t_bapiessrc_tab(301) OCCURS 0." with header line.
DATA: wa_bapiessrc_tab(301).
DATA: BEGIN OF t_headertext OCCURS 0,
ext_number LIKE zbapiessrc_chars-ext_number,
linno(4) TYPE n,
tcode(20),
recordname(30),
txpargraph(2),
txline(72),
text_mark,
END OF t_headertext.
DATA: BEGIN OF t_itemtext OCCURS 0,
ext_number LIKE zbapiessrc_chars-ext_number,
ext_line(18),
linno(4) TYPE n,
tcode(20),
recordname(30),
txpargraph(2),
txline(72),
text_mark,
ext_linno(6),
END OF t_itemtext.
DATA: t_headertext_tab(180) OCCURS 0.
DATA: wa_headertext_tab(180).
DATA: t_itemtext_tab(190) OCCURS 0.
DATA: wa_itemtext_tab(190).
DATA: BEGIN OF t_bapiesllc OCCURS 0.
ext_number like bapiessrc-ext_number.
INCLUDE STRUCTURE zbapiesllc_chars.
DATA: END OF t_bapiesllc.
DATA: t_bapiesllc_tab(650) OCCURS 0." with header line.
DATA: wa_bapiesllc_tab(650).
DATA: no_of_files LIKE sy-index.
DATA: perc_uploaded TYPE i.
DATA: text_uploaded(50).
DATA: text_fi_not_upl1(30), text_fi_not_upl2(30).
DATA: continue_yn.
DATA: file TYPE localfile.
FIELD-SYMBOLS .
DATA: BEGIN OF clbp_content OCCURS 0.
INCLUDE STRUCTURE solisti1.
DATA: END OF clbp_content.
DATA w_mode VALUE 'A'.
CONSTANTS: c_update VALUE 'S'.
DATA: BEGIN OF bdcdata OCCURS 0. " BDC Table
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdcdata.
DATA: BEGIN OF bdcmsgcoll OCCURS 0. " BDC Messages
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF bdcmsgcoll.
DATA params LIKE pri_params.
DATA list_text LIKE pri_params-prtxt.
DATA: days(1) TYPE n VALUE 2,
count(3) TYPE n VALUE 1,
valid TYPE c.
DATA t_bapi_essr LIKE bapiessrc OCCURS 0.
DATA t_bapi_essr_log LIKE bapiessrc OCCURS 0 WITH HEADER LINE.
DATA t_bapi_esll LIKE bapiesllc OCCURS 0.
DATA t_bapi_esll_log LIKE bapiesllc OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF output_prot OCCURS 0.
INCLUDE STRUCTURE essr.
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF output_prot.
DATA: BEGIN OF i_sgcses_struc OCCURS 0,
po_number LIKE zbapiessrc_chars-po_number,
po_item LIKE zbapiessrc_chars-po_item,
short_text LIKE zbapiessrc_chars-short_text,
xblnr LIKE essr-xblnr,
ref_date LIKE zbapiessrc_chars-ref_date,
service LIKE zbapiesllc_chars-service,
flag,
quantity LIKE zbapiesllc_chars-quantity,
final,
END OF i_sgcses_struc.
start of insert >>>
DATA: l_ses_no LIKE essr-lblni.
TYPES: BEGIN OF t_ekpo,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
werks LIKE ekpo-werks,
packno LIKE ekpo-packno,
END OF t_ekpo.
DATA: i_ekpo TYPE STANDARD TABLE OF t_ekpo.
end of insert <<<
$$----
S E L E C T I O N S C R E E N -
PARAMETERS: p_path TYPE localfile DEFAULT
'C: empBasellInterfacesSesSES-Daten'.
***parameters: p_dismod type ctu_mode default 'A'.
PARAMETERS: p_dismod TYPE ctu_mode DEFAULT 'E'.
PARAMETERS: p_spnam TYPE tsp01-rq2name DEFAULT 'SES_UPL.....'
OBLIGATORY.
PARAMETERS: cb_serv AS CHECKBOX DEFAULT 'X'.
PARAMETERS: cb_text AS CHECKBOX DEFAULT 'X'.
PARAMETERS: cb_chck AS CHECKBOX DEFAULT 'X'.
$$----
A T S E L E C T I O N S C R E E N -
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
DATA: len TYPE i,
testchar(1).
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
mask = 'C:*.txt'
static = 'X'
CHANGING
file_name = p_path.
DESCRIBE FIELD p_path LENGTH len IN CHARACTER MODE.
DO len TIMES.
len = len - 1.
testchar = p_path+len(1).
IF testchar = ''.
len = len + 1.
p_path = p_path(len).
EXIT.
ENDIF.
ENDDO.
$$----
S T A R T O F S E L E C T I O N -
START-OF-SELECTION.
PERFORM select_files.
PERFORM spool_settings.
PERFORM upload_files.
PERFORM select_additional_data.
$$----
E N D O F S E L E C T I O N -
END-OF-SELECTION.
PERFORM spool_settings.
CLEAR: perc_uploaded, no_of_files, text_uploaded.
DESCRIBE TABLE t_bapiessrc LINES no_of_files.
Loop over header-records: for each header-record one call transaction:
LOOP AT t_bapiessrc.
perc_uploaded = ( 100 * sy-tabix ) / no_of_files.
IF cb_serv = 'X'.
PERFORM prepare_clipboard.
Upload Service Entry Sheets:
PERFORM call_transaction_upload.
Italian Version begin
IMPORT output_prot FROM MEMORY ID 'OUT_PROT'.
PERFORM write_prot_to_spool.
FREE MEMORY ID 'OUT_PROT'.
REFRESH: output_prot.
Italian Version end
PERFORM find_ses_number.
PERFORM check_estimated_value.
ENDIF.
IF cb_text = 'X'.
Upload SES Texts:
PERFORM upload_texts.
ENDIF.
start of insert >>>
PERFORM change_account.
IF cb_serv = 'X'.
PERFORM release_ses.
ENDIF.
end of insert <<<
ENDLOOP.
In case only text and no services shall be uploaded:
IF NOT cb_text IS INITIAL.
In case also services are uploaded this loop won't apply cause
t_headertext-entries are deleted after they were processed in the
loop above!
LOOP AT t_headertext.
MOVE t_headertext-ext_number TO t_bapiessrc-ext_number.
*only for test cases since data file is not correct:
move t_headertext-ext_number to t_bapiessrc-ref_doc_no.
*only for test cases since data file is not correct:END
PERFORM upload_texts.
ENDLOOP.
ENDIF.
PERFORM log_upload_success.
NEW-PAGE PRINT OFF.
PERFORM delete_files.
WRITE: / text-001.
write: / 'Check spools for correct processing (Transaction SP01)!'.
$$----
T O P O F P A G E -
TOP-OF-PAGE.
*--at user-command--
AT USER-COMMAND.
*--top of page-during line selection--
TOP-OF-PAGE DURING LINE-SELECTION.
$$----
F O R M - R O U T I N E S -
*& Form SPLIT_BAPIESSRC
FORM split_bapiessrc.
DATA: l_score_time(3),
l_score_qual(3),
l_essr_lblni LIKE essr-lblni.
start of insert >>>
TABLES: esuc.
DATA: l_packno LIKE ekpo-packno.
end of insert <<<
CLEAR: t_bapiessrc, ekpo_konnr, ekpo_ktpnr, ekpo.
TRANSLATE doc_content-line USING '#;'. ZBAPIESSRC_CHARS
SPLIT AT '§' INTO
t_bapiessrc-sheet_no t_bapiessrc-ext_number
t_bapiessrc-person_int t_bapiessrc-person_ext
t_bapiessrc-location t_bapiessrc-ref_date
t_bapiessrc-begdate t_bapiessrc-enddate
t_bapiessrc-pckg_no t_bapiessrc-short_text
Only for testing due to wrong data
t_bapiessrc-po_number t_bapiessrc-po_item
ekpo_konnr ekpo_ktpnr
Only for testing due to wrong data END
t_bapiessrc-block_ind t_bapiessrc-score_time
t_bapiessrc-score_qual t_bapiessrc-doc_date
t_bapiessrc-post_date t_bapiessrc-ref_doc_no
Only for testing due to wrong data
t_bapiessrc-po_number t_bapiessrc-po_item
Only for testing due to wrong data END
t_bapiessrc-accasscat t_bapiessrc-comm_no
t_bapiessrc-user_field t_bapiessrc-acceptance
Only for testing due to wrong data
ekpo_konnr ekpo_ktpnr t_bapiessrc-final.
Only for testing due to wrong data END
MOVE '0000000001' TO t_bapiessrc-pckg_no.
SHIFT t_bapiessrc-po_item RIGHT DELETING TRAILING space.
TRANSLATE t_bapiessrc-po_item USING ' 0'.
start of delete >>>
IF NOT ekpo_konnr IS INITIAL AND NOT ekpo_ktpnr IS INITIAL.
SELECT SINGLE konnr ktpnr FROM ekpo
INTO (ekpo-konnr, ekpo-ktpnr)
WHERE ebeln = t_bapiessrc-po_number
AND ebelp = t_bapiessrc-po_item.
IF NOT sy-subrc IS INITIAL.
WRITE:/ text-101, t_bapiessrc-ext_number,
text-102,
t_bapiessrc-po_number,
text-103,
t_bapiessrc-po_item,
text-104.
WRITE: / text-105.
EXIT.
ELSE.
IF ekpo_konnr NE ekpo-konnr OR ekpo_ktpnr NE ekpo-ktpnr.
WRITE:/ text-101, t_bapiessrc-ext_number,
text-106,
ekpo_konnr, '/',
ekpo_ktpnr,
text-107,
t_bapiessrc-po_number,
text-103, t_bapiessrc-po_item, ')'.
WRITE: / text-105.
EXIT.
ENDIF.
ENDIF.
ENDIF.
end of delete <<<
start of insert >>>
" check contract number
IF NOT ekpo_konnr IS INITIAL AND NOT ekpo_ktpnr IS INITIAL.
SELECT SINGLE konnr ktpnr packno
FROM ekpo
INTO (ekpo-konnr, ekpo-ktpnr, l_packno)
WHERE ebeln = t_bapiessrc-po_number
AND ebelp = t_bapiessrc-po_item.
IF sy-subrc NE 0.
" no corresponding PO, no update will be performed
WRITE:/ text-101, t_bapiessrc-ext_number,
text-102,
t_bapiessrc-po_number,
text-103,
t_bapiessrc-po_item,
text-104.
WRITE: / text-105.
EXIT.
ELSE.
" check contract number against table ESUC first.
SELECT SINGLE *
FROM esuc
WHERE packno EQ l_packno
AND ebeln EQ ekpo_konnr
AND ebelp EQ ekpo_ktpnr.
IF sy-subrc NE 0.
" check against PO line
IF ekpo_konnr NE ekpo-konnr OR ekpo_ktpnr NE ekpo-ktpnr.
WRITE:/ text-101, t_bapiessrc-ext_number,
text-106,
ekpo_konnr, '/',
ekpo_ktpnr,
text-107,
t_bapiessrc-po_number,
text-103, t_bapiessrc-po_item, ')'.
WRITE: / text-105.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
end of insert <<<
IF cb_chck = 'X'.
SELECT SINGLE lblni FROM essr INTO l_essr_lblni
WHERE loekz = ' '
AND user1 = t_bapiessrc-ext_number.
IF sy-subrc IS INITIAL.
WRITE:/ 'External SES', t_bapiessrc-ext_number,
'is already uploaded. SES-Number: ', l_essr_lblni.
WRITE: / 'No update of this sheet was accomplished!'.
EXIT.
ENDIF.
ENDIF.
APPEND t_bapiessrc.
ENDFORM. " SPLIT_BAPIESSRC
*& Form SPLIT_BAPIESLLC
FORM split_bapiesllc.
DATA: l_outl_level(3), l_ovf_tol(3), l_price_unit(5), l_gr_price(23),
l_target_val(23), l_userf2_num(13), l_quantity(13),
l_form_val1(13), l_form_val2(13), l_form_val3(13),
l_form_val4(13), l_form_val5(13), l_ext_number(16).
CLEAR: t_bapiesllc.
TRANSLATE doc_content-line USING '#;'.
SPLIT AT '§' INTO
t_bapiesllc-ext_number
t_bapiesllc-pckg_no t_bapiesllc-line_no
t_bapiesllc-ext_line t_bapiesllc-outl_level
t_bapiesllc-outl_no t_bapiesllc-outl_ind
t_bapiesllc-subpckg_no t_bapiesllc-service
t_bapiesllc-serv_type t_bapiesllc-edition
t_bapiesllc-ssc_item t_bapiesllc-ext_serv
t_bapiesllc-quantity t_bapiesllc-base_uom
t_bapiesllc-uom_iso t_bapiesllc-ovf_tol
t_bapiesllc-ovf_unlim t_bapiesllc-price_unit
t_bapiesllc-gr_price t_bapiesllc-from_line
t_bapiesllc-to_line t_bapiesllc-short_text
t_bapiesllc-distrib t_bapiesllc-pers_no
t_bapiesllc-wagetype t_bapiesllc-pln_pckg
t_bapiesllc-pln_line t_bapiesllc-con_pckg
t_bapiesllc-con_line t_bapiesllc-tmp_pckg
t_bapiesllc-tmp_line t_bapiesllc-ssc_lim
t_bapiesllc-limit_line t_bapiesllc-target_val
t_bapiesllc-basline_no t_bapiesllc-basic_line
t_bapiesllc-alternat t_bapiesllc-bidder
t_bapiesllc-supp_line t_bapiesllc-open_qty
t_bapiesllc-inform t_bapiesllc-blanket
t_bapiesllc-eventual t_bapiesllc-tax_code
t_bapiesllc-taxjurcode t_bapiesllc-price_chg
t_bapiesllc-matl_group t_bapiesllc-date
t_bapiesllc-begintime t_bapiesllc-endtime
t_bapiesllc-extpers_no t_bapiesllc-formula
t_bapiesllc-form_val1 t_bapiesllc-form_val2
t_bapiesllc-form_val3 t_bapiesllc-form_val4
t_bapiesllc-form_val5 t_bapiesllc-userf1_num
t_bapiesllc-userf2_num t_bapiesllc-userf1_txt
t_bapiesllc-userf2_txt t_bapiesllc-hi_line_no.
start of insert >>> "AP13022007i
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = t_bapiesllc-line_no
IMPORTING
output = t_bapiesllc-line_no.
end of insert <<< "AP13022007i
TRANSLATE t_bapiesllc-quantity USING ',.'.
MOVE '0000000002' TO t_bapiesllc-pckg_no. "TS20082002
APPEND t_bapiesllc.
ENDFORM. " SPLIT_BAPIESLLC
*& Form SELECT_FILES
FORM select_files.
CALL FUNCTION 'KCD_FRONT_END_DIRECTORY_READ'
EXPORTING
i_path = p_path
IMPORTING
E_PURE_PATH =
TABLES
e_directory = i_directory_list
EXCEPTIONS
download = 1
upload = 2
execute = 3
directory_not_exist = 4
directory = 5
OTHERS = 6
IF sy-subrc <> 0.
*{ REPLACE PS010306UPGR
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
MESSAGE w208(00) WITH 'Enter existing directory'(003).
*} REPLACE
EXIT.
ENDIF.
LOOP AT i_directory_list.
CHECK i_directory_list(1) CA 'KPLT'.
check i_directory_list cs '.XLS' or i_directory_list cs '.TXT'.
CHECK i_directory_list CS '.TXT'.
CLEAR i_directory_sel.
MOVE 'X' TO i_directory_sel-text(1).
MOVE i_directory_list(79) TO i_directory_sel-text+1(79).
APPEND i_directory_sel.
ENDLOOP.
CALL FUNCTION 'Z_SL018_POPUP_WITH_TEXT_TO_SEL'
EXPORTING
popup_title = 'Select Files for SES-Upload'
start_column = 10
start_row = 1
end_column = 50
end_row = 16
IMPORTING
sy_ucomm = sy-ucomm
TABLES
x_popuptext = i_directory_sel.
*Check which Files shall be uploaded:
LOOP AT i_directory_sel.
CHECK i_directory_sel-text(1) NE 'Y'.
DELETE i_directory_sel.
ENDLOOP.
SORT i_directory_sel.
DESCRIBE TABLE i_directory_sel LINES no_of_files.
ENDFORM. " SELECT_FILES
*& Form UPLOAD_FILES
FORM upload_files.
*{ INSERT PS010306UPGR
DATA: fname TYPE string.
*} INSERT
LOOP AT i_directory_sel.
CLEAR: file.
UNASSIGN: .
perc_uploaded = ( 100 * sy-tabix ) / no_of_files.
CONCATENATE i_directory_sel-text+1(31) 'uploaded from disk'
INTO text_uploaded
SEPARATED BY space.
CONCATENATE p_path i_directory_sel-text+1(31) INTO file.
Choose the right structure for <doc_content> and <wa_doc_content>
depending on file type K, P, T or L via assignment of field symbols:
CASE i_directory_sel-text+1(1).
WHEN 'K'. "Kopfdaten
ASSIGN t_bapiessrc_tab TO .
ENDCASE.
*{ REPLACE PS010306UPGR
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = FILE
TABLES
DATA_TAB = <DOC_CONTENT>
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.
fname = file.
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = fname
CHANGING
data_tab = 0.
CLEAR: text_fi_not_upl1, text_fi_not_upl2, continue_yn.
CONCATENATE 'File' i_directory_sel-text+1(21) ': upload failed!'
INTO text_fi_not_upl1 SEPARATED BY space.
MOVE 'Continue Program?' TO text_fi_not_upl2.
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
defaultoption = 'N'
textline1 = text_fi_not_upl1
textline2 = text_fi_not_upl2
titel = 'Upload Failed'
start_column = 25
start_row = 6
cancel_display = ' '
IMPORTING
answer = continue_yn.
IF continue_yn = 'N'.
EXIT.
ENDIF.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
Move uploaded File records line by line into correct internal table:
t_bapiessrc for K__.txt
t_bapiesllc for P__.txt
t_headertext for T__.txt
t_itemtext for L__.txt
LOOP AT .
IF NOT sy-subrc IS INITIAL. EXIT. ENDIF.
ENDDO.
CASE i_directory_sel-text+1(1).
WHEN 'K'. "Kopfdaten
PERFORM split_bapiessrc.
WHEN 'T'.
PERFORM split_headertext.
WHEN 'P'.
PERFORM split_bapiesllc.
WHEN 'L'.
PERFORM split_itemtext.
ENDCASE.
ENDLOOP.
ENDIF.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = perc_uploaded
text = text_uploaded.
ENDLOOP.
SORT t_bapiessrc BY ext_number.
SORT t_headertext BY ext_number linno.
SORT t_bapiesllc BY ext_number. "
SORT t_bapiesllc BY ext_number pckg_no line_no.
sort t_bapiesllc by ext_number line_no.
SORT t_itemtext BY ext_number ext_linno ext_line linno.
ENDFORM. " UPLOAD_FILES
*& Form PREPARE_CLIPBOARD
FORM prepare_clipboard.
CLEAR: clbp_content.
REFRESH: clbp_content.
DATA: l_line TYPE n.
DATA: l_tabix LIKE sy-tabix.
CLEAR l_tabix.
*Assemble the File-Structure out of the internal tables t_bapiessrc
and t_bapiesllc which is expected by the user exit
exit_saplmlsx_002 and move it to the clipboard:
MOVE 'K' TO clbp_content(1). "Flag for header record
MOVE t_bapiessrc TO clbp_content+1(246).
APPEND clbp_content.
READ TABLE t_bapiesllc WITH KEY ext_number = t_bapiessrc-comm_no
BINARY SEARCH.
CHECK sy-subrc IS INITIAL.
MOVE sy-tabix TO l_tabix.
insert dummy row for connection between pach_no and sub_packno:
CLEAR l_line.
CLEAR: clbp_content, t_bapiesllc.
ADD 1 TO l_line.
MOVE 'P' TO clbp_content(1). "Flag for service-record
MOVE l_line TO clbp_content+1(1).
MOVE '0000000001' TO t_bapiesllc-pckg_no.
MOVE '0000000002' TO t_bapiesllc-subpckg_no.
WRITE t_bapiesllc16(245) TO clbp_content3(245).
APPEND clbp_content.
CLEAR clbp_content.
ADD 1 TO l_line.
MOVE 'P' TO clbp_content(1).
MOVE l_line TO clbp_content+1(1).
WRITE t_bapiesllc261(245) TO clbp_content3(245).
APPEND clbp_content.
APPEND clbp_content.
CLEAR clbp_content.
ADD 1 TO l_line.
MOVE 'P' TO clbp_content(1).
MOVE l_line TO clbp_content+1(1).
MOVE 'E' TO clbp_content+2(1).
WRITE t_bapiesllc506(27) TO clbp_content3(245).
APPEND clbp_content.
CLEAR clbp_content.
end insert
LOOP AT t_bapiesllc FROM l_tabix.
CLEAR l_line.
CLEAR clbp_content.
IF t_bapiesllc-ext_number NE t_bapiessrc-ext_number.
EXIT.
ENDIF.
ADD 1 TO l_line.
MOVE 'P' TO clbp_content(1). "Flag for service-record
'P'-service records are split into three clipbord-lines since
structure t_bapiesllc is too long for one line
MOVE l_line TO clbp_content+1(1).
WRITE t_bapiesllc16(245) TO clbp_content3(245).
APPEND clbp_content.
CLEAR clbp_content.
ADD 1 TO l_line.
MOVE 'P' TO clbp_content(1).
MOVE l_line TO clbp_content+1(1).
WRITE t_bapiesllc261(245) TO clbp_content3(245).
APPEND clbp_content.
CLEAR clbp_content.
ADD 1 TO l_line.
MOVE 'P' TO clbp_content(1).
MOVE l_line TO clbp_content+1(1).
MOVE 'E' TO clbp_content+2(1).
WRITE t_bapiesllc506(27) TO clbp_content3(245).
APPEND clbp_content.
CLEAR clbp_content.
ENDLOOP.
******Italy version of upload
PERFORM include_italy.
export t_bapiessrc to memory id 'GER_ESSRC'.
export t_bapiesllc to memory id 'GER_ESLLC'.
EXPORT t_bapi_essr TO MEMORY ID 'GER_ESSRC'.
EXPORT t_bapi_esll TO MEMORY ID 'GER_ESLLC'.
CHECK 1 = 2.
******Italy version of upload END
CALL FUNCTION 'CLPB_EXPORT'
TABLES
data_tab = clbp_content
EXCEPTIONS
clpb_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. " PREPARE_CLIPBOARD
*& Form CALL_TRANSACTION_UPLOAD
FORM call_transaction_upload.
REFRESH bdcdata.
PERFORM bdc_dynpro USING: 'RM11RL00' '1000'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=UPL'.
PERFORM bdc_field USING: 'S_LBLNI-LOW' ' '.
PERFORM bdc_field USING: 'S_LBLNI-HIGH' ' '.
PERFORM bdc_field USING: 'P_BSTNR' ' '.
PERFORM bdc_field USING: 'S_BSTPO-LOW' ' '.
PERFORM bdc_field USING: 'S_BSTPO-HIGH' ' '.
*Italian upload version -> comments set|remove comments for Germ.Version
perform bdc_dynpro using: 'SAPLMLSX' '0480'.
perform bdc_field using: 'BDC_OKCODE' '=EXEC'.
perform bdc_dynpro using: 'SAPLGRAP' '0210'.
perform bdc_field using: 'BDC_OKCODE' '=UPL_FR_CLP'.
PERFORM bdc_dynpro USING: 'SAPMSSY0' '0120'.
perform bdc_field using: 'MARKIERT' 'X'.
*Italian upload version -> comments set; END
CASE p_dismod.
WHEN 'A'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=LITE'.
WHEN 'N'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=HIND'.
WHEN 'E'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=DARK'.
ENDCASE.
Here the call transcation of SAP-standard takes place for creating the
service entry sheet
After SAP-standard call transaction: analyze the popup with the
*Italian upload version -> comments set|remove comments for Germ.Version
PERFORM bdc_dynpro USING: 'SAPMSSY0' '0120'.
perform bdc_field using: 'BDC_OKCODE' '=PRI'.
perform bdc_dynpro using: 'SAPLSPRI' '0100'.
perform bdc_field using: 'BDC_OKCODE' '=PRIN'.
perform bdc_field using: 'PRI_PARAMS-PLIST' p_spnam.
perform bdc_field using: 'PRI_PARAMS-PRIMM' ' '.
perform bdc_field using: 'PRI_PARAMS-PRREL' ' '.
perform bdc_field using: 'PRI_PARAMS-PRNEW' ' '.
perform bdc_dynpro using: 'SAPMSSY0' '0120'.
perform bdc_field using: 'BDC_OKCODE' '=EXEC'.
*Italian upload version -> remove the following line for Germ. version:
PERFORM bdc_field USING: 'BDC_OKCODE' '/00'.
w_mode = p_dismod.
currently w_mode and p_dismod are set to the same value:
foregroud, background or error. But it could also be set to differnt
values: Foreground for upload clipboard,
CALL TRANSACTION 'ML81' USING bdcdata MODE w_mode UPDATE c_update
MESSAGES INTO bdcmsgcoll.
ENDFORM. " CALL_TRANSACTION_UPLOAD
*& Form BDC_DYNPRO
FORM bdc_dynpro
USING program TYPE c
dynpro TYPE c.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. " BDC_DYNPRO
*& Form BDC_FIELD
FORM bdc_field
USING fnam TYPE c
fval TYPE c.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM. " BDC_FIELD
*& Form UPLOAD_TEXTS
FORM upload_texts.
DATA l_lblni LIKE essr-lblni.
DATA l_tabix_header_start LIKE sy-tabix.
DATA l_tabix_item_start LIKE sy-tabix.
DATA: p(2) TYPE c.
DATA: w LIKE sy-index.
DATA: w_field(20) TYPE c.
DATA: l_ext_line_save LIKE t_itemtext-ext_line.
DATA: l_ext_linno_save LIKE t_itemtext-ext_linno.
DATA: l_extrow(10)." like ml_esll-extrow.
DATA: l_messg LIKE message.
DATA: l_msgno LIKE sy-msgno.
*only for test cases since data file is not correct:
read table t_headertext with key ext_number = t_bapiessrc-ref_doc_no.
READ TABLE t_headertext WITH KEY ext_number = t_bapiessrc-ext_number
BINARY SEARCH.
*only for test cases since data file is not correct:END
IF NOT sy-subrc IS INITIAL.
MESSAGE ID 'ZV' TYPE 'I' NUMBER '011'
WITH text-202.
WRITE: / text-202.
EXIT.
ENDIF.
l_tabix_header_start = sy-tabix.
SELECT SINGLE MAX( lblni ) FROM essr INTO l_lblni
where xblnr = t_headertext-ext_number.
WHERE user1 = t_headertext-ext_number
AND loekz = ' '.
IF NOT sy-subrc IS INITIAL.
MESSAGE ID 'ZV' TYPE 'I' NUMBER '011'
WITH text-203.
WRITE: / text-203.
EXIT.
ENDIF.
CLEAR: bdcdata, bdcmsgcoll.
REFRESH: bdcdata, bdcmsgcoll.
PERFORM bdc_dynpro USING 'RM11RL00' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ONLI'.
PERFORM bdc_field USING 'S_LBLNI-LOW' l_lblni. " '1000001748'.
PERFORM bdc_field USING 'BDC_CURSOR' 'P_LIST'.
PERFORM bdc_field USING 'P_LIST' ' '.
PERFORM bdc_field USING 'P_DIRECT' 'X'.
PERFORM bdc_field USING 'P_LISTU' ' '.
PERFORM bdc_dynpro USING 'SAPLMLSR' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=TXT'.
perform bdc_field using 'ESSR-TXZ01' t_headertext-txline(40).
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=TXBA'.
CLEAR w.
ADD 1 TO w.
LOOP AT t_headertext FROM l_tabix_header_start.
Is t_bapiessrc-ext_number really filled?
IF t_headertext-ext_number NE t_bapiessrc-ext_number.
EXIT.
ENDIF.
ADD 1 TO w.
UNPACK w TO p.
CLEAR w_field.
w_field+00(17) = 'RSTXT-TXPARGRAPH('.
w_field+17(02) = p.
w_field+19(01) = ')'.
PERFORM bdc_field USING w_field t_headertext-txpargraph.
CLEAR w_field.
w_field+00(13) = 'RSTXT-TXLINE('.
w_field+13(02) = p.
w_field+15(01) = ')'.
PERFORM bdc_field USING w_field t_headertext-txline .
delete line from internal table so that Upload Texts is not
processed twice when perform_upload_texts is called without up-
loading services:
DELETE t_headertext.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPLMLSR' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SERV'.
PERFORM bdc_dynpro USING 'SAPLMLSP' '0210'.
PERFORM bdc_field USING 'BDC_OKCODE' 'ENTER'.
READ TABLE t_itemtext WITH KEY
ext_number = t_bapiessrc-ext_number.
l_tabix_item_start = sy-tabix.
CLEAR l_ext_line_save.
LOOP AT t_itemtext FROM l_tabix_item_start.
IF t_itemtext-ext_number NE t_bapiessrc-ext_number.
EXIT.
ENDIF.
SHIFT t_itemtext-ext_line RIGHT DELETING TRAILING space.
TRANSLATE t_itemtext-ext_line USING ' 0'.
IF ( t_itemtext-ext_line NE l_ext_line_save )
OR ( t_itemtext-ext_linno NE l_ext_linno_save ).
***find line number:
break michalska.
SELECT SINGLE extrow FROM ml_esll INTO l_extrow
WHERE extrow = t_itemtext-ext_linno
AND srvpos = t_itemtext-ext_line
AND ebeln = l_lblni.
IF NOT sy-subrc IS INITIAL.
CONTINUE.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLMLSP' '0210'.
PERFORM bdc_field USING 'BDC_OKCODE' 'ENTER'.
PERFORM bdc_field USING 'RM11P-NEW_ROW' l_extrow.
PERFORM bdc_dynpro USING 'SAPLMLSP' '0210'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ZLT'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ESLL-EXTROW(01)'.
PERFORM bdc_field USING 'RM11P-SELKZ(01)' 'X'.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=TXBA'.
CLEAR w.
ADD 1 TO w.
ENDIF.
ADD 1 TO w.
UNPACK w TO p.
CLEAR w_field.
w_field+00(17) = 'RSTXT-TXPARGRAPH('.
w_field+17(02) = p.
w_field+19(01) = ')'.
PERFORM bdc_field USING w_field t_itemtext-txpargraph.
CLEAR w_field.
w_field+00(13) = 'RSTXT-TXLINE('.
w_field+13(02) = p.
w_field+15(01) = ')'.
PERFORM bdc_field USING w_field t_itemtext-txline .
l_ext_line_save = t_itemtext-ext_line.
l_ext_linno_save = t_itemtext-ext_linno.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPLMLSP' '0210'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SAV'.
CALL TRANSACTION 'ML81' USING bdcdata MODE p_dismod UPDATE c_update
MESSAGES INTO bdcmsgcoll.
LOOP AT bdcmsgcoll.
IF sy-tabix = 1.
WRITE AT: /1 text-002,
write at: /1 'Log for text uploads of entry sheet ',
37 l_lblni, 48 ':'.
ENDIF.
check bdcmsgcoll-msgtyp = 'E' or bdcmsgcoll-msgtyp = 'A'.
CHECK bdcmsgcoll-msgnr CO ' 0123456789'.
MOVE bdcmsgcoll-msgnr TO l_msgno.
CALL FUNCTION 'WRITE_MESSAGE'
EXPORTING
msgid = bdcmsgcoll-msgid
msgno = l_msgno
msgty = bdcmsgcoll-msgtyp
msgv1 = bdcmsgcoll-msgv1
msgv2 = bdcmsgcoll-msgv2
msgv3 = bdcmsgcoll-msgv3
msgv4 = bdcmsgcoll-msgv4
IMPORTING
messg = l_messg.
WRITE AT: /3 l_messg-msgtx.
ENDLOOP.
ENDFORM. " UPLOAD_TEXTS
*& Form SPLIT_HEADERTEXT
FORM split_headertext.
DATA: l_essr_lblni LIKE essr-lblni.
CLEAR: t_headertext.
TRANSLATE doc_content-line USING '#;'. ZBAPIESSRC_CHARS
SPLIT AT '§' INTO
t_headertext-ext_number
t_headertext-linno
t_headertext-tcode
t_headertext-recordname
t_headertext-txpargraph
t_headertext-txline
t_headertext-text_mark.
start of insert >>>
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = t_headertext-linno
IMPORTING
output = t_headertext-linno.
end of insert <<<
IF cb_chck = 'X'.
SELECT SINGLE lblni FROM essr INTO l_essr_lblni
WHERE loekz = ' '
AND user1 = t_headertext-ext_number.
IF sy-subrc IS INITIAL.
IF t_headertext-linno = 1.
WRITE:/ 'External SES', t_headertext-ext_number,
'is already uploaded. SES-Number: ', l_essr_lblni.
WRITE: / 'No update of this sheet-texts was accomplished!'.
ENDIF.
EXIT.
ENDIF.
ENDIF.
start of insert >>>
IF NOT cb_serv IS INITIAL.
" check
READ TABLE t_bapiessrc WITH KEY ext_number = t_headertext-ext_number
BINARY SEARCH.
IF sy-subrc NE 0.
EXIT.
ENDIF.
ENDIF.
end of insert <<<
APPEND t_headertext.
ENDFORM. " SPLIT_HEADERTEXT
*& Form SPLIT_ITEMTEXT
FORM split_itemtext.
DATA: l_essr_lblni LIKE essr-lblni.
CLEAR: t_itemtext.
TRANSLATE doc_content-line USING '#;'. ZBAPIESSRC_CHARS
SPLIT AT '§' INTO
t_itemtext-ext_number
t_itemtext-ext_line
t_itemtext-linno
t_itemtext-tcode
t_itemtext-recordname
t_itemtext-txpargraph
t_itemtext-txline
t_itemtext-text_mark
t_itemtext-ext_linno.
start of insert >>>
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = t_itemtext-ext_linno
IMPORTING
output = t_itemtext-ext_linno.
end of insert <<<
IF cb_chck = 'X'.
SELECT SINGLE lblni FROM essr INTO l_essr_lblni
WHERE loekz = ' '
AND user1 = t_itemtext-ext_number.
IF sy-subrc IS INITIAL.
write:/ 'External SES', t_itemtext-ext_number,
'is already uploaded. SES-Number: ', l_essr_lblni.
write: / 'No update of this sheet was accomplished!'.
EXIT.
ENDIF.
ENDIF.
APPEND t_itemtext.
ENDFORM. " SPLIT_ITEMTEXT
start of delete >>>
*& Form SPOOL_SETTINGS
*FORM spool_settings.
MOVE p_spnam TO list_text.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING " destination = 'dest'
copies = 1
list_name = p_spnam
list_text = list_text
immediately = ' '
release = ' '
new_list_id = ' '
expiration = 9
line_size = 125
line_count = 23
layout = 'X_65_132'
sap_cover_page = ' '
receiver = 'SAP*'
department = 'System'
no_dialog = 'X'
IMPORTING
out_parameters = params
valid = valid.
IF valid <> space.
NEW-PAGE PRINT ON PARAMETERS params NO DIALOG.
ENDIF.
*ENDFORM. " SPOOL_SETTINGS
end of delete <<<
*& Form DELETE_FILES
text
--> p1 text
<-- p2 text
FORM delete_files.
*{ REPLACE PS010306UPGR
DATA: l_return.
DATA: l_return TYPE i.
DATA: fname TYPE string.
*} REPLACE
LOOP AT i_directory_sel.
move space to i_directory_sel-text(1).
MOVE 'X' TO i_directory_sel-text(1).
MODIFY i_directory_sel.
ENDLOOP.
*{ REPLACE
CLEAR i_directory_sel.
MOVE'Xdir_file.bat' TO i_directory_sel-text.
APPEND i_directory_sel.
CLEAR i_directory_sel.
MOVE'Xdir_file.txt' TO i_directory_sel-text.
APPEND i_directory_sel.
DATA: l_directory_list LIKE rlgrap-filename OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'KCD_FRONT_END_DIRECTORY_READ'
EXPORTING
i_path = p_path
TABLES
e_directory = l_directory_list
EXCEPTIONS
OTHERS = 6.
IF sy-subrc <> 0.
LOOP AT l_directory_list.
IF l_directory_list CS 'dir_file.bat'.
CLEAR i_directory_sel.
MOVE'Xdir_file.bat' TO i_directory_sel-text.
APPEND i_directory_sel.
ELSEIF l_directory_list CS 'dir_file.txt'.
CLEAR i_directory_sel.
MOVE'Xdir_file.txt' TO i_directory_sel-text.
APPEND i_directory_sel.
ENDIF.
ENDLOOP.
ENDIF.
CALL FUNCTION 'Z_SL018_POPUP_WITH_TEXT_TO_SEL'
EXPORTING
popup_title = 'Select Files for DELETION'
start_column = 10
start_row = 1
end_column = 50
end_row = 16
IMPORTING
sy_ucomm = sy-ucomm
TABLES
x_popuptext = i_directory_sel.
*Check which Files shall be uploaded:
CHECK sy-ucomm = 'OK'.
LOOP AT i_directory_sel.
CHECK i_directory_sel-text(1) = 'Y'.
CLEAR file.
CONCATENATE p_path i_directory_sel-text+1(31) INTO file.
*{ REPLACE PS010306UPGR
CALL FUNCTION 'WS_FILE_DELETE'
EXPORTING
FILE = FILE
IMPORTING
RETURN = L_RETURN.
fname = file.
CALL METHOD cl_gui_frontend_services=>file_delete
EXPORTING
filename = fname
CHANGING
rcHI
add that fileds in the all locations where you need it like
in internal table declaration , write statement , select statement
these are the main areas where you have to add that 2 fileds
Maybe you are looking for
-
Fastest and best external hard disks for video use with Imac?
What is the fastest and best external hard disks for video use with Imac (I believe it is currently not possible to use Esata on the Imac).
-
Is it possible for users to enter data on PDF forms?
I would like to use Crystal Reports to generate a PDF form with data from database; I am experienced with that. Here's the question -- Many of the fields will be populated from my database, but I would like to leave some fields blank for the user to
-
How do u turn the internet back on
my phone say that is not connected to the internet how do i turn it back on
-
Hw to delete variables (urgent)
hi gurus Help me hw 2 delete variables WArm REgards, kumar
-
CSM login Steps and Important thing to be observed
I need to Know about some basics of CSM. I am working network security part, i am new to this, as per my team i need to login CSM frequently. But still now i am not able to login. how to login it please provide me with snaps.. Actu