How to , pre mapping

Hello,
I have a mapping which create a text file as target from tables as source. I have created a simple pl/sql procedure which create some headers data into the text file. So first, I would like to create file with headers ( using pre-mapping operator) and then I will call my mapping which actually create the text file. This is the first time I am planning to use pre-mapping, I would like to know how to create a pre-mapping to call the custom transformation which accept some input parameters and then execute the rest of the mapping. I could not find much detail in the user guide at http://download-east.oracle.com/docs/html/B10996_01/08mapope.htm#1175525
Thanks
Suhail

Hello Mark,
I am trying to reach you again about this solution you provided. It took me to test so long because there were no data in our source tables. Anyway, as I mentioned in my previous thread that I need to create text file with some header info. I have a pl/sql procedure which accept some input parameters and create the header file, here is the code:
PROCEDURE FILE_HEADER( p_separator in varchar2 default ',',
p_dir in varchar2 default '/u00/feeds/crunit/outgoing/',
p_filename in varchar2,
p_file_attrib in varchar2 )
is
l_output utl_file.file_type;
l_theCursor integer default dbms_sql.open_cursor;
l_columnValue varchar2(4000);
l_status integer;
l_colCnt number default 0;
l_separator varchar2(10) default '';
l_cnt number default 0;
begin
l_output := utl_file.fopen( p_dir, p_filename, 'w' );
UTL_FILE.PUT_line(l_output,p_file_attrib);
utl_file.fclose( l_output );
end file_header;
I have a constant transformation with 4 attribute defined ( similar to 4 input paarmeters in this procedure), then I created a pre-mapping transformation and used my custom procedure which I mentioned earlier. Then I mapped constant attributes to mapping attributes ( This way it creates the header row). Now I have a source table and a target text file , I mapped some columns from soure to Text files, I generated, deployed and executed. However, when I am looking into the created text file, it just create the header row and no details data from sourec table, why OWB does not fetch the data, am I missing something here?
Thanks for your help.
Suhail

Similar Messages

  • How to design a mapping with a pre-mapping operator

    Hi,
    I want to design a mapping with only one operator: a pre-mapping operator that uses a procedure with no parameters (so there are no input/output groups). When I validate this mapping I get error VLD-1009: Mapping lines have not been created.
    Question 1: how do I design a mapping if all I want to do is to execute a procedure and there are no target operators involved?
    Question 2: how are pre-mapping process operators intended to be used? (apparently not the way I use one here)
    Jaap.

    One way of doing this is to jus add a constant and a target table to insert a value into a dummy target. (i.e sysdate into dummy_table) This way you can execute the procedure using a pre mapping operator.

  • How to use pre-mapping process operator

    Hi,
    I am using OWB version 10.1.0.4.0.
    There are two source tables namely src1_tb(id1,field1,field2), src2_tb(id2,field3,field4) and a target table namely target_tb(id1,id2,field1,field2,field3,field4).
    It's a simple mapping with a join operator. Here, when I try to use a pre-mapping process operator 'LENGTH', with input from outgroup of join operator (field1) and output linked to an added field( VALUE_LENGTH) in Traget Table, it gives error "VLD-2451: Connection to premapping is invalid" and a warning "VLD-1008 :Referenced mapping column VALUE_LENGTH" does not exist"
    Can anyone please let me know how to use pre-mapping process operator.
    Any help will be greatly appreciated.
    Regards,
    Pawan

    yes, a pre-mapping procedure is not what you want here.
    Pre-mapping procedures run once when the mapping initializes and before the actual ETL is run. IT is a place where you could do some custom data cleansing / validation, populate your own audit loggin tables if you wish, or whatever other things you might like to do.
    For what you are describing, you want to pass the field through an expression object. Drop the Expression on the canvas and drag a link from the field in your OUTGRP to the INGRP on the expression This will auto-create the corresponding ingrp attribute in the expression for that field. Then double-click the expression object to bring up it's properties sheet. You will then want to create an OUTGRP attribute called length_value of type number, and set it's Expression property to length(ingrp1.your_Field_name_here). You can then connect from this outgrp field to your field in the target table.
    Cheers,
    Mike

  • About Pre-Mapping

    Here my problem:
    I use Pre-Mapping which contains a function turning over a value. Until nothing very difficult...
    Now, which I must try to make is to stop or not my mapping (RAISE) according to the value of return and to thus be able to use this function in various other mapping (which will stop according to another value of return of the function)... But it is where I block, I do not manage to find how, in OWB, I can make a "RAISE" of Mapping...
    For the moment I use procedures which make the in-house RAISE, but in this case I must as many create procedures as of treated cases...
    If somebody can inform me on this subject, or same can be to say to me that it is quite simply not possible in OWB..
    It would be brilliant
    Thank you, Sebastien

    Hi Sebastien,
    Which version of Warehouse Builder do you use? In the latest release (and I think this was introduced in 9.0.3) you can specify as a PREMAPPING property a Mapping Run Condition: ON SUCCES, ON ERROR, or ALWAYS. In that case, if you raise an error in the pre-mapping process, then you can influence whether or not the mapping runs.
    Alternatively, in 9.0.4 or higher, you can define a process flow, use the transformation in the process flow, configure the transformation in the process flow to Use Return as Status to return 1, 2 or 3 to direct the process flow into SUCCESS, WARNING or ERROR respectively.
    Hope this helps,
    Mark.

  • Problems with pre-mapping process operator in owb 9i

    Hi,
    I was trying to use the pre-mapping process operator in owb 9i. Problem is that the manual does not specify how the inputs need to be connected to this operator.
    Following is what I went through -
    I created a mapping table operator and a mapping dimension operator and connected these two. Then i created a pre-mapping process operator selecting the LTRIM function. Further I connected one of the table attributes to this pre-mapping operator as input and connected the output of this pre-mapping operator to the appropriate dimension operator attribute.
    On performing Validate, following error message was flashed -
    VLD-2451 : Illegal connection to pre-mapping process operator
    I am trying to learn how to use OWB 9i from the manual. So my interpretation of the use of the pre-mapping process operator may be wrong.
    In any case kindly help,
    Thanks,
    Saju

    Pre-mapping process is use to perform some operations preceding to mapping operation itself.
    For example, if your mapping is designed to incrementally append data to table for the definite time interval (witch is a parameter of the map operation) you might want to perform the table data cleanup for that period. That will allow for reload data number of time.
    In this case you have to define the procedure witch perform cleanup and than include the call to that procedure as a pre-mapping process.
    Other examples of pre- and post mapping process is disabling referential integrity before loading and re-enabling them after loading.
    Anyway, OWB documentation has clear definition for pre- and post-mapping processes.

  • Problems with pre-mapping process in owb 9i

    Hi,
    I was trying to use the pre-mapping process operator in owb 9i. Problem is that the manual does not specify how the inputs need to be connected to this operator.
    Following is what I went through -
    I created a mapping table operator and a mapping dimension operator and connected these two. Then i created a pre-mapping process operator selecting the LTRIM function. Further I connected one of the table attributes to this pre-mapping operator as input and connected the output of this pre-mapping operator to the appropriate dimension operator attribute.
    On performing Validate, following error message was flashed -
    VLD-2451 : Illegal connection to pre-mapping process operator
    I am trying to learn how to use OWB 9i from the manual. So my interpretation of the use of the pre-mapping process operator may be wrong.
    In any case kindly help,
    Thanks,
    Saju

    Hi,
    Essentially the pre (and post) mapping processes are executed before and after the mapping logic. These are separate procedures in the generated package and are "stand alone" from the main package procedure holding the actual mapping diagram.
    If you want to use LTRIM, there are 2 supported ways:
    1) use an expression, this means you feed the column you want to do the expression on into the expression operator, open the code editor and select from the transformations (or type ltrim......) and then link the result to the target object
    2) use a transformation operator, choose ltrim from the Oracle library and connect the operator as I stated in use case 1
    We do not encourage you to use a filter to do transformations, it is better to use the operators that are intended for transformations.
    Thanks,
    Jean-Pierre

  • Pre-mapping problem

    Hello ,
    I would like to delete some records before inserting new records to the target table. So I use the Pre-mapping process for this situation. I wrote a simple "Delete record" procedure in the "Public transformation/Customs/Procedures. But when I deploy the mapping , there is an error.
    PLS-00201: identifier 'DELETE_RECORD' must be declared
    My delete_record procedure is as follow
    --initialize variables here
    -- main body
    BEGIN
    NULL; -- allow compilation
    delete from ora_tb5 where c1=1
    EXCEPTION
    WHEN OTHERS THEN
    NULL; -- enter any exception code here
    END;
    Is there any problems in the above procedure code ? How to declare the procedure in OWB ? How can I deploy the mapping successfully ? Thanks !
    Dan

    Hi,
    Sorry I did not realize that you were trying the Custom functions.
    Deploying Custom Functions it is bit trivial. There are 2 ways to deploy them.
    1. Using GUI - Copy and Paste the Function into the module where you have your mapping and then deply it into that location.
    2. Using OMB+ -
    OMBCONNECT < to design repo>
    OMBCC '<your project>'
    OMBCONN RUNTIME '<ur RT connection>' USE PASSWORD '<rt password>'
    OMBCC '<ur project>/WB_CUSTOM_TRANS'
    --list available functions / procs
    OMBLIST FUNCTIONS
    OMBLIST PROCEDURES
    --create deployment action plan
    OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN 'DEP_PLAN'\
    ADD ACTION 'DEP_FUNC' SET PROPERTIES (OPERATION) \
    VALUES ('CREATE') SET REFERENCE FUNCTION '<your func/proc name>'
    --Change back to the module where your mapping exists
    OMBCC '/<ur project>/<your module>'
    OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'DEP_PAN'
    OMBCOMMIT
    The above steps will deploy the function. Reconcile the pre-mapping. Deploy mapping. This should work.
    Yes. I think you are right regarding the usage of DELETEs.
    hope the above resolves your issues.
    Thanks
    mahesh

  • Pre-mapping

    Hello Gurus,
    I asked yesterday how to do a pre-mapping and I closed the topic because it's still not clear. What I want to achieve is the following:
    I have a 3 messages Source 1, Source 2 and Target. I get an incoming msg which can be Source 1 or Source 2 based on an element within the Source message (1or2) I have 2 situations:
    - either I send a message from Source 1 to Source 2 and then send a message to the target.
    - or I just send a message from Source 2 to the Target.
    Now I guess to achieve that I need a BPM but when I define all my objects I made a mistake somewhere but do not know where:
    Message Interface
    - MI_Source1, abstract asynchronous
    - MI_Source2, abstract synchronous
    - MI_Target, abstract asynchronous
    Message Mappings:
    MM_Source2_to_Target
    MM_Source1_to_MM_Source2
    Interface Mapping:
    One Interface mapping saying that:
    Source message - MM_Source1 and Target - MM_Source2
    Source message - MM_Source2 and Target - MM_Target
    But I get alot of errors like: Synchronous message interfaces are not permitted in multi-mappings. Remove the synchronous source message interfaces Message Interface.
    How do I need to solve it?
    Hope someone can help.

    hi Koopmann,
    ur scenario looks similar to SAP BASIS--> BPM Pattern...
    Basically u need to take a fork with two branch --one having receive step for source 1 and the other one for source2.. Put Necessary branch=1 in property of fork.
    if each brach do the mapping- first brachsource1 to source2 and then source2 to target... (use two message mapping in a single interface mapping for this)
    similarly do the mapping in the other branch...
    at runtime suppose source1 come then it will go to first brach..then it will do the mapping present in that branch and exit the fork..
    if source2 comes then it will activate second branch...
    try this .. i think it should work....

  • Call store procedure from pre-mapping

    Hi,
    I am currently working on OWB client version 10.2.0.4.36.My requirement is to call store procdure from pre-mapping tranformation.How to achieve this & how to pass parameters to the store procedure?
    Please let me know.
    Thanks,
    Siva

    Thanks for the quick reply.I am doing the same way as suggested.But am getting warning,when I validate it and is expecting to synchronize it.What warning you got exactly and i think you have not deployed the procedure.
    The reason for this procedure is to select max value from one of the table and then drop & recreate the sequence with max value + 1.
    Inside the procedure,am doing this all dynamically.which means am passing Columnname,tablename & sequencename to this procedure.
    Do you think is this good approach or any other advisable approach?Can you explain you requirement then only we can suggest the better way .
    Cheers
    Nawneet

  • Truncate tables in pre-mapping process

    I am using OWB 9.0.4 and I have 10 staging area tables that I will be loading in one mapping. I want to truncate all of these tables before I load them. I can not use the TRUNCATE/INSERT option on the target tables because each table will be loaded from two different source tables and I can't specify order in the mapping so I can't have one TRUNCATE/INSERT and the other just INSERT. I would prefer not to have two mappings. I have also tried doing a union on the two source tables but this was not working out well. If I use a pre-mapping operator and select the WB_TRUNCATE_TABLE function, how do I specify multiple tables?
    Is there a better way to do this?

    WB_TRUNCATE_TABLE function takes in only one parameter, so you would have to have 10 pre-mapping processes with that function, or a single one with a custom function.
    I guess you figured the other two choices yourself:
    - If your sources have the same number of attributes and matching datatypes - map them through a Set Operator in a single map with TRUNCATE/INSERT loading type
    - If your sources are different, put them in different maps, with TRUNCATE/INSERT on one and INSERT on the other. Then you can control the order of map execution.
    Nikolai

  • Pre-Mapping Process Operator

    We are not getting any documentation, how to use Pre-Mapping Process Operator(I went through the help documentation and tried to apply whatever is there).
    I am using this operator for a function that returns single value. The output of this operator I want to load into the Expression input and expression operator output I want to load into the target table. The output from the Pre-mapping Operator is blank when I am seeing indebugging mode. I am not getting result in execution mode also. Its a simple function that returns number. The function is
    FUNCTION Tesppt RETURN NUMBER IS
    BEGIN
    RETURN 100;
    END;
    I want to know how Pre-Mapping operator works . When I am using the function in expression it works fine.
    I tried out simple mapping to load a table, it did not work out. The code generated is
    CREATE OR REPLACE PACKAGE "TEREEES" AS
    sql_stmt VARCHAR2(32767);
    get_abort BOOLEAN := FALSE;
    get_trigger_success BOOLEAN := TRUE;
    get_errors NUMBER(22) := 0;
    get_status NUMBER(22) := 0;
    -- Status variable for Batch cursors
    "TEST_PP_St" BOOLEAN;
    "PREMAPPING_0_VALUE" NUMBER;
    -- Function Main -- Entry point in package "TEREEES"
    FUNCTION Main RETURN NUMBER;
    END "TEREEES";
    CREATE OR REPLACE PACKAGE BODY "TEREEES" AS
    -- Function "TEST_PP_Bat"
    -- performs batch extraction
    -- Returns TRUE on success
    -- Returns FALSE on failure
    FUNCTION "TEST_PP_Bat" RETURN BOOLEAN IS
    BEGIN
    EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';
    BEGIN
    INSERT
    /*+ APPEND PARALLEL(TEST_PP, DEFAULT, DEFAULT) */
    INTO
    "TEST_PP"
    ("C1",
    "C2")
    (SELECT
    "TEST_COUNTRY"."CODE" "CODE",
    "PREMAPPING_0_VALUE" "VALUE"
    FROM "TEST_COUNTRY" "TEST_COUNTRY"
    COMMIT;
    EXCEPTION WHEN OTHERS THEN
    ROLLBACK;
    COMMIT;
    RETURN FALSE;
    END;
    COMMIT;
    RETURN TRUE;
    END "TEST_PP_Bat";
    FUNCTION Main RETURN NUMBER IS
    get_batch_status BOOLEAN := TRUE;
    BEGIN
    -- Pre-Model Triggers
    BEGIN
    "PREMAPPING_0_VALUE" :=TESPPT();
    EXCEPTION WHEN OTHERS THEN
    get_trigger_success := FALSE;
    END;
    -- Initialize all batch status variables
    "TEST_PP_St" := FALSE;
    IF get_trigger_success THEN
    "TEST_PP_St" := "TEST_PP_Bat";
    END IF;
    RETURN get_status;
    END Main;
    END "TEREEES";
    Thanks in advance.

    We are having one table which will be populated from other source. It will have one value and we need to fetch that value and this value will be constant for the the whole mapping as there is only one record. So, this the reason why we wanted to do this process before the start of the mapping. The code that I have pasted is sample that I did as an trial for testing how pre mapping process operator works.
    Actually we are using expression and in expression for every record, we don't want to call a function. We want to call function once only so thats the reason why we are using Pre-Mapping Process operator. I don't think that there is anything better than this but the function returns no value when we are using the Pre-Mapping process operator but when I use this function in the outgroup of the expression it returns the value.
    I wanted to see how Pre-mapping operator works, so we tried out simple mapping with simple function but did not work there also. This simple mapping code is there in the query that I asked first.
    Thanks in Advance

  • Problem using pre-mapping process operator in owb 9i

    Hi,
    I was trying to use the pre-mapping process operator in owb 9i. Problem is that the manual does not specify how the inputs need to be connected to this operator. Following is what I went through -
    I created a mapping table operator and a mapping dimension operator and connected these two. Then i created a pre-mapping process operator selecting the LTRIM function. Further I connected one of the table attributes to this pre-mapping operator as input and connected the output of this pre-mapping operator to the appropriate dimension operator attribute. On performing Validate, following error message was flashed -
    VLD-2451 : Illegal connection to pre-mapping process operator
    I am trying to learn how to use OWB 9i from the manual. So my interpretation of the use of the pre-mapping process operator may be wrong.
    In any case kindly help,
    Thanks
    Saju

    Pre-mapping process is use to perform some operations preceding to mapping operation itself.
    For example, if your mapping is designed to incrementally append data to table for the definite time interval (witch is a parameter of the map operation) you might want to perform the table data cleanup for that period. That will allow for reload data number of time.
    In this case you have to define the procedure witch perform cleanup and than include the call to that procedure as a pre-mapping process.
    Other examples of pre- and post mapping process is disabling referential integrity before loading and re-enabling them after loading.
    Anyway, OWB documentation has clear definition for pre- and post-mapping processes.

  • How do I map custom property from portal api ptsearchresponse?

    I want to map the search results to my datatable.
    I can execute the search fine. But how do I map the property value? My property id is 101.
    In other words which ptSearchResponse method do I use?
                    IPTSession ptSession;
                    IPTSearchRequest ptSearchRequest;
                    IPTSearchResponse ptSearchResponse;
                    IPTSearchQuery ptSearchQuery;
                    string serverConfigDir = ConfigPathResolver.GetOpenConfigPath();
                    IOKContext configContext = OKConfigFactory.createInstance(serverConfigDir, "portal");
                    PortalObjectsFactory.Init(configContext);
                    ptSession = PortalObjectsFactory.CreateSession();
                    ptSession.Connect(1, "", null);
                    // Create a SearchRequest object
                    ptSearchRequest = ptSession.GetSearchRequest();
                    // Set search settings (constraints)
                    // Set maximum results desired (100)
                    ptSearchRequest.SetSettings(
                    PT_SEARCH_SETTING.PT_SEARCHSETTING_MAXRESULTS, 100);
                    // Set the folder in which to search (array to support multiple folders)
                    ptSearchRequest.SetSettings(
                        PT_SEARCH_SETTING.PT_SEARCHSETTING_DDFOLDERS,
                        new int[] { Convert.ToInt32(ConfigurationManager.AppSettings["DocumentFolderId"]) });
                    // Include subfolders of the folder
                    ptSearchRequest.SetSettings(
                        PT_SEARCH_SETTING.PT_SEARCHSETTING_INCLUDE_SUBFOLDERS, true);
                    // Restrict search to just portal documents
                    // (not ALI Collaboration or ALI Publisher)
                    ptSearchRequest.SetSettings(
                        PT_SEARCH_SETTING.PT_SEARCHSETTING_APPS, PT_SEARCH_APPS.PT_SEARCH_APPS_PORTAL);
                    // get documents only
                    ptSearchRequest.SetSettings(
                        PT_SEARCH_SETTING.PT_SEARCHSETTING_OBJTYPES, new int[] { PT_CLASSIDS.PT_CATALOGCARD_ID });
                    // Request the intrinsic PT_PROPERTY_PROVIDERCLSID and custom property 101
                    ptSearchRequest.SetSettings(
                        PT_SEARCH_SETTING.PT_SEARCHSETTING_RET_PROPS,
                        new int[] { PT_INTRINSICS.PT_PROPERTY_PROVIDERCLSID, 101 });
                    //Use IPTFilter to create search filter with clause with two statements
                    IPTFilter ptFilter;
                    IPTPropertyFilterClauses ptFilterClause;
                    IPTPropertyFilterStatement ptFilterStmt1;
                    IPTPropertyFilterStatement ptFilterStmt2;
                    // Create the filter itself
                    ptFilter = PortalObjectsFactory.CreateSearchFilter();
                    // Create the filter clause
                    ptFilterClause = (IPTPropertyFilterClauses)ptFilter.GetNewFilterItem(PT_FILTER_ITEM_TYPES.PT_FILTER_ITEM_CLAUSES);
                    ptFilterClause.SetOperator(PT_BOOLOPS.PT_BOOLOP_OR);
                    // Attach it to the filter itself
                    ptFilter.SetPropertyFilter(ptFilterClause);
                    // Put two statements into the clause
                    ptFilterStmt1 = (IPTPropertyFilterStatement)
                        ptFilter.GetNewFilterItem(PT_FILTER_ITEM_TYPES.PT_FILTER_ITEM_STATEMENT);
                    ptFilterStmt1.SetOperand(101);
                    ptFilterStmt1.SetOperator(PT_FILTEROPS.PT_FILTEROP_CONTAINS);
                    ptFilterStmt1.SetValue(tbSearch.Text.Trim());
                    ptFilterClause.AddItem(ptFilterStmt1, ptFilterClause.GetCount());
                    ptFilterStmt2 = (IPTPropertyFilterStatement)
                        ptFilter.GetNewFilterItem(PT_FILTER_ITEM_TYPES.PT_FILTER_ITEM_STATEMENT);
                    ptFilterStmt2.SetOperand(1);
                    ptFilterStmt2.SetOperator(PT_FILTEROPS.PT_FILTEROP_CONTAINS);
                    ptFilterStmt2.SetValue(tbSearch.Text.Trim());
                    ptFilterClause.AddItem(ptFilterStmt2, ptFilterClause.GetCount());
                    // Make the filter into an actual search query
                    ptSearchQuery = ptSearchRequest.CreateAdvancedQuery(ptFilter);
                    // Run the search and return results
                    ptSearchResponse = ptSearchRequest.Search(ptSearchQuery);               
                    // How many things matched the search?
                    int totalMatches = ptSearchResponse.GetTotalMatches();
                    // How many items were returned? (Not necessarily all)
                    int returnedMatches = ptSearchResponse.GetResultsReturned();
                    // create DataTable and map results to
                    // datatable fields
                    DataTable dtSearchResults = new DataTable("Documents");
                    dtSearchResults.Columns.Add("Name");
                    dtSearchResults.Columns.Add("Excerpt");
                    dtSearchResults.Columns.Add("DocSubject");
                    dtSearchResults.Columns.Add("DocTopic");
                    dtSearchResults.Columns.Add("DocType");
                    dtSearchResults.Columns.Add("DocKeywords");
                    dtSearchResults.Columns.Add("Url");
                    dtSearchResults.Columns.Add("ImageURL");
                    DataRow dr;                                                                                                          
                    // Print the name of each result
                    for (int i = 0; i < returnedMatches; i++)
                        dr = dtSearchResults.NewRow();
                        String strName = ptSearchResponse.GetFieldsAsString(i, PT_INTRINSICS.PT_PROPERTY_OBJECTNAME);                  
                        String strText = ptSearchResponse.GetFieldsAsString(i, PT_INTRINSICS.PT_PROPERTY_OBJECTSUMMARY);
                        String strURL = ptSearchResponse.GetFieldsAsString(i, PT_INTRINSICS.PT_PROPERTY_DOCUMENTURL);
                        String strImageURL = ptSearchResponse.GetFieldsAsString(i, PT_INTRINSICS.PT_PROPERTY_OBJECTIMAGEUUID);
                        dr["Name"] = strName;
                        dr["Excerpt"] = strText;
                        dr["Url"] = strURL;
                        dr["ImageURL"] = "pt://images/plumtree/portal/public/img/sml" + strImageURL + ".gif";
                        dtSearchResults.Rows.Add(dr);
    Edited by [email protected] at 04/11/2008 7:26 PM
    Edited by [email protected] at 04/11/2008 7:27 PM

    Problem solved. I should use JsonObject instead of JSONObject :D 

  • How to measure mapping execution speed

    Hi,
    currently i'm trying to measure performance differences between Interface Mappings which contain one single Message Mapping and Interface Mappings which contain 2 or 3 Message Mappings.
    I already tried to do this with RWB and Performance-Monitoring. But Performance Monitoring shows the processing time through the whole XI, and not only Mapping execution time. So it is difficult to get a clean measuring there, without influences from queueing and so on.
    Test Tab on Integration Builder has a too big step (one second). Mapping execution time is slower.
    Do you have any ideas to measure this?
    Or do you have experience with performance differences between those two kinds of Interface Mappings?
    regards,
    ms
    P.S. i'm using XI 3.0

    Hi, Manuel:
    For the two scenarios you want to compare performance, trigger them separately.
    You take following steps to take measurement for those two scenarios:
    Go to SXMB_MONI, find the message, go to pipeline step after your "Request Message Mapping"
    e.g. you can select "Technical Routing" step, expand it, -> SOAP Header -> Performance Header:
    You will see the start time stamp for each steps executed up to current step.
    Locate your mapping programs, get the begin time stamp and end time stamp, then you will know the how long the mapping program take.
    For the scenario that you have several mapping programs, make sure you get begin timestamp for the first mapping program and end timestamp for last mapping program, the difference is the time for you few mapping program take.
    Hope this helps.
    Liang
    Edited by: Liang Ji on Mar 29, 2008 5:42 AM

  • How do i map one field to another in control file via SQL Loader

    Can someone please reply back to this question
    Hi,
    I have a flat file (student.dat delimiter %~| ) using control file (student.ctl) through sql loader. Here are the details.
    student.dat
    student_id, student_firstname, gender, student_lastName, student_newId
    101%~|abc%~|F %~|xyz%~|110%~|
    Corresponding table
    Student (
    Student_ID,
    Student_FN,
    Gender,
    Student_LN
    Question:
    How do i map student_newId field to student_id field in STUDENT DB table so that new id should be inserted in student_id column. How do i specify the mapping in control file. I dont want to create a new column in student table. Please let me know the best way to do this.
    Can someone please reply back to this question.
    My approach:
    In control file i will sepecify the below, Is this a best approach?. Do we have any othe way?
    STUDENT_ID *(:STUDENT_NEWID)*,
    STUDENT_FN,
    GENDER,
    STUDENT_LNAME,
    STUDENT_NEWID BOUNDFILLER
    Thanks
    Sunil
    Edited by: 993112 on Mar 13, 2013 12:28 AM
    Edited by: 993112 on Mar 13, 2013 12:30 AM
    Edited by: 993112 on Mar 13, 2013 12:31 AM
    Edited by: 993112 on Mar 18, 2013 2:52 AM

    OK, ok...
    Here is the sample data:
    101%~|abc%~|F %~|xyz%~|110%~|
    102%~|def%~|M %~|pqr%~|120%~|
    103%~|ghi%~|M %~|stu%~|130%~|
    104%~|jkl%~|F %~|vwx%~|140%~|
    105%~|mno%~|F %~|yza%~|150%~|Here is the control file:
    LOAD DATA
    INFILE student.dat
    TRUNCATE INTO TABLE STUDENT
    FIELDS TERMINATED BY '%~|' TRAILING NULLCOLS
      student_old  FILLER
    , student_fn
    , gender
    , student_ln
    , student_id
    )And here is the execution:
    SQL> CREATE TABLE student
      2  (
      3    student_id   NUMBER
      4  , student_fn   VARCHAR2 (10)
      5  , gender       VARCHAR2 (2)
      6  , student_ln   VARCHAR2 (10)
      7  );
    Table created.
    SQL>
    SQL> !sqlldr / control=student.ctl
    SQL*Loader: Release 11.2.0.3.0 - Production on Tue Mar 19 14:37:31 2013
    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
    Commit point reached - logical record count 5
    SQL> select * from student;
    STUDENT_ID STUDENT_FN                     GENDER STUDENT_LN
           110 abc                            F      xyz
           120 def                            M      pqr
           130 ghi                            M      stu
           140 jkl                            F      vwx
           150 mno                            F      yza
    SQL>:p

Maybe you are looking for

  • I installed a new firmware but now I don´t like

    The matter is that I installed the new firmware which gives you the chance to drag and drop the songs just using Windows but then does not let you use the original program. Well, I tried the Windows drag and drop and it is great if you need it when y

  • Can I Add a Second Wireless Router to my Airport Extreme?

    I have an Airport Extreme 802.11n, (the square one). I just bought a new wireless Epson All-in-One, the Artisan 700. Even though this is a brand new model, Epson foolishly built it as 802.11g, and not 802.11n. Who knows what they were thinking. 802.1

  • How to identify reverse or reset document nos from FI tables?

    Hi.. I have to send FI Documents data from SAP to NON_SAP system. Like from tables BKPF, BSID,BSAD, BSIK,BSAK, BSIS, BSAS. I will send this data through RFC on weekly cycle..Now problen is that if the cleared item document is reset or reverse then th

  • Apple drop down menu not appearing.....

    Recently had to do a complete restore from my back up to my mac mini. Seems to have sorted out most of the problems I was having (but not all). However the Apple Symbol drop down Menu in the Menu bar turns blue when clicked on, but no sub menu appear

  • Reduce size of all items and text

    I have 2 30-page A4 booklets in which I want to reduce everything by about 15% to increase white space by widening the top and outside margins. The booklets include text and some images, all of which I want to reduce proportionally. I thought of incr