How do I make Merge operation into the target table case insensitive?

Hi All,
We have a target table that has a varchar 2 column called nat_key and a map that copies over data from a source table into the target table.
Based on wheteher the values in the nat_key column matches between the source and the target, an update or an insert has to be done into the target table.
Let us say target table T has the following row
nat_key
EQUIPMENT
Now, my source table has the same in a different case
nat_key
equipment
I want these rows to be merged .
In the OWB map, I have given the property of nat_key column in the target table as 'Match while updating' = 'Yes'. Is there a built in feature in OWB, using which I can make this match as case insensitive?
Basically, I want to make OWB generate my mapping code as
if UPPER(target. nat_key)=upper(source.nat_key) then update...else insert.
Note: There is a workaround with 'Alter Session set nls_sort=binary_ci and nls_comp=linguistic', but this involves calling a pre-mapping operator to set these session parameters.
Could anyone tell me if there is a simpler way?

Hi,
use an expression operator to get nat_key in upper case. Then use this value for the MERGE. Then nat_key will only be stored in upper case in your target table.
If you have historic data in the target table you have to update nat_key to upper case. This has to be done only once and is not necessary if you start with an empty target table.
Regards,
Carsten.

Similar Messages

  • How to soft delete a row from the target table?

    Could someone help me on this requirement?
    How to implement the below logic using only ODI? I am able to implement the below logic with the "DELETE_FLAG" as "N".
    I want to make the latest record with the flag as "N" and all the previous other records with the flag as "D".
    Thanks a lot in advance.
    I have a source table "EMP".
    EMP
    EMPID FIRST_NAME
    1 A
    2 B
    First name is changed from A to C and then, C to D etc. For each data change, I would add a target row and mark the latest row as "N" and the rest as "D". The target table would contain the following data:
    Target_EMP
    EMPID FIRST_NAME DELETE_FLAG
    1 A D
    1 C D
    1 D N

    The problem is that I can't delete the row cause it demands from me to fill the mandatory field previously. It takes place when the key field is ROWID. In other cases delete is succesful.

  • Data is not loading into the target table in BODS

    BODS job is executing successfully but data is not loading.
    can anyone please let me know what is the problem
    Regards,
    Deva

    Hi Deva
    The Information provided is very limited, what are your Source and Target Databases?
    What is the structure of the job design?
    If the job completed without error, review the job logs to confirm that rows were indeed processed.
    Regards
    Charles

  • Upload an XML file into the Internal table

    Hi Guys,
    I want to know, how to upload an xml file into the Internal table through ABAP programming

    you just wanted to load the xml file into internal table (as a table of binary strings)or load the xml data mapped to itab row columns
    for the first one you can simply use gui_upload
    and for the second one you need to load the xml file using gui_upload and use XLST program to transform into an itab
    Regards
    Raja

  • Loading multiple files into a target table parallely

    Hi
    We are building an interface to load from flat files to an Oracle table. The input can be more than one files all of th same format. I have created a variable for the flat file data store. I have created 2 packages
    In package 1
    I have put odi file wait to trigger whenever files come into the directory . The list of files is written to a metadata table table. A procedure is triggered which picks a record from the metadata table and calls the scenario for calls package 2 by passing the selected record as parameter.
    In package 2
    The variable value is set to the parameter passed from package 1 procedure
    The interface runs to load the flat file = to the variable value into the target table
    Now if the directory has more than one flat file , the procedure in package 1 calls the package 2 scenario more than one times. This causes sequential load from each flat file to the target table. Is there a way wherein the multiple flat files can be loaded in parallel to the same target table? At this point ,I am not sure if this is possible as there is only one interface and one variable for the source file

    As per your requirement , your process seems to be always continues like a loop[ reason being as you have mentiond - I dont want to wait for all files to come in. As soon as a file comes in the file has to be loaded.  ] .
    You can solve the issue of file capture using OdiFileWait to let you know when the files have arrived.
    Tell me this what do you plan to when the File loading is complete, will that be in the same folder and when new files come will that update with the same name or different name , becuase irresptive of same file or different if the files are present in the same folder after loading into target , then we might do repetitive loading of files. Please tell me how do you plan to handle this.
    When you have plan to use LKM file to sql , what is the average number of source records coming into each sample files. ?
    Just to add to above question , what is the average numner of parallel loads you are expecting and what is the time interval between each paralled loading you are expecting.

  • Refering the target table records in the transfering quey

    Hi all
    I am trying to load some records using my job in DI in the target table. The query I should use is a bit tricky. While I'm loading records into the target table using query, I should check whether one of the columns has been used in transferring record or not. As I want to have a unique value on one column. It is distinct, distinct get the unique records, I need have unique value in one column accross whole the table.
    I noticed it's not possible to refer to target column in the Query object to see whether that value has been used already there or not. But how can I address this requirement? Do you have any experience?
    I write the SQL Code here which I should use in Query object in Data Integrator:
    In the target table, every city should just come in one and only record.
    INSERT INTO target
         Effective_From_Date,
         Effective_To_Date,
         Business_Unit_ID,
         Provider_ID
    SELECT distinct
         table1.Effective_From_Date,
         table2.Effective_To_Date,
         table4.city_ID,
         table4.provider_ID
    FROM
         table1 a
         INNER JOIN table2 b
              ON (a.typeID = b.typeID)
         INNER JOIN table3 c
              ON (a.professionID = c.professionID)
         INNER JOIN table4 d
              ON (c.city_ID = d.city_ID)
                   WHERE  NOT EXISTS
                                    (SELECT * FROM target e 
                               WHERE d.city_ID = e.Business_Unit_ID)
    Thanks.

    You can use the target table as a source table as well, just drag is into your dataflow again and select Source instead of Target this time.  Then you can outer join the new source target table to your query (I might do this in a second query instead of trying to add it to the existing one).
    You could also use a lookup function to check the target table.  In this case you'd also have to add a second query to check the result of your lookup.
    Worst case, you can just throw that whole SQL query you've already created into a SQL transform and then use that as your source.

  • I have just used migration assistant to import photos (using an ethernet cable) from my PC. It has worked but they have gone into a new user on my MacPro. How can I merge them into the one user account.

    I have just used migration assistant to import photos (using an ethernet cable) from my PC. It has worked but they have gone into a new user on my MacPro. How can I merge them into the one user account.

    How many pictures (or how many bytes) are we talking?  Now that the pictures are imported one way to cross users is to use a removable drive (although large volumes of files preclude this).
    The other is to login as the user where the pictures are, then copy them into the public drop box of the user where you want the picture.
    The arrow is showing (in ths example) copy files from the Pictures folder for my user to the guest user accounts public dropbox.  When you do this you may have to authenticate and you won't be able to see the results of the copy until you log in as the other user.
    All users are in the folder "/Users/"

  • HT201303 I reset my iTunes Security Questions and when I go into the Apple Store to buy a TV Show it is still asking me the old security questions, not the new ones... How do I make iTunes ask me the new security questions?

    I reset my iTunes Security Questions and when I go into the Apple Store to buy a TV Show it is still asking me the old security questions, not the new ones... How do I make iTunes ask me the new security questions?

    Get prepared for some bad news, then contact iTS.
    iTunes Store Support
    http://www.apple.com/emea/support/itunes/contact.html

  • How can I make a folder in the TV for my home movies

    How can I make a folder in the TV shows for my home movies collection?  I have created a folder in the library in finder and put all the videos in there but they do not appear in itunes.
    pshultz

    It's best to never move iTunes media around in Finder. Add it to the Library through the iTunes interface by dragging them into the window. Once they've been added to the library, you can try using Get Info on the files in iTunes and change the tag info to make them group together. (A unique album name should do this.) If you want them to be included with TV Shows, you can try using Get Info to set the Kind to TV Show (found under the Options tab in Get Info), but I'm not sure if it will work. Otherwise, you could make a playlist and drag them into to access them all in one convenient spot.
    If you add the items as noted above and they still do not appear in your library, it's probably because they are not a compatible format.
    Message was edited by: Diane Wordsmith

  • How can I make different catalogs from the same image

    How can I make different catalogs from the same image where that image has been changed in some way between the catalogs. For instance if I wanted to have a catalogs for cropped images and have 3 catalogs one for 4x6 , 5x7 and 8x10 cropping. When I tried this , if I changed a file in one catalog that same image in the other would change also.

    Do not confuse the creation of the crops and the display in collections per crop ratio.
    Of course one virtual copy (VC) per crop ratio is needed. If the same image should be cropped in all 3 mentioned ratios there would be 3 VCs.
    The OP asked how to have/see a set of same-crop-ratios.
    After having created the virtual copies for whatever crop ratio he wants, the way to display this result in the fashion asked for is via smart collections, provided they can be found. Without a plugin the naming of the VC with the crop ratio applied is a straight way to achieve that.
    IF the wish is to get new crops automatically added. (See my answers 2+3)
    IF the wish is to creat static collections per crop ratio for a certain set of images, I'd go as follows:
    1. Select all images you want to have cropped in that way,.
    2. With this selection click on the + to add another collection and fill the dialog box like this:
    Then navigate into this newly created selection and perform the 4x6 crop - according to taste individually or by synchronizing the first crop.
    Cornelia

  • How do I make it so that the one computer that has the main itunes account on it be used on other computers, when it comes to backing up phones and not deleting data off of phone that isnt on that computer itunes becasse its all on the one main computer

    how do I make it so that the one computer that has the main itunes account on it be used on other computers, when it comes to backing up phones and not deleting data off of phone that isnt on that computer itunes becasse its all on the one main computer. Baiscally the problem is that one comuter and one account has always been sued for eey persons itunes. Now if we want to be able to backup and use itunes on our own computers fro our iphones and such, how will all he data that is on our phones not be deleted once its plugged into a new computer? Also, is theere a way to get all the stuff on thw current itunes onto each computer, via differtn account name?

    option discovered in preferences. Really this and any feature that moves deletes or edits a users data should as far as possible be OFF BY DEFAULT. It shouldn't by default and without the users specific say do this dangerous and unnecessary thing without even letting the user know what it's doing!!! And then cause me a few hours (as i'm new to mac) searching for the option so as to switch it off. If i hadn't noticed the status cage declaring that it was copying files then i might never have twigged that this insane thing was occurring. And if i hadn't of noticed i would have been left maintaining the contents of the folder i copied the files to, the folder which as far as i was informed and so believed was also the location of the music files i was playing. How does Apple justify this 'genius' piece of software non-design? Surely it will hurt no one if this was off by default for new users - overall at least i dare say it would cause a lot less distress in the future for the unsuspecting public at large. Thanks for the support.

  • After creating a new user account, how do I move my files into the new user?

    I have an issue where my 'Desktop/Screensaver' prefs seem to be corrupt somehow. When I click on that icon in System Preferences, it stalls and I get the spinning ball, thus resulting in a force quit. After reading a Mac Format magazine where someone wrote in with a similar issue, they said to trash various prefs (did that and made no difference) and if that didn't work, try creating a New User account (therefore creating brand new system prefs) and move your stuff over.
    Well, I've created the New User account, but I can't figure out how to move/copy my stuff into the user folders. After copying and attempting to move stuff in, I see folders with a red circle with a white line through it (like a 'no entry' sign).
    Any clue as to how this can be done? All I'm trying to do is to reinstate the system prefs so they are not corrupt anymore on my log-in.

    No. Not the main Library folder. Make absolutely sure you are in the Home Library folder and not the main Library folder.
    Your Home Library folder is hidden in Lion. To get to it, in the Finder menu, select GO and hold the option key down. Select Library in the submenu. The Finder window will open in your Home Library. This is where your user prefs are stored.
    Once there, you will see the Preferences folder. Open it up, select all items within it and move them to the trash. You will need to restart in order for the new Finder preferences to be recreated.
    Once you restart, then you will be back to the default preferences to the system and all applications. And yes, it will affect all settings including your Dock, just as logging into a new user. You will have to reset everything there also.
    If you wish to do a selective method, instead of deleting all preferences, try deleting the one associated with your problem. Screen saver problems should be affected by the system preferences, so try deleting this:
    com.apple.systempreferences.plist
    com.apple.systempreferences.plist.lockfile
    Note that when you delete system file preferences, a restart will be required. For applications, just quit the application before trashing preference files.

  • How can I make iTunes sort on the first word by default, even though that word is "The" or "A"?

    How can I make iTunes sort on the first word by default, even though that word is "The" or "A"?
    I myself think that (for instance) "A tribe called Quest" should be sorted under "A", not "T".
    Now I can edit the sort options manually per track and/or per selection, but I would really like to just kill this "iTunes-knows-how-you-should-sort"-feature in iTunes.
    Anyone any suggestion on how to do that?
    Thanks

    Here is a modified version of one of Doug's Scripts. My modification was to add Sort Name to the list of tags that could be changed. I tried it on a single track and it worked. I recommend backing up your library first. Select the tracks you want to change (or all tracks) and run the script from the Applescript Editor.  If it works as intended, save it so you can apply it to newly imported tracks.  And, yes, I know this isn't the exact answer to your question, you want to change a preference setting in iTunes (if there is such a setting).
    Original script can be forund at http://dougscripts.com/itunes/scripts/ss.php?sp=thistagthattag
    Modified script is below. Start up Applescript Editor, paste it into a new window.  Start up iTunes and select the tracks to modify.  Click Run in the Applescript Editor.  Follow the instructions.
    (* Put This In That
    v2.0 april 22 2008
    - runs as universal binary
    - adds "Show" tag
    - consolidated code
    - saved as script bundle
    v1.7 October 3, 2006
    - adds "Album Artist" as option
    v1.6 October 28, 2004
    - works around iTunes 4.7 selection bug
    v1.5 ('04/1)-- adds "grouping" tag
    Get more free AppleScripts and info on writing your own
    at Doug's AppleScripts for iTunes
    http://dougscripts.com/itunes/
    This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
    Get a copy of the GNU General Public License by writing to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
    or visit http://www.gnu.org/copyleft/gpl.html
    -- CONSTANTS
    property allOptions : {"Song Name", "Artist", "Album", "Album Artist", "Composer", "Genre", "Comments", "Show", "Grouping", "Sort Name"}
    property my_title : "Put This In That"
    global thisTag, thatTag, theNewTags, theOriginalTags, yn
    tell application "iTunes"
              if selection is not {} then -- if tracks are selected...
                        set sel to selection
                        set numTracks to (length of sel)
                        set s to "s"
                        if numTracks is 1 then set s to ""
                        display dialog "The data from one tag REPLACES the data in another tag in all the selected tracks, with option to delete data in first tag." & return & return & (numTracks & " track" & s & " selected.") buttons {"Cancel", "Continue"} default button 2 with title my_title giving up after 30
                        if gave up of result is true then return
                        my choose_this_tag()
                        my choose_that_tag()
                        set yn to (button returned of (display dialog "Delete data in " & thisTag & " afterwards?" buttons {"Yes", "No"} default button 2 with title my_title giving up after 45) is "Yes")
                        set oldfi to fixed indexing
                        set fixed indexing to true
                        repeat with t from 1 to numTracks
                                  tell contents of item t of sel
                                            set theOriginalTags to {get name, get artist, get album, get album artist, get composer, get genre, get comment, get show, get grouping, get sort name}
                                            set theNewTags to theOriginalTags
                                            my do_put()
                                            set {name, artist, album, album artist, composer, genre, comment, show, grouping, sort name} to theNewTags
                                  end tell
                        end repeat
                        set fixed indexing to oldfi
              else
      display dialog "No tracks have been selected." buttons {"Cancel"} default button 1 with icon 0 giving up after 30
              end if -- no selection
    end tell
    to choose_this_tag()
              tell application "iTunes"
                        set n to (choose from list allOptions with prompt ("Select a tag to get data from:") with title my_title)
                        if n is false then error number -128
                        set thisTag to (n as text)
              end tell
    end choose_this_tag
    to choose_that_tag()
              set o to {}
              repeat with t in allOptions
                        if (t as text) is not thisTag then copy t to end of o
              end repeat
              tell application "iTunes"
                        set n to choose from list o with prompt ("Use data from the " & thisTag & " tag to REPLACE data in...") with title my_title
                        if n is false then error number -128
                        set thatTag to n as text
              end tell
    end choose_that_tag
    to do_put()
              try
                        repeat with i from 1 to (length of allOptions)
                                  if thisTag is (item i of allOptions) then
                                            set thisTag_sto to (item i of theOriginalTags)
                                            exit repeat
                                  end if
                        end repeat
                        repeat with i from 1 to (length of allOptions)
                                  if thatTag is (item i of allOptions) then
                                            set (item i of theNewTags) to thisTag_sto
                                            exit repeat
                                  end if
                        end repeat
                        if yn then
                                  repeat with i from 1 to (length of allOptions)
                                            if thisTag is (item i of allOptions) then
                                                      set (item i of theNewTags) to ""
                                                      exit repeat
                                            end if
                                  end repeat
                        end if
              end try
    end do_put

  • How do I make a pdf into a url? I would like to put a link on an e-newsletter.

    How do I make a pdf into a url? I would like to put a link on an e-newsletter.

    Hi infoc12141333,
    You can use the "Create Anonymous Link" option in Adobe Send to create a link to your PDF, which you can ten include in your newsletter. Please follow these steps:
    Log in to https://cloud.acrobat.com/send (if you don't already have an Acrobat.com account, you can sign up at the same link).
    Click Select Files to Send.
    Navigate to the PDF file that you want to link to, select it, and then click Choose.
    Select Create Anonymous Link, and then click Create.
    Copy the link and paste it into your newsletter.
    Please let us know if you have additional questions.
    Best,
    Sara

  • How to convert trailing minus sign into the leading minus sign

    Hi
    Can any plz tell me How to convert trailing minus sign into the leading minus sign? I mean in PI the amount filed shows like 150.00- i want to convert that into -150.00.
    Thanks
    Govinda

    Hi Shabarish,
    The code works but what if the input is something like [   10.000-] i.e. with some spaces before 10.000- and the output as per your code comes as [-     10.000]. How do we tackle such cases if there is inconsistency in data i.e. some values come as [    10.000-] i.e. spaces before the number and some values as [12.000-].
    The output of this will come as
    [-    10.000]
    [-12.000]
    How to make it as
    [-10.000]
    [-12.000]
    Regards,
    Shaibayan

Maybe you are looking for