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,
    Phil

    It 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,
    Larry

    I 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:20

    Hi 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

  • Apple Configurator Sync Loop

    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.

  • Adding a field in a report

    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
            rc  

    HI
    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