R/3 Extraction by using LO CockPit

Hi Gurus,
I have a requirement to extract the huge volume of data from R/3 SD billing Tables in to BW.We have data from 1999 to Till date.What would be the best approach to get all data in to BI side.I am still little bit in confusion how to fill the set up tables either at once or deviding in to History and Current data like from 1999 to December 31 2006 as a History data and Jan 1st 2007 to Till date as a current .Like that can I run 2 setups to initialize the set up tables.If so what would be the effect on Delta load.If any changes happend in history data how would come in to BW side.I have my own doubts on this process.
I tried in Development box as follows.I extracted all data from R/3 to BW and loaded to DSO and InfoCube by using LoCokpit.I filled setup tables and extracted to BW system.Now I tried to Fill the setup table only one document with Different name of Run and execute in the background it's not accepting to run and saying that DataSource  contains data still to be Transferred.Could any one have the same experienced before.
Thanks,
Vamsi.

hi,
1.I need to fill the setup table with History data say from 1999 to 2006 by creating multiple setup loads and Ran background in parallel.Then create multiple init packages and load the data up to PSA.Then from PSA to ODS apply DTP with Delta or Full load(Which one is best for my case,please through some light) .From DSO to Cube also either Delta or Full load.
Ans - PSA to DSO use delta based on request and DSO to cube - use delta dtpbased on request, until all the history data is loaded. then unchk the delta based on request option.
2.Then I need to delete the setup tables(History data) and fill them with Current data say from 2007 to Till date.Once I have the data in RSA3.Then In BW side I need to delete old PSA request and edit the existing InfoPackages with different selections(here I have doubt regarding delta for History data) either based on year or document range and run the InfoPackage with init.
no need to delete the PSA now,just load new init also,later u can delete the PSA.
3.Once I done with all loading of data in to Cube,then I need to create Delta Infopackage to get upto PSA.Here onwards,just I need to run existing DTP with Delta update mode or Do I need to create one more DTP to pick delta.I believe there is no need to create one more DTP for delta .
Is the above procedure correct?if not please rectify my mistakes.
Ans - yes u r rite, but no need to create the new dtp, use old delta dtp itself for delta loads also.
u can have only one dtp between a datasource and target.
Ramesh

Similar Messages

  • How to find tables from extracted data using lo cockpit

    I have extracted data form 2lis_02_scl using Lo cockpit and replicated in sap bw.
    Now i want to know from which tables the data was extracted .pls giv info.
    Thanks in advance.
    Regards,
    Hari Reddy

    One quick way - search Help.
    Tables are EKKO, EKPO, EKET , EKPA
    http://help.sap.com/saphelp_nw70/helpdata/en/8d/bc383fe58d5900e10000000a114084/content.htm

  • Regarding extraction using LO cockpit

    We need to extract data from GL Accounting(eg. datasource like 0FI_GL_10) using LO cockpit. We have activated the above datasource using RSA5. Where is this datasource available in "LBWE" at the R3 side?

    Hi JADA AMITH KUMAR,
    If ur using any FI Datasources for Extraction no need to goto LBWE Transaction, Why bcoz there is no set-up tables for FI datasources.
    what u have to do in R/3 is:
    1. Activate the Datasorces by using RSA5 Transaction code.
    2. Check those Datasources In RSA6 Transaction code.
    3. Check the data in the Extract checker RSA3.
    BW SIDE:
    1. Replicate the Datasources & Assain the datasources.
    No need to fill the set-up Tables for FI datasources***
    No set-up Tables for FI Datasources***.
    For FI( Finanace) need not to use LBWQ,LBWE...
    Thanks,
    kiran.
    IF HELP FULL ASAIN THE POINTS***
    Message was edited by:
            kiran manyam

  • Extraction using LO-Cockpit

    hello,
    i am new to BW.can anyone tell me procedure of extracting SD and MM data from R/3 to BW using LO-Cockpit.
    Thanks in advance.
    suki

    Hi Suki,
    take a look to https://websmp204.sap-ag.de/bw ->  Documentation -> Business Content Documentation -> Extracting Sales and Distribution Transaction Data - vers. 2 and 2.0B Extraction of Logistics Transaction Data and 2.0B Extracting MM (Purchasing) Transaction Data (even if for old releases, these info are still good!!!)
    If you do a little search inside these forums I think you will find a lot !
    Hope it helps!
    (and since you are new, welcome and don't forget to reward the answers through the radio-button!)
    Bye,
    Roberto

  • Problem is occurring in docx format; it is not printing "New Line" character in extracted txt using IFilter (offfiltx.dll) while with doc file IFilter (OffFilt.dll) is working fine.

    Problem: Problem
    is occurring in docx format; it is not printing “New Line” character in extracted txt using IFilter (offfiltx.dll) while with doc file IFilter (OffFilt.dll) is working fine.
    Environment: -
    Operating
    System:
    Windows XP SP2/7
    Language:
    C#
    MS
    Office Version: - MS Office 2007/2010/2013
    Problem
    Description: -
    We
    havedocx
    file with new line character, and we are processing this file in IFilter for extracting text, and it is giving output with concatenation of lines.
    Docx
    file format (Sample.docx)
    Test this music
    Word processing
    Testing docx file
    Output:
    - Test this music Word processing Testing docx file
    Requirement:
    - We
    have requirement to get following text in particular format with New Line from docx because client is using docx format only.
    Test this music
    Word processing
    Testing docx file
    Attempt:
    We have tried a lot after changing IFilter configuration,
    but it is not giving required output. Then we saved same file in doc format (Sample.doc), which is giving required output.
    Because it is application specific problem, kindly
    assist to resolve issue on priority. We are sharing IFilter paths for extracting text for doc and docx.
    Doc Filter Location: - %systemroot%\system32\OffFilt.dll
    Docx Filter Location: - <Drive>:\PROGRA~1\COMMON~1\MICROS~1\Filters\offfiltx.dll
    Code Snippet for setting property of filter
    internal static IFilter LoadAndInitIFilter(string fileName, string extension)
                IFilter filter
    = LoadIFilter(extension);
                if (filter
    == null)
                    return null;
                IPersistFile persistFile
    = (filter as IPersistFile);
                if (persistFile
    != null)
    persistFile.Load(fileName, 0);
                    IFILTER_FLAGS flags;
                    IFILTER_INIT iflags
    =
                                IFILTER_INIT.CANON_HYPHENS
    |
                                IFILTER_INIT.CANON_PARAGRAPHS
    |
                                IFILTER_INIT.CANON_SPACES
    |
                                IFILTER_INIT.APPLY_INDEX_ATTRIBUTES
    |
                                IFILTER_INIT.HARD_LINE_BREAKS
    |
                                IFILTER_INIT.FILTER_OWNED_VALUE_OK;
                    if (filter.Init(iflags,
    0, IntPtr.Zero, out flags)
    ==IFilterReturnCode.S_OK)
                        return filter;
                Marshal.ReleaseComObject(filter);
                return null;
    Kindly
    assist to resolve this issue and also let us know if any input is required.
    For any help, we would be really
    thankful.

    Kindly
    assist to resolve this issue and also let us know if any input is required.
    For any help, we
    would be really thankful.

  • How to get the Benefits Rate multiplier value in HCM extract ? used Extract rule type Fastfomula, but returns null.

    how to get the Benefits Rate multiplier value in HCM extract ? used Extract rule type Fastfomula, but returns null.
    Formula:
    DEFAULT FOR BEN_ABR_NAME IS 'NA'
    DEFAULT FOR l_rate_multiplier IS 'X'
    L_BG_ID = GET_CONTEXT(BUSINESS_GROUP_ID, 1)
    L_EFF_DATE = GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00'))
    L_ABRT_ID = GET_CONTEXT(ACTY_BASE_RT_ID, 9999)
    CHANGE_CONTEXTS(EFFECTIVE_DATE = L_EFF_DATE, BUSINESS_GROUP_ID = L_BG_ID, ACTY_BASE_RT_ID = L_ABRT_ID )
    l_rate_multiplier = BEN_ABR_NAME
    RETURN l_rate_multiplier

    I used DBI - BEN_ABR_NAME.
    What is back end query ? can we use query to extract the value in Extracts ?

  • Extract all used symbols in column

    Hi all,
    I've got varchar2 column where users can type all desired symbols. My need is to extract all used symbols (suppresing doubles).
    select 'abcabcd123.,,,,%' from dual union all
    select 'qqwwweabcabcd123.,,,,%' from dual My need is to extract "abcdeqw123.,%".
    How do I perform it?

    A list of used symbols could be extracted like this:
    SQL> ed
    Wrote file afiedt.buf
      1  with test as (
      2  select 'abcabcd123.,,,,%' txt from dual union all
      3  select 'qqwwweabcabcd123.,,,,%' txt from dual
      4  )
      5  --
      6  -- end of testdata
      7  --
      8  select
      9  character,
    10  count(*)
    11  from (
    12     select
    13     substr(test.txt,dummy.col,1) character
    14     from test
    15     join (
    16        select level col
    17        from dual
    18        connect by level <= 40
    19     ) dummy
    20     on (
    21        dummy.col <= length(test.txt)
    22     )
    23  )
    24  group by character
    25* order by character
    SQL> /
    C   COUNT(*)
    %          2
    ,          8
    .          2
    1          2
    2          2
    3          2
    a          4
    b          4
    c          4
    d          2
    e          1
    q          2
    w          3
    13 rows selected.Change *40* to the maximum length of your column.
    Will this suffice to get your list of used symbols? Or do you need it to be in one string?

  • Issue while extracting data using Gen DS of Type Infoset Query

    Hi All,
    We have a Generic Data source created using the Infoset query. I get some data discrepency when i am extracting the data with the same DS. The data for the Field Amount in the R3 and the PSA  is different. When i try to check the same using the RSA3 T-Code i am unable to execute the Gen DS in R3 production where as its working fine in R3 Dev, and i am able to execute the other DS in the R3 production using the RSA3 T-code.
    My concerns ::--
    1. if the DS is working fine in R3 Dev in RSA3 the y i am facing the problem in Production.
    2. Y i am getting the different data in R3 and PSA since PSA shuld be the replicate of R3?
    3. How can i resolve this problem.??
    Thanks in Advance
    Regards

    Thanks venkat,
    I am having the authorization to execute the query in R3 production, As  i am able to execute the other DS in RSA3 . But not able to execute this DS i had also checked it is active n working fine when loading the Data.
    There is only one routine ie to transfer rule  from lower to upper of a char value.
    As der r routines in Update Rule but i have to get the same data in PSA which is der in R3.
    The Routine of Update Rules will be executed when loading the data to the Targets right so the data may b vary in Data targets but y i am getting different data in PSA .
    Pls thru some light.
    Regards

  • Error while extracting data using function module

    Hello,
    I created one generic datasource and i want to extract data with the option "Extraction by Function Module".
    But when i specified function module name and was trying to save, it thrown a error message saying
    'The specified table does not exist'.
    What could be the reason?
    Please help me out.
    Thanks,
    Regards,
    Steve

    Hi Steve,
       Once you execute T.Code RSO2, you need to fill in the details and click Create, specify the Appl. Component and in Extraction by Function Module, give Function Module name and Extrct Structure in the given boxes.
    "This structure is used by a DataSource that was created using the transaction RSO2 (generic extraction) and selects data using a function module.
    The data must be transferred from this function module to an interface table E_T_DATA."
    I'll try to comeup with small piece of code to sort your issue.
    Hope it helps!!!!
    Amit

  • Change of sign while extracting data using Open hub

    Hello All,
    We are extracting data from Info cube to a file in the application server using Open hub.
    While extracting data, if there is any negative value for the key figure, negative sign is appending on the right side of the value(Eg: "123.67-"), which is the standard behaviour but I want the sign to be on the left side of the value (Eg: "-123.67") while extracting to the file at application server.
    Could any one please let me know if there is any setting to do this change ?
    Thanks in advance

    Hi,
    Changing the SIGN position from one side of the NUMBER to the other side can happen in following ways.
    1) After the file is place in the application server. Deploy a OS SCRIPT file (for .csv) for obtaining the required changes to the required COLUMN [Basis team will have more idea on this]
    2)This is time consuming idea. well deploy a routine at the Open hub -Infospoke level.
    Regards

  • Extracting OBJECTGUID using DBMS_LDAP package

    Hi,
    My final goal of this exercise is to search a LDAP for an objectGUID and get the sAMAccountName of the user.
    But to get the things started I'm trying the easier way and doing the reverse..
    But when I extract objectGUID by searching for sAMAccountName in LDAP - I get the objectguid in the following two formats.
    1. utl.cast_to_raw(substr(temp_vals(i),1,200)): 7E0C3F3F3F3F3F31333F783F
    2. substr(temp_vals(i),1,200) : ~ ?????13?x?
    But I would like to extract the GUID in the escaped format \7e\0c\3f\3f.................... format and which is 48 characters long. Can someone point me in the right direction as to how I can achieve my result both ways.??
    Thanks in Advance
    Any Pointers will be appreciated!!

    Thanks Justin and Billy for your replies..
    Here is the code I'm using. As mentioned earlier I would like to obtain my results in escaped format e.g. (\a6\53\6d\40\03\e6\83\45\ae\9a\32\a5\95\6b\e8\f1)
    This is because a third party application stores user id's in the above format and I would like to join my retrieved results from LDAP with it. Once I achieve this I would also like to do the reverse i.e. pass the escaped values and retrieve the user information from LDAP.
    Currently when I pass sAMAccountName, I do get the following formats based on what function I use.
    1. (SUBSTR(temp_vals(i), 1, 200) -> Results in ~ ?????13?x?
    2. utl_raw.cast_to_raw(SUBSTR(temp_vals(i), 1, 200)) -> Results in 7E0C3F3F3F3F3F31333F78EF
    I simply cannot escape the values given in step two because I believe both are in different format as binary, raw string etc..
    Please let me know if this is achievable ??
      CREATE OR REPLACE PROCEDURE "Schema"."LDAP_PROC" IS
        ldap_host       VARCHAR2(512);          -- The LDAP Directory Host
        ldap_port       VARCHAR2(512);          -- The LDAP Directory Port
        ldap_user       VARCHAR2(512);          -- The LDAP Directory User
      ldap_guid VARCHAR2(512); -- To store the GUID
        ldap_passwd     VARCHAR2(512);          -- The LDAP Directory Password
        ldap_baseDN     VARCHAR2(512);          -- The starting (base) DN
        retval          PLS_INTEGER;            -- Used for all API return values.
        my_session      DBMS_LDAP.SESSION;      -- Used to store our LDAP Session
        res_attrs       DBMS_LDAP.STRING_COLLECTION;    -- A String Collection used
                                                        --   to specify which
                                                        --   attributes to return
                                                        --   from the search.
                                                        --   attribute.
    search_filter   VARCHAR2(512);          -- A simple character string used to
                                                --   store the filter (criteria) for
                                                --   the search.
        res_message     DBMS_LDAP.MESSAGE;      -- Used to store the message
                                                --   (results) of the search.
        temp_entry      DBMS_LDAP.MESSAGE;      -- Used to store entries retrieved
                                                --   from the LDAP search to print
                                                --   out at a later time.
        entry_index     PLS_INTEGER;            -- Used as a counter while looping
                                                --   through each entry. As we
                                                --   retrieve an entry from the LDAP
                                                --   directory, we increase the
                                                --   counter by one.
        temp_dn         VARCHAR2(512);          -- After each entry is retrieved
                                                --   from the LDAP directory (from
                                                --   the search), we want to use
                                                --   this variable to extract, store
                                                --   and print out the DN for each
                                                --   entry.
        temp_attr_name  VARCHAR2(512);          -- After retrieving an entry from
                                                --   LDAP directory, we will want to
                                                --   walk through all of the
                                                --   returned attributes. This
                                                --   variable will be used to store
                                                --   each attribute name as we loop
                                                --   through them.
        temp_ber_elmt   DBMS_LDAP.BER_ELEMENT;
        attr_index      PLS_INTEGER;            -- Used as a counter variable for
                                                --   each entry returned for each
                                                --   entry.
       temp_vals       DBMS_LDAP.STRING_COLLECTION;    -- Used to extract, store,
      --  temp_vals       DBMS_LDAP.BINVAL_COLLECTION;                                                --   and print each of the
                                                        --   values from each
                                                        --   attribute.
    BEGIN
        DBMS_OUTPUT.ENABLE(1000000);
        retval := -1;
         ldap_host    := 'LDAP_Server_name';
        ldap_port    := '389';
        ldap_user    := 'Username';
        ldap_passwd  := 'Password';
        ldap_baseDN  := 'DC=XXX,DC=XX,DC=XX';
        -- Print out variables.
        DBMS_OUTPUT.PUT_LINE('DBMS_LDAP Search Example');
        DBMS_OUTPUT.PUT_LINE('-----------------------------------------------------------------------');
        DBMS_OUTPUT.PUT_LINE(RPAD('LDAP Host ', 25, ' ') || ': ' || ldap_host);
        DBMS_OUTPUT.PUT_LINE(RPAD('LDAP Port ', 25, ' ') || ': ' || ldap_port);
        DBMS_OUTPUT.PUT_LINE(RPAD('LDAP User ', 25, ' ') || ': ' || ldap_user);
        DBMS_OUTPUT.PUT_LINE(RPAD('LDAP Base ', 25, ' ') || ': ' || ldap_baseDN);
         DBMS_LDAP.USE_EXCEPTION := TRUE;
        -- Obtain an LDAP session. The init() function initializes a session with an
        -- LDAP server. This actually establishes a connection with the LDAP server
        -- and returns a handle to the session which can be used for further
        -- calls into the API.
        my_session := DBMS_LDAP.INIT(ldap_host, ldap_port);
        DBMS_OUTPUT.PUT_LINE (
            RPAD('LDAP Session ', 25, ' ') || ': ' ||
            RAWTOHEX(SUBSTR(my_session, 1, 16)) ||
            ' - (returned from init)'
        -- Bind to the directory. The function simple_bind_s can be used to perform
        -- simple username/password based authentication to the directory server.
        -- The username is a directory distinguished name. This function can be
        -- called only after a valid LDAP session handle is obtained from a call to
        -- DBMS_LDAP.init(). If the connection was successful, it will return:
        -- DBMS_LDAP.SUCCESS. This function can raise the following exceptions:
        --      invalid_session : Raised if the session handle ld is invalid.
        --      general_error   : For all other errors. The error string associated
        --                        with this exception will explain the error in
        --                        detail.
        retval := DBMS_LDAP.SIMPLE_BIND_S(my_session, ldap_user, ldap_passwd);
        DBMS_OUTPUT.PUT_LINE(
            RPAD('simple_bind_s Returned ', 25, ' ') || ': '|| TO_CHAR(retval)
        -- Before actually performing the sort, I want to setup the attributes I
        -- would like returned. To do this, I declared a "String Collection" that
        -- will be used to store all of the attributes I would like returned.
        --      If I wanted to return all attributes, I would specify:
        --          res_attrs(1) := '*';
        --      If I wanted multiple (specified) attributes, I would specify:
        --          res_attrs(1) := 'cn';
        --          res_attrs(2) := 'loginShell';
        --res_attrs(1) := 'uid';
       -- res_attrs(2) := 'cn';
        res_attrs(1) := 'objectGUID';
       -- res_attrs(2) := 'sAMAccountName';
        -- Finally, before performing the actual search, I want to specify the
        -- criteria I want to search on. This will be passed as the "filter"
        -- parameter to the actual search.
        --      If you wanted all of the entries in the directory to be returned,
        --      you could simply specify:
        --          search_filter   := 'objectclass=*';
        --      You could also refine your search my specify a criteria like the
        --      following:
        --          search_filter   := 'cn=*Hunter*';
        search_filter  :=  'sAMAccountName=*282618726*';
        -- Finally, let's issue the search. The function search_s performs a
        -- synchronous search in the LDAP server. It returns control to the PL/SQL
        -- environment only after all of the search results have been sent by the
        -- server or if the search request is 'timed-out' by the server.
        -- Let's first explain some of the incoming parameters:
        --      ld       : A valid LDAP session handle.
        --      base     : The dn of the entry at which to start the search.
        --      scope    : One of SCOPE_BASE     (0x00)
        --                        SCOPE_ONELEVEL (0x01)
        --                        SCOPE_SUBTREE  (0x02)
        --                 indicating the scope of the search.
        --      filter   : A character string representing the search filter. The
        --                 value NULL can be passed to indicate that the filter
        --                 "(objectclass=*)" which matches all entries is to be
        --                 used.
        --      attrs    : A collection of strings indicating which attributes to
        --                 return for each matching entry. Passing NULL for this
        --                 parameter causes all available user attributes to be
        --                 retrieved. The special constant string NO_ATTRS ("1.1")
        --                 MAY be used as the only string in the array to indicate
        --                 that no attribute types are to be returned by the server.
        --                 The special constant string ALL_USER_ATTRS ("*") can be
        --                 used in the attrs array along with the names of some
        --                 operational attributes to indicate that all user
        --                 attributes plus the listed operational attributes are to
        --                 be returned.
        --      attronly : A boolean value that MUST be zero if both attribute types
        --                 and values are to be returned, and non-zero if only types
        --                 are wanted.
        --      res      : This is a result parameter which will contain the results
        --                 of the search upon completion of the call. If no results
        --                 are returned, res is set to NULL.
        -- Now let's look at the two output parameters:
        --      PLS_INTEGER
        --      (function return)   : DBMS_LDAP.SUCCESS if the search operation
        --                            succeeded. An exception is raised in all other
        --                            cases.
        --      res (OUT parameter) : If the search succeeded and there are entries,
        --                            this parameter is set to a NON-NULL value
        --                            which can be used to iterate through the
        --                            result set.
        retval := DBMS_LDAP.SEARCH_S(
              ld         =>  my_session
            , base       =>  ldap_baseDN
            , scope      =>  DBMS_LDAP.SCOPE_SUBTREE
            , filter     =>  search_filter
            , attrs      =>  res_attrs
            , attronly   =>  0
            , res        =>  res_message
        DBMS_OUTPUT.PUT_LINE(
            RPAD('search_s Returned ', 25, ' ') || ': ' || TO_CHAR(retval)
        DBMS_OUTPUT.PUT_LINE (
            RPAD('LDAP Message ', 25, ' ') || ': ' ||
            RAWTOHEX(SUBSTR(res_message, 1, 16)) ||
            ' - (returned from search_s)'
        -- After the search is performed, the API stores the count of the number of
        -- entries returned.
        retval := DBMS_LDAP.COUNT_ENTRIES(my_session, res_message);
        DBMS_OUTPUT.PUT_LINE(
            RPAD('Number of Entries ', 25, ' ') || ': ' || TO_CHAR(retval)
        DBMS_OUTPUT.PUT_LINE('-----------------------------------------------------------------------');
        -- Retrieve the first entry.
        temp_entry := DBMS_LDAP.FIRST_ENTRY(my_session, res_message);
        entry_index := 1;
        -- Loop through each of the entries one by one.
        WHILE temp_entry IS NOT NULL LOOP
            -- Print out the current entry.
            temp_dn := DBMS_LDAP.GET_DN(my_session, temp_entry);
            DBMS_OUTPUT.PUT_LINE (' dn: ' || temp_dn);
            temp_attr_name := DBMS_LDAP.FIRST_ATTRIBUTE(
                  my_session
                , temp_entry
                , temp_ber_elmt
            attr_index := 1;
            WHILE temp_attr_name IS NOT NULL LOOP
                temp_vals := DBMS_LDAP.GET_VALUES(my_session, temp_entry, temp_attr_name);
                IF temp_vals.COUNT > 0 THEN
                    FOR i IN temp_vals.FIRST..temp_vals.LAST LOOP
                        DBMS_OUTPUT.PUT_LINE(
                            RPAD('   ' || temp_attr_name, 25, ' ') ||
                            ': ' ||(SUBSTR(temp_vals(i), 1, 200)
    -- (SUBSTR(temp_vals(i), 1, 200) -> Results in ~ ?????13?x?
    --utl_raw.cast_to_raw(SUBSTR(temp_vals(i), 1, 200)) -> Results in 7E0C3F3F3F3F3F31333F78EF
    --BUT i WOULD LIKE TO GET MY RESULTS BACK IN THE FOLLOWING FORMAT
    --\a6\53\6d\40\03\e6\83\45\ae\9a\32\a5\95\6b\e8\f1
    --The format given above is an example only...
      END LOOP;
                END IF;
                temp_attr_name := DBMS_LDAP.NEXT_ATTRIBUTE(   my_session
                                                            , temp_entry
                                                            , temp_ber_elmt);
                attr_index := attr_index + 1;
            END LOOP;
            temp_entry := DBMS_LDAP.NEXT_ENTRY(my_session, temp_entry);
            DBMS_OUTPUT.PUT_LINE('=======================================================================');
            entry_index := entry_index + 1;
        END LOOP;
        -- Unbind from the directory
        retval := DBMS_LDAP.UNBIND_S(my_session);
        DBMS_OUTPUT.PUT_LINE(RPAD(
            'unbind_res Returned ', 25, ' ') || ': ' ||
            TO_CHAR(retval)
        -- Handle Exceptions
        EXCEPTION
            WHEN OTHERS THEN
                DBMS_OUTPUT.PUT_LINE('');
                DBMS_OUTPUT.PUT_LINE('-----------------------------------------------------------------------');
                DBMS_OUTPUT.PUT_LINE('Exception Encountered');
                DBMS_OUTPUT.PUT_LINE('-----------------------------------------------------------------------');
                DBMS_OUTPUT.PUT_LINE('  Error code    : ' || TO_CHAR(SQLCODE));
                DBMS_OUTPUT.PUT_LINE('  Error code    : ' || TO_CHAR(SQLCODE));
                DBMS_OUTPUT.PUT_LINE('  Error Message : ' || SQLERRM);
                DBMS_OUTPUT.PUT_LINE('  Exiting.');
    END;
    END LOOP;
                END IF;
                temp_attr_name := DBMS_LDAP.NEXT_ATTRIBUTE(   my_session
                                                            , temp_entry
                                                            , temp_ber_elmt);
                attr_index := attr_index + 1;
            END LOOP;
            temp_entry := DBMS_LDAP.NEXT_ENTRY(my_session, temp_entry);
            DBMS_OUTPUT.PUT_LINE('=======================================================================');
            entry_index := entry_index + 1;
        END LOOP;
        -- Unbind from the directory
        retval := DBMS_LDAP.UNBIND_S(my_session);
        DBMS_OUTPUT.PUT_LINE(RPAD(
            'unbind_res Returned ', 25, ' ') || ': ' ||
            TO_CHAR(retval)
        -- Handle Exceptions
        EXCEPTION
            WHEN OTHERS THEN
                DBMS_OUTPUT.PUT_LINE('');
                DBMS_OUTPUT.PUT_LINE('-----------------------------------------------------------------------');
                DBMS_OUTPUT.PUT_LINE('Exception Encountered');
                DBMS_OUTPUT.PUT_LINE('-----------------------------------------------------------------------');
                DBMS_OUTPUT.PUT_LINE('  Error code    : ' || TO_CHAR(SQLCODE));
                DBMS_OUTPUT.PUT_LINE('  Error code    : ' || TO_CHAR(SQLCODE));
                DBMS_OUTPUT.PUT_LINE('  Error Message : ' || SQLERRM);
                DBMS_OUTPUT.PUT_LINE('  Exiting.');
    END;

  • How to extract data using DSources which do not support Delta

    Hi forum,
    Iam using a data source which does not support delta. In such a scenario what should i do For subsequent extractions.Will i have to opt for full load every time, if so then how will the double data records be treated. Pls help me out of this situation. In RSA6 if i click on the data source there i can find a check box for enabling delta , but again that is greyed out. If i want to change that what steps should i follow.
    All the helpfull answers and solutions would be thanked by assigning full points.
    Regards
    Pallavi

    Can you give me the data source name please.
    If it is a standard Business Content Datasource and it does not support delta(or delta is not enabled) then you dont have any choice to modify the standard Datasources. In such cases you can create a Generic DS same as Standard DS and enable delta.
    Hope this helps.
    Praveen

  • Error when extracting data using DB Connect from an Oracle database

    Hi All,
    We are on BI 3.5 and loading data from a non-SAP (Oracle 10g) database using DB Connect.
    I received the following error messages when trying to perform "Check DataSource" using the DB Connect setup in RSA1.
    Event with errors RSDL_META_UPLOAD in DataSource
    Message no. R8287
    Warning Messages;
    Message no. RSDL053
    Field name ReceiptID contains non-alpha-numeric characters
    Field name ActivityDate contains non-alpha-numeric characters
    Field name ReceiptDate contains non-alpha-numeric characters
    Field name ReceiptLineNumber must have between 000001 and 000016 digits
    etc...
    Views are created under the owner's user name. I have checked with DB personnel and they confirm that all the authorization and security access privileges have been correctly granted to the views.
    We are also able to extract the data by running a sql query statement from the views using SQL Plus
    Currently we also have a similar extraction process set up with an Oracle 9 database, which extracts the information without any issues.
    Thanks,
    Anthony

    Hi Mr Loh.
    I know that this thread has over a year ago but i was looking for something similar for over 2 weeks ago and i ialways found this thread...I want to share my experience even that maybe you already found the same solution or something similar (i saw that you check your own post as answered):
    I made a similar connection from BI 7 SP 18, but in my case was to a Microsoft SQL database 2005. When i "check the datasource" i receive like almost 150 warnings and 1 error and all the warnings and errors are the same ones as you describe above. What i did is create a custom view in the MSSQL database and convert all the column names to uppercase and the column names i limited to 16 characters at most. after doing that all the warnings and the error described disappear and i can view the database content when you made click in the "view content table" button.
    I hope that this will help somebody and best regards
    Martin Olmos

  • Problem to extract data using DS 2LIS_11_VAHDR & 2LIS_11_VAITM

    Hello Experts,
    my requirement is to extract the SD sales Item & sales header data int BI.  while executing the Reports in BI  I find some incosistencies in data
    Ex:  for for some Sales organizations  
          0CRM_NUMDOC = 17 and the corresponding   0NETVALORD = 0,00  
    and for some sales organization
         0CRM_NUMDOC = 0 and the corresponding   0NETVALORD = 5200,00  
    we are using  the data sopurce 2LIS_11_VAHDR to load Document header data  and the data sopurce 2LIS_11_VAITM to get  Item Net value data. and used two trtansformations to the same SAP standard cubes 0CSAL_C05 & 0CSAL_C03.
    asper  my analysis in development system I find 
           VBAK contains  1405 records but the DS 2LIS_11_VAHDR extracts only 1235 records.
    but
           VBAP conains   2665  records and the DS 2LIS_11_VAITM extracts all 2665  records.
    is it creats the problem?
    I deleted the setuptables and again fill them  even thought I have the same problem ?
    If you have any idea regarding this issue please share with me.
    Thanks in advance.
    cheers.............

    HI,
    Check indeed the extraction in your source system with RSA3.
    Also perform the load and check your data in PSA (before any transformation takes place).
    Are you going to use delta or full loading? I assume it's delta? So if you perform your initial load with data, no use of the setup table is required...
    If you have too much data to do this, try an initial load without data, first delta load and next a full repair load (which will read your setup table). Do not forget to fill your setup table with all the historical data you need in transaction SBIW.
    Hope this helps.
    Best Regards,
    Michel Hoefkens

  • Extracting Attrubutes using DOM API (I need help!!!!)

    Hi,
    I need some help on how to extract (or parse) the Attributes value in the XML using the DBMS_XMLDOM package.
    Here is the XML sample.
    <COMPANY>
    <DEPARTMENT DEPT="10">
    <EMP ID="123" NAME="JOHN" />
    <EMP ID="456" NAME="PETER" />
    <EMP ID="789" NAME="PAUL" />
    </DEPARTMENT>
    <DEPARTMENT DEPT="20">
    <EMP ID="987" NAME="SIMON" />
    <EMP ID="654" NAME="JAMES" />
    <EMP ID="321" NAME="ANDREW" />
    </DEPARTMENT>
    <DEPARTMENT DEPT="30">
    <EMP ID="129" NAME="JOHN" />
    <EMP ID="348" NAME="PETER" />
    <EMP ID="567" NAME="PAUL" />
    </DEPARTMENT>
    </COMPANY>
    BTW, we are using Oracle v9.2.0.4.0
    Thanks in advance

    The following procedure may help...
    procedure uploadFiles(FILE_LIST varchar2 default 'ls.xml', UPLOAD_DIRECTORY_NAME varchar2 default USER, REPOSITORY_FOLDER_PATH varchar2 default '/home/' || USER , BATCH_SIZE number default 1)
    as
    pathSeperator varchar2(1) := '/';
    DIRECTORY_PATH varchar2(256);
    SUBDIRECTORY_PATH varchar2(256);
    TARGET_FOLDER_PATH varchar2(256);
    TARGET_FILE_PATH varchar2(256);
    TARGET_FILE_NAME varchar2(256);
    RESOURCE_PATH varchar2(256);
    LAST_FOLDER_PATH varchar2(256) := ' ';
    sqlStatement varchar2(256);
    FILELIST_XML XMLTYPE := XMLType(bfilename(UPLOAD_DIRECTORY_NAME,FILE_LIST),nls_charset_id('AL32UTF8'));
    CONTENT_XML XMLType;
    result boolean;
    filecount binary_integer := 0;
    FILELIST_DOM DBMS_XMLDOM.DOMDOCUMENT;
    FILES_NL DBMS_XMLDOM.DOMNODELIST;
    DIRECTORY_NL DBMS_XMLDOM.DOMNODELIST;
    FILENAME_NL DBMS_XMLDOM.DOMNODELIST;
    FILES_NODE DBMS_XMLDOM.DOMNODE;
    DIRECTORY_NODE DBMS_XMLDOM.DOMNODE;
    FILE_NODE DBMS_XMLDOM.DOMNODE;
    TEXT_NODE DBMS_XMLDOM.DOMNODE;
    ENCODING_ATTR DBMS_XMLDOM.DOMATTR;
    REPLACE_ATTR DBMS_XMLDOM.DOMATTR;
    PATH VARCHAR2(256);
    FILE_NAME VARCHAR2(256);
    ENCODING_TEXT VARCHAR2(32);
    ATTR_VALUE VARCHAR2(256);
    REPLACE_OPTION BOOLEAN;
    REPLACE_DEFAULT BOOLEAN;
    DEBUG_BUFFER VARCHAR2(255);
    begin
    -- Create the set of Folders in the XDB Repository
    FILELIST_DOM := DBMS_XMLDOM.newDOMDocument(FILELIST_XML);
    DIRECTORY_NL := DBMS_XMLDOM.GETELEMENTSBYTAGNAME(FILELIST_DOM,'directory');
    FOR i in 0 .. (DBMS_XMLDOM.GETLENGTH(DIRECTORY_NL) - 1) LOOP
    DIRECTORY_NODE := DBMS_XMLDOM.ITEM(DIRECTORY_NL,i);
    TEXT_NODE := DBMS_XMLDOM.GETFIRSTCHILD(DIRECTORY_NODE);
    DIRECTORY_PATH := DBMS_XMLDOM.GETNODEVALUE(TEXT_NODE);
    DIRECTORY_PATH := REPOSITORY_FOLDER_PATH || DIRECTORY_PATH;
    createDirectoryTree(DIRECTORY_PATH);
    END LOOP;
    -- Find the Local File System Path to the target Directory.
    select DIRECTORY_PATH
    into DIRECTORY_PATH
    from ALL_DIRECTORIES
    where DIRECTORY_NAME = UPLOAD_DIRECTORY_NAME;
    -- dbms_output.put_line('OS Root = ' || DIRECTORY_PATH);
    -- Load the Resources into the XML DB Repository
    FILES_NL := DBMS_XMLDOM.GETELEMENTSBYTAGNAME(FILELIST_DOM,'files');
    FILES_NODE := DBMS_XMLDOM.ITEM(FILES_NL,0);
    REPLACE_DEFAULT := FALSE;
    REPLACE_ATTR := DBMS_XMLDOM.getAttributeNode(DBMS_XMLDOM.MAKEELEMENT(FILES_NODE),'replace');
    if not (DBMS_XMLDOM.ISNULL(REPLACE_ATTR)) then
    REPLACE_DEFAULT := xdb_dom_helper.varchar_to_boolean(DBMS_XMLDOM.getVALUE(REPLACE_ATTR));
    end if;
    FILENAME_NL := DBMS_XMLDOM.GETELEMENTSBYTAGNAME(FILELIST_DOM,'file');
    FOR i in 0 .. (DBMS_XMLDOM.GETLENGTH(FILENAME_NL) - 1) LOOP
    FILE_NODE := DBMS_XMLDOM.ITEM(FILENAME_NL,i);
    TEXT_NODE := DBMS_XMLDOM.GETFIRSTCHILD(FILE_NODE);
    TARGET_FILE_PATH := DBMS_XMLDOM.GETNODEVALUE(TEXT_NODE);
    -- dbms_output.put_line('Source = ' || TARGET_FILE_PATH);
    TARGET_FILE_NAME := substr(TARGET_FILE_PATH,instr(TARGET_FILE_PATH,pathSeperator,-1)+1);
    -- dbms_output.put_line('File = ' || TARGET_FILE_NAME);
    TARGET_FOLDER_PATH := substr(TARGET_FILE_PATH,1,instr(TARGET_FILE_PATH,pathSeperator,-1));
    TARGET_FOLDER_PATH := substr(TARGET_FOLDER_PATH,instr(TARGET_FOLDER_PATH,pathSeperator));
    TARGET_FOLDER_PATH := substr(TARGET_FOLDER_PATH,1,length(TARGET_FOLDER_PATH)-1);
    ENCODING_ATTR := DBMS_XMLDOM.getAttributeNode(DBMS_XMLDOM.MAKEELEMENT(FILE_NODE),'encoding');
    ENCODING_TEXT := 'AL32UTF8';
    if not (DBMS_XMLDOM.ISNULL(ENCODING_ATTR)) then
    ENCODING_TEXT := DBMS_XMLDOM.getValue(ENCODING_ATTR);
    dbms_output.put_line('Encoding for ' || TARGET_FILE_NAME || ' = ' || ENCODING_TEXT);
    end if;
    REPLACE_ATTR := DBMS_XMLDOM.getAttributeNode(DBMS_XMLDOM.MAKEELEMENT(FILE_NODE),'Replace');
    REPLACE_OPTION := REPLACE_DEFAULT;
    if not (DBMS_XMLDOM.ISNULL(REPLACE_ATTR)) then
    REPLACE_OPTION := xdb_dom_helper.varchar_to_boolean(DBMS_XMLDOM.getValue(REPLACE_ATTR));
    end if;
    if (LAST_FOLDER_PATH != TARGET_FOLDER_PATH) then
    SUBDIRECTORY_PATH := DIRECTORY_PATH || TARGET_FOLDER_PATH;
    -- dbms_output.put_line('Directory = ' || SUBDIRECTORY_PATH);
    sqlStatement := 'create or replace directory SUBDIR as ''' || SUBDIRECTORY_PATH || '''';
    execute immediate sqlStatement;
    LAST_FOLDER_PATH := TARGET_FOLDER_PATH;
    end if;
    CONTENT_XML := xmltype(bfilename('SUBDIR',TARGET_FILE_NAME),nls_charset_id(ENCODING_TEXT));
    RESOURCE_PATH := REPOSITORY_FOLDER_PATH || TARGET_FOLDER_PATH || '/' || TARGET_FILE_NAME;
    -- dbms_output.put_line('Target = ' || RESOURCE_PATH);
    if (REPLACE_OPTION and dbms_xdb.existsResource(RESOURCE_PATH)) then
    dbms_xdb.deleteResource(RESOURCE_PATH);
    end if;
    result := dbms_xdb.createResource(RESOURCE_PATH,CONTENT_XML);
    filecount := filecount + 1;
    if (filecount = BATCH_SIZE) then
    filecount := 0;
    commit;
    end if;
    END LOOP;
    end;
    For instance code to get an 'encoding' attribute from a 'file' element

Maybe you are looking for