BI 7.0 Data Flow in 7.0

Hi SDN Guru's,
I am working BI 7.0 version, I have Activated BI Content for SD & MM Modules, Actualy I am taking at only necessary object in Grouping (tap).
Actualy I am Activating BI Content for BI 3.5 version, Now, I want to do in Data flow in BI 7.0 for SD & MM Modules.
How to do data flow BI 7.0? Please provide me solutions ASAP.......
Thanks & REgards,
Kumar.

Hi,
Kindly follow below steps to convert in to BI 7 dataflow.
If the Dataflow is from Data source to DSO and DSO to Cube
-->First Step u2013 Select DSO to Cube update rule and right click on update rule -> additional function -> create transformation
This will copy and map all the objects with routine if exist and do the syntax check once before activation
-->Second Step u2013 Then select the transfer rule from Data source to DSO to do the same thing as above.
-->Third step - Then migrate the Data source , in   this always select the u2018with exportu2019 option which  will enable to revert back to 3.x version .. If needed
If from one data source many targets are getting updated then use infosource
-->Create DTP for all
In addition to this I will suggest you to use LSA architecture if it is fresh implementation.
Regards,
Ashish

Similar Messages

  • Using asynchronous timer for data flow control

    Hi all,
      I am using system sleep to control the data flow (some digital lines and analog output). The pseudo code is something like this
    Sleep(150);
    // the following sections are exectuted in parallel
      #pragma omp parallel sections
        #pragma omp section
          DAQmxWriteDigitalLines(...); // output TTL to one digitla line
        #pragma omp section
          DAQmxWriteDigitalLines(...); // output TTL to another digitla line     
        #pragma omp section
          Sleep(2); // sleep 2ms
    // the following sections are exectuted in parallel
      #pragma omp parallel sections
        #pragma omp section
          DAQmxWriteDigitalLines(...); // output TTL to one digitla line
        #pragma omp section
          DAQmxWriteAnalogScalarF64(...); // analog output to one channel
        #pragma omp section
          Sleep(1); // delay 1ms
    // the following sections are exectuted in parallel
      #pragma omp parallel sections
        #pragma omp section
          DAQmxWriteDigitalLines(...); // output TTL to one digitla line
        #pragma omp section
          DAQmxWriteAnalogScalarF64(...); // analog output to one channel
    #pragma omp section
          DAQmxWriteAnalogScalarF64(...); // analog output to another channel
        #pragma omp section
          Sleep(11); // delay 11ms
    // ... other stuffs
    I am running windows XP and I know it is not possible to get realtime control but  I want a as precise timing as possible. Above code is not perfect but it works 95% of times. I just read an article about using the asynchronous timer to control the time delay. I try that idea with the following code frame
    int CVICALLBACK ATCallback(int reserved, int timerId, int event, void *callbackData, int eventData1, int eventData2)
    if (event==EVENT_TIMER_TICK)
    int *nextdelay = (int *)callbackData;
    SuspendAsyncTimerCallbacks();
    if (timerId>=0)
    double time;
    if (*nextdelay==0) time=2.0;
    else if (*nextdelay==1) time=1.0;
    else time=12.0;
    SetAsyncTimerAttribute(timerId, ASYNC_ATTR_INTERVAL, time);
    if (*nextdelay==0)
    #pragma omp parallel sections
    #pragma omp section
    DAQmxWriteDigitalLines(...); // output TTL to one digitla line
    #pragma omp section
    DAQmxWriteDigitalLines(...); // output TTL to another digitla line
    *nextdelay++;
    else if (*nextdelay==2)
    #pragma omp parallel sections
    #pragma omp section
    DAQmxWriteDigitalLines(...); // output TTL to one digitla line
    #pragma omp section
    DAQmxWriteAnalogScalarF64(...); // analog output to one channel
    *nextdelay++;
    else if (*nextdelay==3)
    #pragma omp parallel sections
    #pragma omp section
    DAQmxWriteDigitalLines(...); // output TTL to one digitla line
    #pragma omp section
    DAQmxWriteAnalogScalarF64(...); // analog output to one channel
    #pragma omp section
    DAQmxWriteAnalogScalarF64(...); // analog output to another channel
    *nextdelay++;
    ResumeAsyncTimerCallbacks();
    return 0;
    void main(void)
    int n = 0;
    int timeid;
    timeid = NewAsyncTimer(120.0/1000.0, 3, 1, ATCallback, &n);
    But it doesn't work. There is no compilation and runtime error but the timing just not right. I wonder do I have to suspend the timer in the callback function when I reset the delay for next call? If I do so, I am worry if it will apply too much delay (since I suspend and resume the timer in the delay) so it will cause even worse timing. But if I don't suspend the timer before I reset the time, what happen if the code running in the callback function not finished before the next callback arrive. It is quite confusing how to use asynchronous timer in this case. Thanks.

    Yeah, unfortunately the 6711 doesn't have clocked digital I/O.  There are only two counters anyway so even if you could use them to generate your signals you wouldn't have enough (*maybe* something with the 4 AO channels and a counter depending on what your output signals need to look like?  The AO channels can output "digital" as well if you write 0V or 5V only).
    A PCI DAQ card which does support clocked digital I/O and has 2 analog outputs is the 6221 (or if you could use PCIe the 6321 is a more updated version with two extra counters and some additional functionality).
    If there isn't a way to implement clocked outputs afterall, one thing you could do to make your code a little more efficient is to consolidate the writes.  You can put your digital lines into a single task and write them at ocne, and you can put your analog channels into a single task and write them at once as well.
    I'm not sure about the callback issue, you might find some more help in the CVI forum.  I don't think it's going to solve your underlying problem though as ultimately the execution timing of your software calls is at the mercy of your OS.
    Best Regards,
    John Passiak

  • Display Data Flow - Short Dump

    Hi all,
    When i select display data flow of any cube...it is going for a short dump.
    I have searched for the answer in previous Forum questions. I could find only for previous BW versions but not for for BI7.
    Could you please let me know the solution for this issue.
    Thanks & Regards,
    Eswari

    Hi All,
    Thank you very much for all of your responces.....
    I am working on Support Package 10.
    Here is the detailed description of the short dump.
    Short text
        The current application triggered a termination with a short dump.
    What happened?
        The current application program detected a situation which really
        should not occur. Therefore, a termination with a short dump was
        triggered on purpose by the key word MESSAGE (type X).
    What can you do?
        Note down which actions and inputs caused the error.
        To process the problem further, contact you SAP system
        administrator.
        Using Transaction ST22 for ABAP Dump Analysis, you can look
        at and manage termination messages, and you can also
        keep them for a long time.
    Error analysis
        Short text of error message:
        GP: Control Framework returned an error; contact system administrator
        Long text of error message:
         Diagnosis
             The Graphical Framework is based on the basis technology known as
             the Control Framework. A method in the Control Framework returned
             an error.
         Procedure
             It probably involves a programming error. You should contact your
             system administrator.
         Procedure for System Administration
             Check the programming of the graphics proxy especially for the
             parameters that were sent and, if necessary, correct your program.
        Technical information about the message:
        Message class....... "APPLG"
        Number.............. 229
        Variable 1.......... " "
        Variable 2.......... " "
        Variable 3.......... " "
        Variable 4.......... " "
    How to correct the error
        Probably the only way to eliminate the error is to correct the program.
        If the error occures in a non-modified SAP program, you may be able to
        find an interim solution in an SAP Note.
        If you have access to SAP Notes, carry out a search with the following
        keywords:
        "MESSAGE_TYPE_X" " "
        "CL_AWB_OBJECT_NET_SAPGUI======CP" or "CL_AWB_OBJECT_NET_SAPGUI======CM005"
        "PBO"
        If you cannot solve the problem yourself and want to send an error
        notification to SAP, include the following information:
        1. The description of the current problem (short dump)
           To save the description, choose "System->List->Save->Local File
        (Unconverted)".
        2. Corresponding system log
           Display the system log by calling transaction SM21.
           Restrict the time interval to 10 minutes before and five minutes
        after the short dump. Then choose "System->List->Save->Local File
        (Unconverted)".
        3. If the problem occurs in a problem of your own or a modified SAP
        program: The source code of the program
           In the editor, choose "Utilities->More
        Utilities->Upload/Download->Download".
       4. Details about the conditions under which the error occurred or which
       actions and input led to the error.
    Thanks,
    Eswari.

  • SRM 7.0 data flow frm SC to PO

    Hi,
    As I am new to SRM, I wish to know how the data flow from SC to PO.
    Here is my scenarion, we are in extended classic scenarion, we have 10 custom fields in SC and the same 10 fields in PO. The moment a SC is ordered, approved and created our PO will be created . I want to know how the data for the custom fields and the standard fields flow from SC to PO.
    I found some BADi's, and I learnt that all those badis are related to BAckend PO,
    BBP_CREATE_BE_PO_NEW - For classic scenario in newer versions of SRM
    BBP_ECS_PO_OUT_BADI     - For extended classic scenario
    BBP_EXTLOCALPO_BADI     - For controlling the Extended classic scenario on Local PO
    Please correct me if I am wrong. Let me the exact data flow.
    Information on this highly appreciated and will be higly rewared. Thanks in advance.
    Krishna Chaitanya

    Solved

  • R/3 data flow is timing out in Data Services

    I have created an R/3 data flow to pull some AP data in from SAP into Data Services.  This data flow outputs to a query object to select columns and then outputs to a table in the repository.  However the connection to SAP is not working correctly.  When I try to process the data flow it just idles for an hour until the SAP timeout throws an error.  Here is the error:
    R/3 CallReceive error <Function Z_AW_RFC_ABAP_INSTALL_AND_RUN: connection closed without message (CM_NO_DATA_RECEIVED)
    I have tested authorizations by adding SAP_ALL to the service account I'm using and the problem persists.
    Also, the transports have all been loaded correctly.
    My thought is that it is related to the setting that controls the method of generating and executing the ABAP code for the data flow, but I can't find any good documentation that describes this, and my trial and error method so far has not produced results.
    Any help is greatly appreciated.
    Thanks,
    Matt

    You can't find any good documentation??? I am working my butt off just.......just kiddin'
    I'd suggest we divide the question into two parts:
    My dataflow takes a very long time, how can I prevent the timeout after an hour? Answer:
    Edit the datastore, there is a flag called "execute in background" to be enabled. With that the abap is submitted as a background spool job, hence does not have the dialog-mode timeout. Another advantage is, you can watch it running by brwosing the spool jobs from the SAP GUI.
    The other question seems to be, why does it take that long even? Answer:
    Either the ABAP takes that long because of the data volume.
    Or the ABAP is not performing well, e.g. join via ABAP loops with the wrong table as inner.
    Another typical reason is to use direct_download as transfer method. This is fine for testing but it takes a very long time to download data via the GUI_DOWNLOAD ABAP function. And the download time would be part of the ABAP execution.
    So my first set of questions would be
    a) How complex is the dataflow, is it just source - query - data_transfer or are there joins, lookups etc?
    b) What is the volume of the table(s)?
    c) What is your transfer method?
    d) Have you had a look at the generated abap? (in the R/3 dataflow open the menu Validation -> Generate ABAP)
    btw, some docs: https://wiki.sdn.sap.com:443/wiki/display/BOBJ/ConnectingtoSAP

  • Error on Data Flow Task MSSQL 2012 Clustered "Description: The version of Lookup is not compatible with this version of the DataFlow. "

    We have an SSIS package that runs on clustered MSSQL 2012 Enterprise Nodes that is failing.  We use a job to executer the package.
    Environmental information:
    Product - Microsoft SQL Server Enterprise: Core-based Licensing (64-bit)
    Operating System - Microsoft Windows NT 6.1 (7601)
    Patform - NT x64
    Version - MSSQL Version 11.0.3349.0
    Package is set to 32 -bit.  All permissions verified.  Runs in lower environments, same MSSQL version.  All environments are clustered.  In the failing environment, all nodes are at the same service pack.  I have not verified if all
    nodes in the failing environment have SSIS installed.  Data access is installed.  We have other simpler packages that run in this environment, just not this one.  Time to ask the community for help!
    Error:
    Source: Data Flow Task - Data Flow Task (SSIS.Pipeline)     Description: The version of Lookup is not compatible with this version of the DataFlow.  End Error  Error:  Code: 0xC0048020    
    Description: Component "Conditional Split, clsid {7F88F654-4E20-4D14-84F4-AF9C925D3087}" could not be created and returned error code 0x80070005 "Access is denied.". Make sure that the component is registered correctly.  End Error 
    Description: The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is "Conditional Split;Microsoft Corporation; Microsoft SQL Server; (C) Microsoft Corporation; All Rights
    Reserved; http://www.microsoft.com/sql/support;0".  End Error 
    (Left out shop specific information.  This is the first error in the errors returns by the job history for this package. )
    Thanks in advance.

    Hi DeveloperMax,
    According to your description, the error occurs when you execute the package with Agent job on clustered MSSQL 2012 Enterprise Nodes.
    As per my understanding, I think this issue can be caused by you use SQL Server Agent to schedule a SQL Server Integration Services package in a 64-bit environment. And the SSIS package is referencing some 32-Bit DLL or 32-Bit drivers which are available
    only in 32-bit versions, so the job failed.
    To fix this issue, we should use the 32-bit version of the DTExec.exe utility to schedule the 64-bit SQL Server Agent to run a package. To run a package in 32-bit mode from a 64-bit version of SQL Server Agent, we can go to the Job Step dialog box, then
    select “32 bit runtime” in the Advanced tab.
    Besides, we should make sure that SQL Server Integration Services is installed on the failing environment.
    If there are any other questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Data flows are getting started but not completing successfully while extracting/loading of the data

    Hello People,
    We are facing a abnormal behavior with the dataflows in the data services job.
    Scenario:
    We are extracting the data from CRM end in parallel. Please refer the build:
    a. We have 5 main workflows flows i.e :
       => Main WF1 has 6 more sub Wf's in it, in which each sub Wf has 1/2 DF's associated in parallel.
       => Main WF2 has 21 DF's and 1 WFa->with a DF & a WFb. WFb has 1 DF in parallel.
       => Main WF3 has 1 DF in parallel.
       => Main WF4 has 3 DF in parallel.
       => Main WF5 has 1 WF & a DF in sequence.
    b. Regularly the job works perfectly fine but, sometimes it gets stuck at the DF’s without any error logs.
    c. Job doesn’t stuck at a specific dataflow or on a specific day, many a times it strucks at different DF’s.
    d. Observations in the Monitor Log:
    Dataflow---------------------- State----------------RowCnt------LT-------AT------ 
    +DF1/ZABAPDF
    PROCEED
    234000
    8.113      394.164
    /DF1/Query
    PROCEED
    234000
    8.159      394.242
    -DF1/Query_2
    PROCEED
    234000
    8.159      394.242
    Where LT: Lapse Time and AT: Absolute time
    If you check the monitor log, the State of the Dataflow DF1 remains PROCEED till the end, ideally it should complete.
    In successful jobs, the status for DF1  is STOP . This DF takes approx. 2 min to execute.
    The row count for DF1 extraction is 234204 but, it got stuck at  234000.
    Then we terminate the job after sometime,but for surprise it gets executed successfully on next day.
    e. As per analysis over all the failed jobs, same things were observed over the different data flows that got stuck during the execution.Logic related to the data flows is perfectly fine.
    Observations in the Trace log:
    DATAFLOW: Process to execute data flow <DF1> is started.
    DATAFLOW: Data flow <DF1> is started.
    ABAP: ABAP flow <ZABAPDF> is started.
    ABAP: ABAP flow <ZABAPDF> is completed.
    Cache statistics determined that data flow <DF1>
    uses <0>caches with a total size of <0> bytes. This is less than(or equal to) the virtual memory <1609564160> bytes available for caches.
    Statistics is switching the cache type to IN MEMORY.
    DATAFLOW: Data flow <DF1> using IN MEMORY Cache.
    DATAFLOW: <DF1> is completed successfully.
    The highlighted text in the trace log is not appearing in the unsuccessful job but, it appears for the successful one.
    Note: The cache type is pageable cache, DS ver is 3.2.
    Please suggest.
    Regards,
    Santosh

    Hi Santosh,
    just a wild guess.
    Would you be able to replicate all the DF\WF , delete original DF\WF, rename replicated objects to original to DF\WF names(for your convenience)   and excute it.
    Some time reference does not work.
    Hope this should work.
    Regards,
    Shiva Sahu

  • Data flow fails on packed decimal field moving iSeries DB2 data from one iSeries DB to another

    I' trying to use SSIS to move table content from one iSeries DB2 database to another.  I'm using the .Net providers for OleDb\IBM DB2 for i5/OS IBMDA400 OLE DB Provider in the connection managers for the source and destination and the test connection
    works fine.  When I try to run the data flow task however it fails on the first packed decimal field it encounters with the exceptions ...
    [select from hydro520 hydroweb2 blpmstr [16]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR.  The "component "select from hydro520 hydroweb2 blpmstr" (16)" failed because error code 0x80004002 occurred, and the error
    row disposition on "output column "MSPRIB" (55)" specifies failure on error. An error occurred on the specified object of the specified component.  There may be error messages posted before this with more information about the failure.
    [select from hydro520 hydroweb2 blpmstr [16]] Error: The component "select from hydro520 hydroweb2 blpmstr" (16) was unable to process the data. Pipeline component has returned HRESULT error code 0xC0209029 from a method call.
    [SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "select from hydro520 hydroweb2 blpmstr" (16) returned error code 0xC02090F5.  The component returned a failure code when the pipeline
    engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.
    ...in the progress tab.  Can someone kindly tell me what I need to do to get the connection manager to work with DB2 packed decimal fields?  Or is it a different issue all together?  Thanks tonnes for any help, Roscoe

    Hi rpfinn,
    From the Data Types mapping rules between SSIS and DB2, we can see that both the NUMERIC and DECIMAL data types in DB2 are mapped to DT_NUMBERIC data type in SSIS. Now that the source data in your DB2 database is NUMERIC data type, changing the DT_NUMBRIC
    data type to DT_DECIMAL is invalid. Besides, if we check the data types of the target External column and Output column from the Advanced Editor for ADO NET Source adapter, the data type should be defined as DT_NUMERIC with Precision as 9 and Scale as 2. I
    am not clear where you see the DT_NUMBERIC(9,0) e.g. DT_NUMERIC with Precision as 9 and Scale as 0, but it may be the cause of the issue. You need to make sure the DT_NUMERIC data type also has Scale 2 instead of 0.
    If you don’t know how to modify the data type, please elaborate the Data Flow Task of the package so that we can make further analysis. Besides, the error messages you posted are incomplete, it will be helpful if you post the complete error message.
    Regards,
    Mike Yin
    If you have any feedback on our support, please click
    here
    Mike Yin
    TechNet Community Support

  • How to derive month/year from date in SAP BW 3.5 data flow

    Hi
    How we can derive cal year/month and fiscal month/year from date in SAP BW 3.5 data flow (we're using transfer and update rule)..
    Thanks,
    PK

    Hi,
    if you have any date filed in source side you can just map to any time char system will automatically convert to target objects.
    please look at the screen shot for understanding. (not 3.x it is 7.x)
    Thanks,
    Phani.

  • Problem with context mapping and data flow in a FPM application

    Hi All,
    I am trying to develop an ESS application using FPM. For the same, the requirement is to see the history of an employee in the second view.
    The first view has got just the overview information and the second one has got the detail. So, the records or the fields are the same on both the views.
    As per the FPM guidelines, the Model is residing in the Fc component and the respective Vc components are using the model data accordingly.
    I am executing the model in the Fc component calling the executable method in the interfaceController of the first view and then trying to display the output data of the BAPI in the first view which provides the overview information.This is working fine.
    But when i am trying to map the same output node to the Table UI for the second view, the record size is coming zero and thus no information is available.
    For the above issue, I am again executing the RFC in the InterfaceController of the second view to populate the records, which is incorrect as it is already executed and the data is available for the first view.
    I request you to let me know the correct approach to Context mapping and data flow when using FPM-roadmap. Is their any standard method or approach available to deal with such requirements? Please let me know.
    Thanks in advance.
    Regards
    DK

    Hi Idhaya,
    I model node is available in Fc and the Fc interface controller is being used in the first Vc and the second Vc.
    So the idea is, as the executable method is generated in the Fc, so i have created a custom method to call the executable method in Fc, where the input parameter is getting passed and this custom method is finally getting called is the first Vc.
    So , now my first Vc is ready to call the custom method in Fc and execute the RFC. Once the RFC is executed, the nodes in the Fc should get populated which is the ideal case.
    And as the Fc is used as a component in the second Vc, the same node is available to the UI elements.
    But, when I check the record size for the output node, it is always zero, for the second Vc.
    Regards
    DK

  • Data Flow terminated due to error 120307

    Hi.
    I get this error when executed  project.
    Source system: SyBase IQ.
    Target system: SAP HANA.
    Part of tables copied successfully, but job terminated anyway.
    I attached screenshots with Progress screen and Monitoring.
    Error log is empty.
    In trace log I see errors from SUBJ.
    Also I have another one strange message in trace log:
    Cache statistics determined that data flow <SYBASE_IQ_2_HOD_DBA_FACT_FINAL> uses 0 caches with a total size of 0 bytes, which is less than (or equal to) 3757047808 bytes available for caches in virtual memory. Data flow will use IN MEMORY cache type.

    I executed this job from data services designer and get another error.
    main Bufman: An error was detected on a database page. You may have a damaged index. For additional information, please check your IQ message file or run sp_iqcheckdb
    Trying to find issue in goggle

  • Why does DB2 Data Flow Task query does not accept a date coming from a string or datetime variable in SSIS?

    I am trying to compare a DB2 date format to a date variable from SSIS. I have tried to set the variable as datetime and string. I have also casted the SQL date as date in the data flow task. I have tried a number of combinations of date formats, but no luck
    yet. Does anyone have any insights on how to set a date (without the time) variable and be able to use it in the data flow task SQL? It has to be an easy way to accomplish that. I get the following error below:
    An invalid datetime format was detected; that is, an invalid string representation or value was specified. SQLSTATE=22007".
    Thanks!

    Hi Marcel,
    Based on my research, in DB2, we use the following function to convert a string value to a date value:
    Date(To_Date(‘String’, ‘DD/MM/YYYY’))
    So, you can set the variable type to String in the package, and try the following query:
    ACCOUNT_DATE  BETWEEN  '11/30/2013' AND  Date(To_Date(?, ‘DD/MM/YYYY’))
    References:
    http://stackoverflow.com/questions/4852139/converting-a-string-to-a-date-in-db2
    http://www.dbforums.com/db2/1678158-how-convert-string-time.html
    Regards,
    Mike Yin
    TechNet Community Support

  • Read from sql task and send to data flow task - [OLE DB Source [1]] Error: A rowset based on the SQL command was not returned by the OLE DB provider.

    I have created a execut sql task -
    In that, i have a created a 'empidvar' variable of string type and put sqlstatement = 'select distinct empid from emp'
    Resultset=resultname=0 and variablename=empidvar
    I have added data flow task of ole db type and I put this sql statement under sql command - exec emp_sp @empidvar=?
    I am getting an error.
    [OLE DB Source [1]] Error: A rowset based on the SQL command was not returned by the OLE DB provider.
    [SSIS.Pipeline] Error: component "OLE DB Source" (1) failed the pre-execute phase and returned error code 0xC02092B4.

    shouldnt setting be Result
    Set=Full Resultset as your query returns a resultset? also i think variable to be mapped should be of object type.
    Then for data flow task also you need to put it inside a ForEachLoop based on ADO.NET recordset and map your earlier variable inside it so as to iterate for every value the sql task returns.
    Also if using SP in oledb source make sure you read this
    http://consultingblogs.emc.com/jamiethomson/archive/2006/12/20/SSIS_3A00_-Using-stored-procedures-inside-an-OLE-DB-Source-component.aspx
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • SQL Query using a Variable in Data Flow Task

    I have a Data Flow task that I created. THe source query is in this file "LPSreason.sql" and is stored in a shared drive such as
    \\servername\scripts\LPSreason.sql
    How can I use this .sql file as a SOURCE in my Data Flow task? I guess I can use SQL Command as Access Mode. But not sure how to do that?

    Hi Desigal59,
    You can use a Flat File Source adapter to get the query statement from the .sql file. When creating the Flat File Connection Manager, set the Row delimiter to a character that won’t be in the SQL statement such as “Vertical Bar {|}”. In this way, the Flat
    File Source outputs only one row with one column. If necessary, you can set the data type of the column from DT_STR to DT_TEXT so that the Flat File Source can handle SQL statement which has more than 8000 characters.
    After that, connect the Flat File Source to a Recordset Destination, so that we store the column to a SSIS object variable (supposing the variable name is varQuery).
    In the Control Flow, we can use one of the following two methods to pass the value of the Object type variable varQuery to a String type variable QueryStr which can be used in an OLE DB Source directly.
    Method 1: via Script Task
    Add a Script Task under the Data Flow Task and connect them.
    Add User::varQuery as ReadOnlyVariables, User::QueryStr as ReadWriteVariables
    Edit the script as follows:
    public void Main()
    // TODO: Add your code here
    System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter();
    DataTable dt = new DataTable();
    da.Fill(dt, Dts.Variables["User::varQuery"].Value);
    Dts.Variables["QueryStr2"].Value = dt.Rows[0].ItemArray[0];
    Dts.TaskResult = (int)ScriptResults.Success;
    4. Add another Data Folw Task under the Script Task, and join them. In the Data Flow Task, add an OLE DB Source, set its Data access mode to “SQL command from variable”, and select the variable User::QueryStr.
    Method 2: via Foreach Loop Container
    Add a Foreach Loop Container under the Data Flow Task, and join them.
    Set the enumerator of the Foreach Loop Container to Foreach ADO Enumerator, and select the ADO object source variable as User::varQuery.
    In the Variable Mappings tab, map the collection value of the Script Task to User::QueryStr, and Index to 0.
    Inside the Foreach Loop Container, add a Data Flow Task like step 4 in method 1.
    Regards,
    Mike Yin
    TechNet Community Support

  • Automatic creation of BW data flow documentation

    Dear Gurus,
    I need to write documentation of the data flow of a huge project which I haven't implemented by myself.
    The documentation should contain a mapping of the objects in the dataprovider, towards objects in the source system(s).
    Eventually with the info in which dataproviders the objects are included, e.g. between the multiprovider and the source system.
    Details of transformations can be ignored; eventually mentioning there's a routine involved, but that's the maximum.
    With the data repository, I can have the content of cubes in a graphical overview, but it doesn't really provide me useful information.
    You can imagine I prefer an automatic way to create this documentation.
    Anybody who knows a solution, even if it only provides part of the purpose?
    Any solution via query, standard SAP or customized program, ...
    Recommendations would be very highly appreciated!
    Thx & Rgds, sam

    Worldwide documentation is made on SAP BW projects, but no reply on automatic documentation.
    A lot of time must be lost by manually creating documentation on mapping objects to source system fields.
    ==> SAP, please, work out a solution.
    I didn't find a satisfying solution, but I've done it the following way:
    List all objects for a multiprovider via the meta data repository, and paste in excel document.
    Then listing all objects for the underlying dataproviders, and paste in separate sheets of this excel.
    Compare the objects of the MP with the objects on the other sheets using excel functions, and sign when a dataprovider contains a certain object.
    For the datasources, I checked if an object is present, and if yes, give the original source field.
    This in summary as a not optimal and not complete solution, but it prevents making mistakes.
    Rgds. sam

  • Data flow in R/3 and CRM

    Hi experts
    I am bit confused about the data flow in source systems moving to Delta queue even though i know bits and pices but not able to relate and keep them in order.
    First Scenario- R/3
    When we save a transaction or create a sales order by V1 it will go to Database tables and then through V1 it will reach the Extraction queue or Update tables based on the delta method we select or else if direct delta it will go directly to the Delta queue which is nothing but QRFCOUT AND ARFCQUEUE tables.
    in SM53 we can check the transfer of data records from this delta queue to BW.
    Is my understanding right on the R/3.
    Second scenario- CRM
    when we save a transaction lets take an example of Activity creation how does this pass to Delta queue and to the Database tables and is their a intermidate place where we can check the data in between the Transaction creation and till the Delta Queue of CRM.
    thanks and regards
    Neel

    Hi Rahul,
    Execute Transaction: CRMC_R3_ORG_GENERATE
    Select the org u want to copy to CRM.
    Click on 'Generate Selected Lines'.
    Best Regards,
    Pratik Patel
    <b>Reward with Points!</b>

Maybe you are looking for