The use of InfoSources in BI 7.0

Hello everyone...
Is it still generally accepted practice to use InfoSources in BI 7.0?  What will its use be more of for in BI 7.0?  If it IS still needed in BI 7.0, should I define it on the datatarget?
Thank you.
Philips

Hi Philips,
Infosource is not mandatory anymore. Scenarios for flexible infosource:
•A flexible infosource is necessary in order to use currency or unit conversion from the source datasource → define infosource as an intermediate structure
•You can use a flexible infosource as a uniform source for several targets; the infosource can be the target from different sources.
   So we can use an InfoSource as an optional structure between a transformation and another transformation. This is necessary, for example, to consolidate several sources into several targets or to use InfoObject-based information.
Note: for ‘direct’ InfoSources (For master data updates), there is no difference between ‘old’ and ‘new’ infosource, i.e. you can define a transformation as well as transfer rules.
Please assign points if it is useful.
Regards,
Anil

Similar Messages

  • Use of infosource in BI 7.0

    Hi,
    Can anybody explain me the use of infosource in BI 7.0 as we can directly load data from datasource to datatarget.

    hi,
    infosource is optional,
    3.x infosource not used in new dataflow, in bi 7.0 there is new type of infosource
    http://help.sap.com/saphelp_nw70/helpdata/en/43/fc3fda87e1025de10000000a1553f7/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/90/64553c845ba02de10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/7e/001342743eda2ce10000000a1550b0/frameset.htm
    check recommendation for using infosource
    http://help.sap.com/saphelp_nw70/helpdata/en/44/0243dd8ae1603ae10000000a1553f6/frameset.htm
    hope this helps.

  • Can I use one infosource to update data to CUBE and ODS???

    Hi all,
    Can anyone tell me if I can load data to OSD and Cube from one the same InfoSource? As I know, I have to have "0recordmode"(update mode) in communication structure for ODS not for Cube.  So how can ODS and Cube use the same Infosucre to update data?
    Thank you

    John,
    Depending on the volume of data and the type of infosource, sometime one update to ODS first and then subsequently update to the Cube or update both cube and ODS in parallel.
    For example, if you use AR or AP line item datasources, since you are extracting from both open line and closed line items tables, there could be multiple records for the same thing coming through.  First when it appears as an open line item, and when it is paid, it appears again as a paid line item so if you update directly to the cube, you can have multiples of the real value.  Thus in this instance you update from infosource to ODS then subsequently use delta update from ODS to cube.   CCA and C0-PA on delta mode are example where there are no overlapping, thus you can update both ODS and Cube at the same time.
    Hope this helps,
    Mary

  • Using an infosource in BI7 for 2 cubes - 1 cube

    Hi All
    I am taking data from two cubes into a single cube. I have loads of rules so only want to do those complicated transformations once.
    So I have two source cubes going into a infosource with just standard transformations (ie. field to field mappings)
    Then I have transformations from the infosource to the target cube with the complciated transformations (ie. routines etc).
    So all looks good and I do want to use an infosource as I want to do the mapping rules one. ( So please dont respond that I dont have to use infosource in BI7, as I already know this )
    Now that I have done that I cant see where to create a DTP to send data from the 2 source cubes to the infosource and then how to create a dtp to send data from the infosource to the target cube.
    When I create a dtp, I dont see an option for infosource being the source or target?
    thanks
    Edited by: Shaun Enslin on Dec 23, 2007 9:41 PM

    Hello Shaun,
    you only can create DTP with a connection from one cube to another. In your case you will need two DTP: Once from cube 1 to target cube and another with connection between cube 2 and target cube. The system will automatically recognize that there is a infosource between this cubes and will perform it each time.
    Bye.
    Frank

  • Will you ever have to use an InfoSource in BI 7?

    Hi,
    for all the review that I've made so far, one thing that still confuses me is the role of an InfoSource in a BI 7.0 environment.
    Will you ever have to use an InfoSource in BI 7? Any situation that calls for that?
    Thanks

    Hi........
    1.In the BI 7 environment you may choose to bring an INFOSOURCE in the data flow.. Right?
    Yes.......u r absoulately right......
    2.u201CAn InfoSource is only required for complex transformations (multistep procedures) that cannot be performed in a one-step procedure.u201D
    --what makes the model you provided u201Ccomplexu201D to bring in the InfoSource?
    --So, in your model, what could not be performed in a u201Cone-step procedureu201D that necessitated the Infosource?
    Is this what you ae trying to say:
    that you used the first set of transformations as u201Ctransfer rulesu201D?
    and you needed to use 3 additional transformations as u201Cupdate rulesu201D to the InfoProvider?
    and are you saying here that those 3 steps (the 3 "update rules") are what you eliminated by combining them behind the InfoSource?
    If that my understanding is right, why couldnu2019t you combine them behind a single new Tranformation but InfoSource, before the new Transformation?
    Yes u can think it in that way also.....actually we use infosource in this case........to reduce the redundency of work............I mean suppose u need to write a End routine..........which will delete some fields......and this field exist in all the three datasource..........and every time......for each Transformation u hav to write the code........then its better........that u merge all the three Transformation in one Infosource........then a single transformation from the infosource to the target.......and in that Transformation u write down the sode.....
    3. I read that you create a Transformation by right-clicking on the data target, to create the transformation under it. I donu2019t have access to a BI system now but your model suggests that it can be done, by right-clicking on the InfoSource, to create a Transformation under the InfoSource. Right?
    i.e. that is how in your model you create 3 transformation under the InfoSource, right?.
    Look first u hav to create the infosource............u can create Transformation by right clicking on the Datasource or the Target both.......so for  the first three Transformation..........here the source is the Datasource and the target is the infosource..........so either right click on the Datasource or the infosource >> Create transformation........there as a target select infosource............Now for the second level transformation...............source is the infosource............so again either right click on the infosource or the target and create transformation.......
    4. As part of my summary, I am also deducing that even in the BI 7 implementation, there are still two different types of datasources(3.5 and 7.0 datasource) since SAP is still on its way to make all datasources as according to BI7. And that even if you are in a pure BI 7 environment and you decide to use the 3.5 types of data sources, you have no option but to use InfoSource in your model. Right?
    Look.......in BI 7.0 also............for 3.5 datasources u can use the old model............but if u use Emulated datasource (if you replicate the old DataSource to a NetWeaver 2004s BI system, we call this DataSource an 'emulated' DataSource. An 'emulated DataSource' is a DataSource that has the same 'look and feel' as the new DataSource, but is actually a BW 3.x DataSource)............if u migrate a datasource.then obviously u hav to use 7.0 flow..........
    For an example..........BI 7.0 does'nt support Hierarchy datasource.....u cannot use it as Emulated datasource also.....u hav to use it as BW 3.X datasource only...so in that case u will use 3.X flow only..............
    Hope this helps.......
    Regards,
    Debjani.....

  • Joining two datasources using an InfoSource

    Hello Experts,
    is it possoble to join two datasources (two database tables sharing an attribute) using an InfoSource as it works with two InfoSources and one ODS?
    Axel

    In your source system, create a view in se38 with your tables. Then, still in your source system, go to t.c. SBIW and create a new DataSource with this view. Then go to your BW, replicate DataSources of your source system and activate.
    I have not explained all the steps but is not a very dificult process, so i think you will not have problems.
    Regards

  • Infobject still used in infosource Zods1 ( default)

    Hello Experts,
    A small issue while deleting a infobject.
    I am trying to delete an infobject which was earlier included in the ODS and the corresponding Infosource. I deleted the infobject entry in the infosource Zods. But I am not in a position to delete the infobject.
    it gives me following error:
    (green) Deletion of objects with type infobjects.
    (red) Using Infobject Zinobject1:
    (red) Still being used in infosource Zods1 ( default).
    (green) Infobject Zinobject1 cannot be deleted due to above references.
    As far as I know there are no references left. I have deleted all the references of that infobject Zinobject1.
    Any suggestions appreciated.
    Thanks,

    I checked in the Metadata repository. It show that the infobject is used by the infosource. But I have already deleted it from the infosource. If I go into the infosource and search it not present.
    Any idea if this a known problem.
    Thanks in advance for the suggestions...

  • HT2589 We have purchase 5 apple minis and would like them all on one account.  That way we can monitor the use of these units.  they will be used strickly for a business application.  can I use one account in itunes or must i have multiple.

    We have purchased 5 apple minis and would like them all on one account, that way we can monitor the use of these units.  They will be used strickly for a business application.  Can I use one account in itunes or must i have multiple.

    Not going to happen the way you want it to.
    When you add a gift card balance to the Apple ID, it's available for the Apple ID.
    Probably best to create unique Apple ID's for each... this will also make things easier in the future as purchases are eternally tied to the Apple ID they were purchased with.

  • Wield char with the use of matnr

    Hi All,
    my requirement is like:
    I need 1 selection option which seems like parameter type mara-matnr.
    when I put any material with the using of "*", it sud be fetch all the material with combination.
    I did the code for that but somtime it fails..
    TABLES: rqm00.
    TYPES : BEGIN OF tp_matnr,
              matnr       TYPE mara-matnr,
            END OF tp_matnr.
    DATA: w_text  TYPE string.
    CONSTANTS:  c_wild   TYPE c VALUE '*',
                c_per    TYPE c VALUE '%'.
    DATA: t_matnr  TYPE STANDARD TABLE OF tp_matnr,
          wa_matnr type tp_matnr.
    SELECT-OPTIONS : s_matnr  FOR   mara-matnr  NO INTERVALS NO-EXTENSION.
    IF s_matnr-LOW CA c_wild.
          W_TEXT = S_MATNR-LOW.
          REPLACE ALL OCCURRENCES OF c_wild IN s_matnr-LOW WITH c_per.
    ENDIF.
      SELECT matnr
             FROM  mara
          INTO TABLE t_matnr
          WHERE matnr LIKE S_MATNR-LOW.
    IF SY-SUBRC = 0.
    loop at t_matnr into wa_matnr.
    write: wa_matnr-matnr.
    endloop.
    ENDIF.
    What should I do? what is the right solution which should not be fail in any condition.
    Thanks & Regards,
    Jaten Sangal
    Edited by: Jaten.sangal on Nov 18, 2009 11:26 AM

    Hi
    I just Executed this Code and working Fine
    TABLES: rqm00.
    TYPES : BEGIN OF tp_matnr,
    matnr TYPE mara-matnr,
    END OF tp_matnr.
    DATA: w_text TYPE string.
    CONSTANTS: c_wild TYPE c VALUE '*',
    c_per TYPE c VALUE '%'.
    DATA: t_matnr TYPE STANDARD TABLE OF tp_matnr,
    wa_matnr type tp_matnr.
    parameters : s_matnr type mara-matnr. " Replace this Parameters and proceed further
    *IF s_matnr-LOW CA c_wild.
    *W_TEXT = S_MATNR-LOW.
    REPLACE ALL OCCURRENCES OF c_wild IN s_matnr WITH c_per.
    *ENDIF.
    SELECT matnr
    FROM mara
    INTO TABLE t_matnr
    WHERE matnr LIKE S_MATNR.
    IF SY-SUBRC = 0.
    loop at t_matnr into wa_matnr.
    write:/ wa_matnr-matnr.
    endloop.
    ENDIF.
    Did you try this one
    Cheerz
    Ram
    Edited by: Ramchander Krishnamraju on Nov 18, 2009 11:41 AM

  • On the use of VARCHAR2 vs. CHAR

    I'm posting an e-mail thread that has been moving around in my organization, whith guidance from an Oracle representative.
    The basic issue concerns the use of CHAR vs. VARCHAR2 when defining a table in Oracle.
    I would like to get some comments from the community at large.
    1. Business semantics should be represented in every aspect of a database, application, and design as far as I am concerned. Noteably, if the business rule at a corporate entity is clearly stated that when using Oracle the use of CHAR should be limited to those attribute implementations which have the following characteristics; a) The attribute may not be null, b) The attribute must have a character in each of the declared positions.
    2. When the Visual Basic application began writing data to the CHAR columns in your application someone should have had a discussion with the developer to find out why this was happening. If the business semantics changed then the logical implemention of the business semantics should have changed as well. That the two were disconnected is not a problem with the CHAR type, it is a problem with the designer or the developer. The bottom line on this instance is that the column should have been defined as a VARCHAR2 data type since the business semantics no longer complied with the criteria set forth in the previous paragraph.
    3. I think Oracle trys to load as much of the data from a table or index into shared memory, in this case the database block buffers, as it can in order to facilitate query operations. If Oracle has enough memory and can load a table or index into memory, it will do so. At the same time the database engine will move previously cached data out of memory to accommodate the new requirement.
    -----Original Message-----
    Thank you for the detail information on CHAR and VARCHAR2. It got me thinking with a DBA hat. I worked as a DBA before and I did use the CHAR type and I will share my experience/thought on CHAR.
    I don't like to use the char type like Tom has advised because Oracle does not check to see if the value being inserted fills up the column or not which can lead to a problem. And there is no performance gain or save space in Oracle.
    I worked as a DBA before, I used char type on the "must fill/always filled" column (pre DMDC). The application was written in VB with Oracle back end. At some point, VB started inserting values that are short of the column width and created a minor problem (it was supposed to be filled column). The problem was quickly identified and fixed, but it caused an issue.
    I realize that I don’t want to define it as a "must fill/always filled" column if you can't enforce it by simply defining the char data type on a table and prevent possible issue in the future.
    For a manager, in order to use the char properly, you have to hire client developers with Oracle experience or provide a basic Oracle training in order to avoid the problem I mentioned above in order to use the char type correctly.
    I think you, Tom and I are saying the same thing really. Only difference is that Tom and I can not think of a good reason why anyone would like to indicate the business semantics using column type on the database, when it can lead to more work/issues.
    In regards to wasted 25 million byes, why would Oracle load the table with 25 million rows? Shouldn't it use an index? Don't you have a serious problem if Oracle is loading table with the 25 million rows?
    Just my two cents... : )
    -----Original Message-----
    May I beg to differ?
    CHAR plays a vital role in the intuitive interpretation of a database schema. If designed correctly, the use of CHAR tells anyone who is in the know that this is a must fill column. Thus if a column is defined as CHAR(3) everyone should know that the column will always contain three characters. Defining the column as VARCHAR2(3) does not tell you anything about the data other than that the column may contain 0-3 characters.
    Also, If a column is defined as CHAR the column should always be populated. One of the nice features of VARCHAR2 is that if the column is defined at the end of a table, there is no storage overhead until that column is actually populated. Thus if you have a table that has an identifier that is nine characters in length and will always be populated with nine characters, an attribute which describes the type of identifier which is contained in the first column and which must always be populated and is a must fill attribute, and another column which is descriptive and may vary in length or not be populated at time of insert; the following definition does not express the business semantics of the entity:
    COL_CD VARCHAR2(9)
    COL_TYP_TXT VARCHAR2(26)
    COL_TYP_CD VARCHAR2(2)
    The above definition also does not take advantage of inherent storage features of Oracle; notably there is a wasted place holder between COL_CD and COL_TYP_TXT and between COL_TYP_TXT and COL_TYP_CD. The next definition does take advantage of the storage features but does not represent the business semantics of the entity:
    COL_CD VARCHAR2(9)
    COL_TYP_CD VARCHAR2(2)
    COL_TYP_TXT VARCHAR2(26)
    The above definition does not waste space storing a place holder between COL_TYP_CD and COL_TYP_TXT if the COL_TYP_TXT may be null. The column separator will only be used when the column contains data. The below definition satisfies both the storage and business semantics issues:
    COL_CD CHAR(9)
    COL_TYP_CD CHAR(2)
    COL_TYP_TXT VARCHAR2(26)
    This may seem pedantic in nature until you consider the situation where there are 25 million rows in the table represented by the above entity. If each row has a NULL COL_TYP_TXT value then the first example wasted 25 million bytes of storage and 25 million bytes of memory if the full table is loaded into memory. This is an issue which cannot be ignored in high volume databases.
    You may wish to know why it is important to define a must fill/always fill column as a CHAR to express the business semantics of an attribute. I can't give a definitive answer to that other than to say that it is just good database manners.
    So please, continue to use CHAR when the shoe fits. Don't throw something away that has use just because it is not popular or in the mode.
    Also, if I am mistaken in any of the above, please feel free to educate me.
    Thanks.
    -----Original Message-----
    Subject: RE: Oracle on the use of VARCHAR2 vs. CHAR
    Ignore if you already got this. This is just FYI.
    -----Original Message-----
    Below is a detailed answer to your VARCHAR2 or CHAR questions from our Database expert Tom Kyte. The short answer is VARCHAR2 is what you want to use. If you have any questions or want to discuss this in more detail let me know.
    A CHAR datatype and VARCHAR2 datatype are stored identically (eg: the word 'WORD' stored in a CHAR(4) and a varchar2(4) consume exactly the same amount of space on disk, both have leading byte counts).
    The difference between a CHAR and a VARCHAR is that a CHAR(n) will ALWAYS be N bytes long, it will be blank padded upon insert to ensure this. A varchar2(n) on the other hand will be 1 to N bytes long, it will NOT be blank padded.
    Using a CHAR on a varying width field can be a pain due to the search semantics of CHAR.
    Consider the following examples:
    ops$tkyte@8i> create table t ( x char(10) ); Table created.
    ops$tkyte@8i> insert into t values ( 'Hello' );
    1 row created.
    ops$tkyte@8i> select * from t where x = 'Hello';
    X
    Hello
    ops$tkyte@8i> variable y varchar2(25)
    ops$tkyte@8i> exec :y := 'Hello'
    PL/SQL procedure successfully completed.
    ops$tkyte@8i> select * from t where x = :y; no rows selected
    ops$tkyte@8i> select * from t where x = rpad(:y,10);
    X
    Hello
    Notice how when doing the search with a varchar2 variable (almost every tool in the world uses this type), we have to rpad() it to get a hit.
    If the field is in fact ALWAYS 10 bytes long, using a CHAR will not hurt -- HOWEVER, it will not help either.
    The only time I personally use a CHAR type is for CHAR(1). And that is only because its faster to type char(1) then varchar2(1) -- it offers no advantages.
    If you just use varchar2 everywhere, no problem
    My advice is, has been, will be very loudly stated as:
    IGNORE THE EXISTENCE OF CHAR.
    period. If you never use char, you never compare char to varchar2, problem solved.
    And if you use char and compare a char(n) to a char(m) they will never compare either.
    Just say NO TO CHAR.
    **************************************************

    Hi,
    >>A CHAR datatype and VARCHAR2 datatype are stored identically (eg: the word 'WORD' stored in a CHAR(4) and a varchar2(4) consume exactly the same amount of space on disk, both have leading byte counts).
    Ok, but on the other hands:
    SGMS@ORACLE10> create table x (name char(10), name2 varchar2(10));
    Table created.
    SGMS@ORACLE10> insert into  x values ('hello','hello');
    1 row created.
    SGMS@ORACLE10> commit;
    Commit complete.
    SGMS@ORACLE10> select vsize(name),vsize(name2) from x;
    VSIZE(NAME) VSIZE(NAME2)
             10            5
    SGMS@ORACLE10> select dump(name),dump(name2) from x;
    DUMP(NAME)                                         DUMP(NAME2)
    Typ=96 Len=10: 104,101,108,108,111,32,32,32,32,32  Typ=1 Len=5: 104,101,108,108,111Cheers

  • Restrict the use of index while quering

    Hi All
    I have a simple emp table with columns empid, name, sal. Empid has a primary key imposed.
    Now when i write a statement like this,
    select * from emp where empid = <value>;
    the optimizer will make use of index.
    The question is........... is there anyway to make oracle bypass the use of index without change in above query.

    Why do you worry of performance issues when the table size is small , when it is huge and the column you r trying use in the query is also indexed the oracle finds the Best execution method to do the execution whether index exists or not , Oracle has a very intelligent Optimizer and no need to use hints unless and until it is really mandatory or when u r using a very complex query where Oracle is not able to deduce the best Execution plan . But by all means you should look at the execution plan how a cerain query Oracle knows of doing it or when u have a diferering opinion then only at that point you force a Optomizer Hint . For other normal cases like the one you are asking it is best to get the results how Oracle executes it and no forcing is required .

  • I was told of an application that will allow the use of a second screen to view my data and files, but I forgot its name. I'd like to make the connection because my LCD is broken.

    I was told of an application that will allow the use of a second screen to view my data and files, but I forgot its name. I'd like to make the connection because my LCD is broken.

    You don't need an application, just plug a compaitble monitor into the display port of your MacBook Pro, set the screen up in System Preferences>Displays

  • What is the use of this form?

    Hi all,
    What is the use of this form in include RV61B901?
    How does this code send any information to the program calling it? Is Sy-subrc global so that main program will know the reuslts?
    Code:
    FORM KOBED_901.
      DATA : l_anzpk LIKE likp-anzpk.
      SELECT SINGLE anzpk FROM likp
                          INTO l_anzpk
                          WHERE vbeln = komkbv2-vbeln.
      IF l_anzpk NE 0.
        sy-subrc = 4.
        exit.
      ENDIF.
      sy-subrc = 0.
    ENDFORM.
    Thanks,
    Charles.

    Hello,
    This form sets the value of sy-subrc(which is global) based
    on the value of l_anzpk.
    Regards
    Greg Kern

  • What is the use of additon in up to 1 rows in SELECT statement

    Hi All,
             What is the use of up to 1 rows in select statement.
    for example
    SELECT kostl
          FROM pa0001
          INTO y_lv_kostl UP TO 1 ROWS
          WHERE pernr EQ pernr
          AND endda GE sy-datum.
        ENDSELECT.
    I'm unable to get in wat situations we hav to add up to 1 rows
    please help me out...
    Thanks,
    santosh.

    Hi,
    Use "select up to 1 rows" only if you are sure that all the records returned will have the same value for the field(s) you are interested in. If not, you will be reading only the first record which matches the criteria, but may be the second or the third record has the value you are looking for.
    The System test result showed that the variant Single * takes less time than Up to 1 rows as there is an additional level for COUNT STOP KEY for SELECT ENDSELECT UP TO 1 ROWS.
    The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that are defined by the WHERE clause, applies any aggregate, ordering or grouping functions to them and then returns the first record of the result set.
    Regards,
    Bhaskar

  • What is the use of Alternative Calculation Type =2 and 4

    Dear Friends
    In pricing procedure in gross value, Net value for Item and Net value has Alternative calucation type is 2.
    What is the use of it?
    Without using it these value line are also fetching net value then what is the work of it. Please give me detail information with its effects in pricing condition tab page in sales document.
    Thanking You
    Arun

    Arun biswal,
    Correct Biswal. We have at varoius stages within Pricing procedure the "net value" which is calculated. Not only the alternative calculation type "2" is used if you notice carefully they are stored as subtotals at various levels.
    For Ex Gross Value  --> Subtotal =1 --> Calc type = 2
    similarly for Net value for Item --> Subtotal =2 --> Calc type = 2
    Net value 2 --> Subtotal =3 --> Calc type = 2
    See, these are used to calculate the net value at various levels in pricing. The calculation Type has got a set of routines that will facilitate us in pricing. SAP has provided certain clauclated formulas or routines to facilitate us during calculation within pricing . Here the "2" is used for calculation without tax and store it as subtotal and display it or use it for further calculations.
    We can use this "netvalue" amount for further calculations. It is used for clarity purpose when you issue a statement to customer. (like Confirmation order) at various levels like discount amt involved, Freight involved, Rebate amount invloved.....
    Even without this Calc type or using sub total u can proceed....
    Finally we have  TOTAL  --> Subtotal =A --> Calc type = 4
    In the above line we have Calc type as 4, which means when you use TAX this calc type is used .
    Routines are used to facilitate your process....
    Regards
    Sathya

Maybe you are looking for