Split data into different fields in TR

I have a flat file with space (multiple spaces between different fields) as a delimiter. The problem is, file is coming from 3rd party and they don't want to change the separator as comma or tab delimited CSV file. I have to load data in ODS (BW 3x).
Now I am thinking to load line by line and then split data into different objects in Transfer rules.
The Records looks like:
*009785499 ssss BC sssss 2988 ssss 244 sss 772 sss  200
*000000033 ssss AB ssss        0  ssss   0 ssss 0 ssss 0
*000004533 ssss EE ssss        8  ssss   3 ssss 2 ssss 4
s = space
Now I want data to split like:
Field1 = 009785499
Field2 = BC
Field3 = 2988
Field4 = 244
Field5 = 772
Field6 = 200
After 1st line load, go to 2nd line and split the data as above and so on. Could you help me with the code pleaseu2026?
Is it a good design to load data? Any other idea?
I appreciate your helps..

Hi,
Not sure how efficient this is, but you can try an approach on the lines of this link /people/sap.user72/blog/2006/05/27/long-texts-in-sap-bw-modeling
Make your transfer structure in this format. Say the length of each line is 200 characters. Make the first field of the structure of length 200. That is, the length of Field1 in the Trans Struc will be 200.
The second field can be the length of Field2 as you need in your ODS, and similarly for Field3 to Field6. Load it as a CSV file. Since there are no commas, the entire line will enter into the first field of the Trans Structure. This can be broken up into individual fields in the Transfer Rules.
Now, in your Start Routine of transfer rules, write code like this (similar to the ex in the blog):
Field-symbols <fs> type transfer-structure.
Loop at Datapak assigning <fs>.
    split <fs>-Field1 at 'ssss' into <fs>-field1 <fs>-field2 <fs>-field3....
    modify datapak from <fs>
endloop.
Now you can assign Field1 of Trans Struc to Field1 of Comm Struc, Field2 of Trans Struc to Field2 of Comm Struc and so on.
Hope it helps!
Edited by: Suhas Karnik on Jun 17, 2008 10:28 PM

Similar Messages

  • Split dates into different shifts.

    Hello all,
    I'm trying to setup a query to get my date ranges into 8 hour shifts which start at 23:00, 07:00, and 15:00.
    create table t (start_date, end_date)
    insert into t values (to_date('11-21-12 21:02:15', 'MM-dd-yy HH24:MI:ss'), to_date('11-21-12 21:02:51', 'MM-dd-yy HH24:MI:ss'));
    insert into t values (to_date('11-21-12 21:09:06', 'MM-dd-yy HH24:MI:ss'), to_date('11-24-12 23:30:18', 'MM-dd-yy HH24:MI:ss'));
    insert into t values (to_date('11-24-12 23:35:28', 'MM-dd-yy HH24:MI:ss'), to_date('11-24-12 23:49:34', 'MM-dd-yy HH24:MI:ss'));Desired output:
    START_DATE        | END_DATE
    11-24-12 23:35:28 | 11-24-12 23:49:34
    11-24-12 23:00:00 | 11-24-12 23:30:18
    11-24-12 15:00:00 | 11-24-12 23:00:00
    11-24-12 07:00:00 | 11-24-12 15:00:00
    11-23-12 23:00:00 | 11-24-12 07:00:00
    11-23-12 15:00:00 | 11-23-12 23:00:00
    11-23-12 07:00:00 | 11-23-12 15:00:00
    11-22-12 23:00:00 | 11-23-12 07:00:00
    11-22-12 15:00:00 | 11-22-12 23:00:00
    11-22-12 07:00:00 | 11-22-12 15:00:00
    11-21-12 23:00:00 | 11-22-12 07:00:00
    11-21-12 21:09:06 | 11-21-12 23:00:00
    11-21-12 21:02:15 | 11-21-12 21:02:51Version:
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    Is this possible?
    Thanks in advance!

    Hi,
    Tarianz wrote:
    ... How would I go about adding another column into this?
    I've been messing around with the query trying to add it myself but have been unsuccessful.
    Similar to:
    *ID is the order the dates were inserted into the table.
    ID| START_DATE        | END_DATE
    3| 11-24-12 23:35:28 | 11-24-12 23:49:34
    2| 11-24-12 23:00:00 | 11-24-12 23:30:18
    2| 11-24-12 15:00:00 | 11-24-12 23:00:00 ...
    That sounds like a job for the analytic ROW_NUMBER function.
    ROW_NUMBER () OVER (ORDER BY x, y, z)     AS t_id   -- id is an Oracle keywordwhere x, y and z are the columns or expressions that indicate the order you want. You can have any number of such expressions (1 or more), and you can use <b>DESC</b>ending order if you want to.
    If the combination (x, y, z) is not unique, that is, if 2 or more rows were added at the same time, then ROW_NUMBER will give them distinct numbers, but there's no telling which number will be lower.
    You need to do this when first using table t, before the rows are split into shifts. In the query I suggested, you could add the expression above in sub-query got_shift_num.
    So if the rows were INSERTed into the table in the same order as start_date, then you could do this:
    WITH     got_base_date     AS
         SELECT     TRUNC (SYSDATE) + (7 / 24)     AS base_date
         FROM     dual
    ,     got_shift_num     AS
         SELECT     t.start_date, t.end_date
         ,     b.base_date
         ,     FLOOR ( (t.start_date - b.base_date)
                    * 3
                    )          AS start_shift_num
         ,     FLOOR ( (t.end_date - b.base_date)
                    * 3
                    )          AS end_shift_num
         ,     ROW_NUMBER () OVER (ORDER BY t.start_date)     -- ***** NEW *****
                           AS t_id                         -- ***** NEW *****
         FROM    got_base_date  b
         CROSS JOIN            t
    ,     cntr     AS
         SELECT  LEVEL - 1     AS n
         FROM     (
                  SELECT  MAX ( end_shift_num
                                - start_shift_num
                        )     AS max_shift_cnt
                  FROM    got_shift_num
         CONNECT BY     LEVEL <= 1 + max_shift_cnt
    SELECT       s.t_id                              -- ***** NEW *****
    ,       GREATEST ( s.start_date
                   , s.base_date + ( ( s.start_shift_num
                                  + c.n
                           / 3
                 )     AS shift_start_date
    ,       LEAST    ( s.end_date
                   , s.base_date + ( ( s.start_shift_num
                                  + c.n
                             + 1
                           / 3
                 )     AS end_start_date
    ,       start_date, end_date          -- For debugging
    FROM       got_shift_num  s
    JOIN       cntr           c  ON c.n  <= s.end_shift_num - s.start_shift_num
    ORDER BY  shift_start_date  DESC
    ;This is exactly what I posted yesterday, only with 3 lines, marked "***** NEW *****", added.
    You could modify Solomon's suggestion, using ROW_NUMBER in sub-query a.

  • Read line and split into different fields

    I have a flat file with space (multiple spaces between different fields) as a delimiter. The problem is, file is coming from 3rd party and they don't want to change the separator as comma or tab delimited CSV file. I have to load data in ODS (BW 3x).
    Now I am thinking to load line by line and then split data into different objects in Transfer rules.
    The Records looks like:
    *009785499     BC               2988              244        772       200
    *000000033     AB                     0                  0            0           0
    *000004533    EE                     8                  3            2           4
    Now I want data to split like:
    Field1 = 009785499
    Field2 = BC
    Field3 = 2988
    Field4 = 244
    Field5 = 772
    Field6 = 200
    After 1st line load, go to 2nd line and split the data as above and so on. Could you help me with the code pleaseu2026?
    Is it a good design to load data? Any other idea?
    Thanks.

    Hi Mau,
    First capture the data into the internal table (say itab).
    Loop at itab.
      it_final-field1 = itab+1(9).
      it_final-field2 = itab+12(2).
      it_final-field1 = itab+16(4).
      it_final-field1 = itab+21(3).
      it_final-field1 = itab+25(3).
      it_final-field1 = itab+29(3).
      Append it_final.
    Endloop.
    &*********** Reward Point if helpful**********&

  • How do I insert multiple values into different fields in a stored procedure

    I am writing a Stored Procedure where I select data from various queries, insert the results into a variable and then I insert the variables into final target table. This works fine when the queries return only one row. However I have some queries that return multiple rows and I am trying to insert them into different fields in the target table. My query is like
    SELECT DESCRIPTION, SUM(AMOUNT)
    INTO v_description, v_amount
    FROM SOURCE_TABLE
    GROUP BY DESCRIPTION;
    This returns values like
    Value A , 100
    Value B, 200
    Value C, 300
    The Target Table has fields for each of the above types e.g.
    VALUE_A, VALUE_B, VALUE_C
    I am inserting the data from a query like
    INSERT INTO TARGET_TABLE (VALUE_A, VALUE_B, VALUE_C)
    VALUES (...)
    How do I split out the values returned by the first query to insert into the Insert Statement? Or do I need to split the data in the statement that inserts into the variables?
    Thanks
    GB

    "Some of the amounts returned are negative so the MAX in the select statement returns 0 instead of the negative value. If I use MIN instead of MAX it returns the correct negative value. However I might not know when the amount is going to be positive or negative. Do you have any suggestions on how I can resolve this?"
    Perhaps something like this could be done in combination with the pivot queries above, although it seems cumbersome.
    SQL> with data as (
      2        select  0 a, 0 b,  0 c from dual   -- So column a has values {0, 1, 4},
      3  union select  1 a, 2 b, -3 c from dual   --    column b has values {0, 2, 5},
      4  union select  4 a, 5 b, -6 c from dual ) --    column c has values {0, -3, -6}.
      5  --
      6  select  ( case when max.a > 0 then max.a else min.a end) abs_max_a
      7  ,       ( case when max.b > 0 then max.b else min.b end) abs_max_b
      8  ,       ( case when max.c > 0 then max.c else min.c end) abs_max_c
      9  from    ( select  ( select max(a) from data ) a
    10            ,       ( select max(b) from data ) b
    11            ,       ( select max(c) from data ) c
    12            from      dual ) max
    13  ,       ( select  ( select min(a) from data ) a
    14            ,       ( select min(b) from data ) b
    15            ,       ( select min(c) from data ) c
    16            from      dual ) min
    17  /
    ABS_MAX_A  ABS_MAX_B  ABS_MAX_C
             4          5         -6
    SQL>

  • Error by inserting data into a field of datatype LONG

    Hi,
    When inserting data into a field of datatype long in oracle8 database via SQL Plus or SQL worksheet there occurs the following error message: "field in data file exceeds the maximum length".
    If I access to the database from a selve written program via odbc there is no problem when inserting the data by the same sql statement.
    So what can I do?
    Thanks in advance!
    Juergen

    What does your SQL statement look like?

  • Export transnational data into different client

    Dear All Expertise's,
    For our Management Audit purpose we have needed urgently copy all FI transnational data into different client in particular year.
    As an example:
    Source Client:   888
    Target client: 700
    Company: 1000
    Year: 2013
    FI Documents type: All
    Please help me to get the solution use form your great advice.
    SCC8/SCC7 can give us copy all records client to client. But we need only specific company/periods.
    Thanks and Best regards
    Bishnu
    05.05

    I post the VI. Thanks!
    Attachments:
    j k thermocouple.vi ‏151 KB

  • SegregatingTable data into different bucket with equal numebr of

    Hi Guys,
    I wanted to process table data in chunks not all the rows at a time. How can we achieve this in oracle.
    Example :
    I have one table EMP which has ten thousands rows(10,000) rows. Now these ten thousands rows are joined with other tables to process data and it takes time. So I wanted to pass one thousands rows at a time as an input to the procedures so that processing should happen only with 1 thousands rows at a time. This table does not have any primary key. So it there any method in oracle using that I can segregating the tables data into different buckets with equal number of rows.
    I have used DBMS_PARALLEL_EXECUTE but its taking lots of time. Any help will be appreciated.

    I have one table EMP which has ten thousands rows(10,000) rows. Now these ten thousands rows are joined with other tables to process data and it takes time.
    OK... So this is your actual problem. And the solution you are trying to come up with does not sound promising. So lets take a step back and re-think our strategy here. First thing would be how about we see some code? Show us your code that you say is running slow. And we can take it from there. The number 10,000 is a very small number. And if that is causing performance issue then you are in some big trouble.
    And also it wouldn't hurt if you could read this Re: 3. How to  improve the performance of my query? / My query is running slow.

  • Preferance pane window keeps popping open when entering search or data into any fields. I'm also using 1Password and it happens when trying to enter a password

    I'm running on Mac OS X 10.7.4, Firefox 14.0.1. This issue didn't exist until this most recent Firefox update. Basically, a preference pane opens every time data is being entered into a field. It doesn't seem to be the same preference pane that you see when you open the preferences through the normal Firefox access ie. Firefox > Preferences. All of the choices listed in this particular preference pane are specific to Firefox though. I have a screen capture that I could include if wanted. When using 1Password the pane appears, when entering a search in the search bar near the address bar the pane pops up, when entering data into any field as I am now filling in this detail report the pane also pops up. It's quite annoying. Any advice? I'm going to systematically attempt to quit any add-ons and see if that makes a difference. I ave already tried doing a reinstall to no avail.

    I think a screen shot would be helpful. There is a box below the compose area of a reply to upload files.

  • Populating data into a field on selection screen

    hi alll..........
    my query is how to populate data into a field in a selection screen which has help on value request....
      suppose ..  there is a field in the standard selection screen with name kunnr which has help on value request option and is done as a list box. now i want to populate data from kna1-kunnr to this field....
    how can i do it....
                                                           urs friendly...
                                                       prashanth

    You have to call the FM F4IF_INT_TABLE_VALUE_REQUEST to show the F4
    F4IF_INT_TABLE_VALUE_REQUEST
    https://forums.sdn.sap.com/click.jspa?searchID=6971766&messageID=3699312
    F4IF_INT_TABLE_VALUE_REQUEST

  • How to display rows of data into different columns?

    I'm new to SQL and currently this is what I'm trying to do: 
    Display multiple rows of data into different columns within the same row
    I have a table like this:
        CREATE TABLE TRIPLEG(
            T#              NUMBER(10)      NOT NULL,
            LEG#            NUMBER(2)       NOT NULL,
            DEPARTURE       VARCHAR(30)     NOT NULL,
            DESTINATION     VARCHAR(30)     NOT NULL,
            CONSTRAINT TRIPLEG_PKEY PRIMARY KEY (T#, LEG#),
            CONSTRAINT TRIPLEG_UNIQUE UNIQUE(T#, DEPARTURE, DESTINATION),
            CONSTRAINT TRIPLEG_FKEY1 FOREIGN KEY (T#) REFERENCES TRIP(T#) );
        INSERT INTO TRIPLEG VALUES( 1, 1, 'Sydney', 'Melbourne');
        INSERT INTO TRIPLEG VALUES( 1, 2, 'Melbourne', 'Adelaide');
    The result should be something like this:
    > T#  | ORIGIN  | DESTINATION1  |  DESTINATION2 
    > 1   | SYDNEY  | MELBORUNE     | ADELAIDE
    The query should include the `COUNT(T#) < 3` since I only need to display the records less than 3. How can I achieve the results that I want using relational views???
    Thanks!!!

    T#
    LEG#
    DEPARTURE
    DESTINATION
    1
    1
    Sydney
    Melbourne
    1
    2
    Melbourne
    Adelaide
    1
    3
    Adelaide
    India
    1
    4
    India
    Dubai
    2
    1
    India
    UAE
    2
    2
    UAE
    Germany
    2
    3
    Germany
    USA
    On 11gr2, you may use this :
      SELECT t#,
             REGEXP_REPLACE (
                LISTAGG (departure || '->' || destination, ' ')
                   WITHIN GROUP (ORDER BY t#, leg#),
                '([^ ]+) \1+',
                '\1')
        FROM tripleg
        where leg#<=3
    GROUP BY t#;
    Output:
    1 Sydney->Melbourne->Adelaide->India
    2 India->UAE->Germany->USA
    Cheers,
    Manik.

  • I am looking for a way to enter multiple dates into a field without the form becoming too long.

    I am looking for a way to enter multiple dates into a field without the form becoming too long.
    This will be used by an old school bookeeper who needs the form to fit on one page.
    Any ideas?

    Hi,
    If you don't need the field to provide a date picker, verify it's a date, or don't need to sort the dates in the table, you can just use a text area field, and have your form filler enter the dates comma separated.  Otherwise you'd have to add multiple fields.  However, you can lessen the space each field takes up veritically, by using the "Labels Left" option (in the toolbar).
    Thanks,
    Todd

  • Can we send the data into different data target from single datasource how

    Hai
    can we send the data into different data target from single datasource how ?

    Hi,
    Create the transformation for each target and connect through DTP if you are in BI 7.0
    If it is BW 3.5 create transfer rules and load it Info source and then different update rules for different targets then load it using IP.
    If you are speaking about loading data from R3 data source to multiple data sources in BI
    Then follow the below step.
    1)create init IP's and run the IP's with different selection to different DSO(With same selection it is not possible).
    2)Then you will have different delta queues for the same data source in RSA7
    3)Your delta loads will run fine to different data sources from same DS in R3.
    Hope this helps
    Regards,
    Venkatesh

  • How to do Cost Cenetr Translation into Different fields

    Hi Gurus,
    I have a requirement wherein we need to translate Cost Centers and Cost element combinations to some specific values. And these values might chnage over a period of time for eg. CC-CE XYZ-123 goes to Process name ABC in 2011 but in 2012 the smae combination goes to Process DEF. How can I achieve it.
    Important point- We cannot change the old data so in 2012 if someone wnats to run the report for this combination it should show process ABC only and not Process DEF?
    Can anyone please suggest something.
    Regards!

    You mean the user enters comma separated data into a single APEX item (let's say PXX_COLOR) and your report is built on a SQl statement like
    SELECT ....
    FROM MYTABLE
    WHERE ((COLOUR1 = :PXXX_COLOR1)
    AND (COLOUR2 = :PXX_COLOR2)
    AND (COLOUR3 = :PXX_COLOR3)
    AND ...)
    where XX is your APEX page number?
    If so, you need a PL/SQL procedure that splits the PXX_COLOR item at the commas into separate pieces and sets each of the PXX_COLOR fields in turn. I have a standard procedure I use for getting the nth delimited item from a string (get_token) - code can be found here, but it's easy to write your own.
    Using the get_token function you'd have a PL/SQL process like:
    DECLARE
      l_color VARCHAR2(50);
      l_index INTEGER := 1;
    BEGIN
      l_color := get_token(:PXX_COLOR,l_index);
      WHILE (l_color IS NOT NULL)
      LOOP
        apex_util.set_session_state('PXX_COLOR' || TO_CHAR(l_index),l_color);
        l_index := l_index + 1;
        l_color := get_token(:PXX_COLOR,l_index);
      END LOOP;
    END;This sets each of the separate hidden APEX items which should then be available in the SQL WHERE clause when the page reloads.
    Roger

  • Facing problem in getting data in different field

    hi,
    i have made a report in ALV format. n the whole code is this..
    TABLES: VBAK,vbap.
    type-pools: slis.       "ALV Declarations
    SELECT-OPTIONS:
    s_sales   for    vbak-kunnr    obligatory,
    s_date    for    VBAK-audat    obligatory.
    *Data Declaration
    types: begin of s_sales,
      kunnr like vbak-kunnr,
      ernam like VBRP-ernam,
      audat like VBAK-audat,
      aufnr like VBAK-aufnr,
      KBMENG like vbap-KWMENG,
      matnr like vbap-matnr,
      matwa like vbap-matkl,
      end of s_sales.
    DATA: IT_VBAKUK TYPE STANDARD TABLE OF s_sales INITIAL SIZE 0,
          WA_sales TYPE s_sales.
    *ALV data declarations.
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
          gd_tab_group type slis_t_sp_group_alv,
          gd_layout    type slis_layout_alv,
          gd_repid     like sy-repid.
    *start-of-selection.
    START-OF-SELECTION.
      perform data_retrieval.
      perform build_fieldcatalog.
      perform build_layout.
      perform display_alv_report.
    *&      Form  build_fieldcatalog
          text
    form build_fieldcatalog.
      fieldcatalog-fieldname   = 'KUNNR'.
      fieldcatalog-seltext_m   = 'Customer Code'.
      fieldcatalog-col_pos     = 1.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'ernam'.
      fieldcatalog-seltext_m   = 'Customer Name'.
      fieldcatalog-col_pos     = 2.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'stadat'.
      fieldcatalog-seltext_m   = 'Order Date'.
      fieldcatalog-col_pos     = 3.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'aufnr'.
      fieldcatalog-seltext_m   = 'Order No'.
      fieldcatalog-col_pos     = 4.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'KWMENG'.
      fieldcatalog-seltext_m   = 'Quantity'.
      fieldcatalog-col_pos     = 5.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'matnr'.
      fieldcatalog-seltext_m   = 'Material Code'.
      fieldcatalog-col_pos     = 6.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'matkl'.
      fieldcatalog-seltext_m   = 'Material Description'.
      fieldcatalog-col_pos     = 7.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    endform.                    "build_fieldcatalog
    *&      Form  build_layout
          text
    form build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
    endform.                    "build_layout
    *&      Form  display_alv_report
          text
    form display_alv_report.
      gd_repid = sy-repid.
      call function 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = gd_repid
          is_layout          = gd_layout
          it_fieldcat        = fieldcatalog[]
          i_save             = 'X'
        TABLES
          t_outtab           = IT_VBAKUK
        EXCEPTIONS
          program_error      = 1
          others             = 2.
      if sy-subrc <> 0.
      endif.
    endform.                    " DISPLAY_ALV_REPORT
    *&      Form  data_retrieval
          text
    form data_retrieval.
      select vbakkunnr VBakernam VBAkaudat vbakaufnr vbapKWMENG vbapmatnr vbap~matkl
      up to 10 rows
        from vbak inner join vbap on vbakvbeln = vbapvbeln
        into table IT_VBAKUK.
    endform.                    "data_retrieval
    When a execute this query it get this result:
    Customer code Customer No. Order Date      *Order No. *        *Quantity *        Material code  Material Description
    0000001390     0000001390     0000001390     0000001390     0000001390     0000001390     0000001390
    0000001175     0000001175     0000001175     0000001175     0000001175     0000001175     0000001175
    0000001175     0000001175     0000001175     0000001175     0000001175     0000001175     0000001175
    0000001175     0000001175     0000001175     0000001175     0000001175     0000001175     0000001175
    0000001175     0000001175     0000001175     0000001175     0000001175     0000001175     0000001175
    0000001001     0000001001     0000001001     0000001001     0000001001     0000001001     0000001001
    0000002200     0000002200     0000002200     0000002200     0000002200     0000002200     0000002200
    0000002200     0000002200     0000002200     0000002200     0000002200     0000002200     0000002200
    0000002200     0000002200     0000002200     0000002200     0000002200     0000002200     0000002200
    0000002200     0000002200     0000002200     0000002200     0000002200     0000002200     0000002200
    You can see in all column data is repeating even tough i have given different field name...
    Kindly give me solution of this problem.
    Thanks n Regards.

    hi,
    i have these field:
    *select VBAK~KUNNR VBAK~ERNAM VBAK~AUDAT VBAK~AUFNR VBAP~KWMENG VBAP~MATNR VBAP~MATKL
      up to 10 rows
        from VBAK inner join VBAP on VBAK~VBELN = VBAP~VBELN
        into table IT_VBAKUK.
    endform.*
    I want to add these field in my parameter by using WHERE clause but don't know how to restrict these field using where clause.
    Kindly give me some example related to this.
    Regards

  • Splitting date into year and month

    Hi,
       I am getting it_final-bedat (dd.mm.yyyy).I need to split month as well as year in separate fields
    in the internal table.tell some ideas.

    hi badri , try this program , hope this is u r requirement
    data : BEGIN OF itab OCCURS 0 ,
           pernr like  pa0001-pernr,
           begda like  pa0002-begda,
          END OF itab .
    data : BEGIN OF itab2 OCCURS 0 ,
           pernr like  pa0001-pernr,
           d_date type c LENGTH 2  ,
           d_month type c length 2,
           d_year  type c length 4 ,
          END OF itab2 .
    select pernr begda from pa0001 into CORRESPONDING FIELDS OF TABLE itab WHERE pernr eq 1000.
    loop at itab WHERE pernr eq 1000 .
    clear itab2[].
        itab2-pernr = itab-pernr.
        itab2-d_year = itab-begda+0(4).
        itab2-d_month = itab-begda+4(2).
        itab2-d_date = itab-begda+6(2).
        append itab2.
        write :/ itab2-pernr,
                 itab2-d_date,
                 itab2-d_month,
                 itab2-d_year.
        endloop .
    regards
    chinnaiya

Maybe you are looking for

  • Step-by-step Java card

    Does anyone can tell me how to program Javacard Step-by-step....and what tools we can use to program it. thanks...

  • Photo quality horrible due to dissolve transition

    Hi, I am making a slideshow in Imovie for my son's baseball team. The pics I've shot are all super high resolution, but I inserted dissolve transitions between them and now the pictures are no longer sharp and have digitized edges. They looked great

  • Exchange / ActiveSync - Works for a day or so, then stops

    I've had my iPhone 3G since launch and have configured it to work with my Exchange 2003 server utilizing activesync at work. It will connect and sync fine for a day or so, however then it will start giving me a "cannot get mail" "cannot connect to se

  • List component with suboptions

    Is it possile to have a List component in Flash CS5-AS3 that has options and suboptions (and even sub-suboptions)-sort of like a vertical menu? I've searched here in the fourm but have not found any info on this. Any sample site or tutorial? Thanx

  • How to get music from someone else's itunes library onto your

    How to get music from someone else's itunes library onto your