Two tunnels, two different mtu values, no OSPF adjacency

Hi all,
Well this is an interesting one, i have a tunnel configured between two 2921 routers that used to work just fine, we had an management access issue on one of the routers and it had to be rebooted, all looked fine until one of OSPF adjacencies didn't come up, the one across the tunnel in question, ran a dubug and saw;
Apr 10 2015 09:58:30.319 AEST: OSPF-100 ADJ   Tu100: Nbr 10.0.6.12 has larger interface MTU
OK, so i check both ends of the tunnel, MTU different;
bne-rt01#sh int tunn 100
Tunnel100 is up, line protocol is up 
  Hardware is Tunnel
  Internet address is 10.0.3.62/30
  MTU 17874 bytes, BW 204800 Kbit/sec, DLY 50000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation TUNNEL, loopback not set
  Keepalive not set
  Tunnel source 10.255.255.1 (GigabitEthernet0/1/0), destination 10.255.255.5
   Tunnel Subblocks:
      src-track:
         Tunnel100 source tracking subblock associated with GigabitEthernet0/1/0
          Set of tunnels with source GigabitEthernet0/1/0, 2 members (includes iterators), on interface <OK>
  Tunnel protocol/transport GRE/IP
    Key disabled, sequencing disabled
    Checksumming of packets disabled
  Tunnel TTL 255, Fast tunneling enabled
  Tunnel transport MTU 1434 bytes
  Tunnel transmit bandwidth 8000 (kbps)
  Tunnel receive bandwidth 8000 (kbps)
  Tunnel protection via IPSec (profile "PTQ-IPSEC-PROFILE-2")
  Last input 00:00:02, output never, output hang never
  Last clearing of "show interface" counters 27w0d
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 103048
  Queueing strategy: fifo
  Output queue: 0/0 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     2526404 packets input, 944901813 bytes, 0 no buffer
     Received 0 broadcasts (0 IP multicasts)
     0 runts, 0 giants, 0 throttles 
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     2701610 packets output, 706777352 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 unknown protocol drops
     0 output buffer failures, 0 output buffers swapped out
brn-rt01#sh int tunn 100
Tunnel100 is up, line protocol is up 
  Hardware is Tunnel
  Description: PIPE_Backup
  Internet address is 10.0.3.61/30
  MTU 17866 bytes, BW 204800 Kbit/sec, DLY 50000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation TUNNEL, loopback not set
  Keepalive not set
  Tunnel source 10.255.255.5 (GigabitEthernet0/1/0), destination 10.255.255.1
   Tunnel Subblocks:
      src-track:
         Tunnel100 source tracking subblock associated with GigabitEthernet0/1/0
          Set of tunnels with source GigabitEthernet0/1/0, 2 members (includes iterators), on interface <OK>
  Tunnel protocol/transport GRE/IP
    Key disabled, sequencing disabled
    Checksumming of packets disabled
  Tunnel TTL 255, Fast tunneling enabled
  Tunnel transport MTU 1426 bytes
  Tunnel transmit bandwidth 8000 (kbps)
  Tunnel receive bandwidth 8000 (kbps)
  Tunnel protection via IPSec (profile "PTQ-IPSEC-PROFILE-2")
  Last input 00:00:00, output never, output hang never
  Last clearing of "show interface" counters 01:04:19
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 1
  Queueing strategy: fifo
  Output queue: 0/0 (size/max)
  5 minute input rate 3000 bits/sec, 1 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     1723 packets input, 1069064 bytes, 0 no buffer
     Received 0 broadcasts (0 IP multicasts)
     0 runts, 0 giants, 0 throttles 
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     962 packets output, 91128 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 unknown protocol drops
     0 output buffer failures, 0 output buffers swapped out
checked the IP MTU, different;
bne-rt01#sh ip int tunn 100
Tunnel100 is up, line protocol is up
  Internet address is 10.0.3.62/30
  Broadcast address is 255.255.255.255
  Address determined by setup command
  MTU is 1434 bytes
brn-rt01#sh ip int tunn 100
Tunnel100 is up, line protocol is up
  Internet address is 10.0.3.61/30
  Broadcast address is 255.255.255.255
  Address determined by non-volatile memory
  MTU is 1426 bytes
Checked the source interfaces MTU, same;
bne-rt01#sh int gi0/1/0
GigabitEthernet0/1/0 is up, line protocol is up 
  Hardware is EHWIC-1GE-SFP-CU, address is 442b.03e5.8870 (bia 442b.03e5.8870)
  Description: OPTUS IPVPN WAN
  Internet address is 10.255.255.1/30
  MTU 1500 bytes, BW 204800 Kbit/sec, DLY 10 usec, 
brn-rt01#sh int gi0/1/0
GigabitEthernet0/1/0 is up, line protocol is up 
  Hardware is EHWIC-1GE-SFP-CU, address is 5057.a819.3620 (bia 5057.a819.3620)
  Description: OPTUS IPVPN WAN
  Internet address is 10.255.255.5/30
  MTU 1500 bytes, BW 204800 Kbit/sec, DLY 10 usec, 
Checked IP MTU on source, same;
bne-rt01#sh ip int gi0/1/0
GigabitEthernet0/1/0 is up, line protocol is up
  Internet address is 10.255.255.1/30
  Broadcast address is 255.255.255.255
  Address determined by non-volatile memory
  MTU is 1500 bytes
brn-rt01#sh ip int gi0/1/0
GigabitEthernet0/1/0 is up, line protocol is up
  Internet address is 10.255.255.5/30
  Broadcast address is 255.255.255.255
  Address determined by non-volatile memory
  MTU is 1500 bytes
below is the configuration of the physical source;
bne-rt01#sh run int gi0/1/0
Building configuration...
Current configuration : 209 bytes
interface GigabitEthernet0/1/0
 description OPTUS IPVPN WAN
 bandwidth 204800
 ip address 10.255.255.1 255.255.255.252
 ip traffic-export apply WAN-Traffic-capture size 1000000
 duplex auto
 speed auto
end
brn-rt01#sh run int gi0/1/0
Building configuration...
Current configuration : 209 bytes
interface GigabitEthernet0/1/0
 description OPTUS IPVPN WAN
 bandwidth 204800
 ip address 10.255.255.5 255.255.255.252
 ip traffic-export apply WAN-Traffic-capture size 1000000
 duplex full
 speed 1000
end
below is the configuration of the tunnel interfaces;
bne-rt01#sh run int tunn 100
Building configuration...
Current configuration : 245 bytes
interface Tunnel100
 bandwidth 204800
 ip address 10.0.3.62 255.255.255.252
 ip flow ingress
 ip flow egress
 tunnel source GigabitEthernet0/1/0
 tunnel destination 10.255.255.5
 tunnel protection ipsec profile PTQ-IPSEC-PROFILE-2 shared
end
brn-rt01#sh run int tunn 100
Building configuration...
Current configuration : 270 bytes
interface Tunnel100
 description PIPE_Backup
 bandwidth 204800
 ip address 10.0.3.61 255.255.255.252
 ip flow ingress
 ip flow egress
 tunnel source GigabitEthernet0/1/0
 tunnel destination 10.255.255.1
 tunnel protection ipsec profile PTQ-IPSEC-PROFILE-2 shared
end
To be honest i'm a bit lost as to the reason, any ideas guys?
regards
warren

Hi Warren,
According to this thread:
https://supportforums.cisco.com/discussion/11305311/understanding-mtu-given-gre-tunnel
the first displayed MTU of over 17000 bytes (let's call it simply tunnel MTU as opposed to the tunnel transport MTU) is computed from platform buffer sizes. I suspect that the memory-size iomem command may have something to do with this. Without this command, the router decides how much memory to set aside for packet buffers depending on the installed interfaces and network modules - and of course, based on the IOS version as well, as this automatic IOMEM sizing is performed by the IOS when booting, and different IOSes may do things differently. With this command configured, a fixed percentage of RAM can be reserved. Could something of this have changed between reboots - a different IOS version, perhaps, or adding/removal of this command, or change in installed network modules and interfaces?
Nonetheless, the difference between the tunnel MTUs (8 bytes) seems to correspond to the difference between the tunnel transport MTUs and IP MTUs. Somehow, the change in the tunnel MTU could have affected the resulting tunnel transport MTU.
Yet another question is whether the IPsec policy (transform set, key sizes, etc.) is identical to the IPsec policy before the reload. If my memory serves me, in IPsec, if two peers have identical but differently ordered ISAKMP and IPsec policies, the resulting IPsec operation depends on who first started the ISAKMP negotiation (the idea is: the initiator of the IPsec tunnel proposes all its ISAKMP, and afterwards, all its IPsec policies, and the target of the IPsec tunnel chooses the first one that matches one of its policies). If by any chance the configuration of ISAKMP policies, IPsec transform sets, etc. is not letter-identical on this router and the other endpoint, it is possible that the router now operates the IPsec differently than before the reload, which could affect the overall overhead, and thereby the tunnel transport MTU as well.
In any case, with tunnels, it is my strong recommendation to configure a conservatively low MTU manually. With IPsec-protected GRE tunnels over IPv4, the recommended manual MTU is 1400 and so the TCP MSS should be clamped to 1360. The recommendation for MTU of 1400 is taken from this document:
http://www.cisco.com/c/en/us/support/docs/ip/generic-routing-encapsulation-gre/25885-pmtud-ipfrag.html#t16
I would personally suggest configuring the MTU manually on all your tunnels to 1400. This will both provide for a reasonable reserve in case your own ISP uses some additional overhead to carry your packets, and at the same time, it will prevent your routers from automagically (and obscurely) changing your tunnel transport MTUs between restarts.
Best regards,
Peter

Similar Messages

  • How to upload two different asset values for Book & Tax Depre in FA

    Hello all
    kindly let me know how to resolve a situation where we have different methods of calculating Depreciation. For Example SLM for Book Depreciation and Diminishing method for Tax Depreciation.
    To calculate depreciation we use straight line method for book depreciation and diminishing value method for Tax depreciation. In this case, we have 2 different asset values to calculate book and tax depreciation.
    Since SAP allows to upload only one asset value (Gross book value), I get correct book depreciation value but incorrect value for tax depreciation as the tax depreciation is calculated based on gross book value instead of net book value (gross book value less accumulated depreciation value).
    For Eg
    FOR THE FIRST YEAR 
    BOOK DEPRECIATION:
    Asset Value = 1000
    Depreciation Method : SLM
    Depreciation rate is 10%
    Depreciation Amount = 100
    TAX DEPRECIATION:
    Asset Value = 1000
    Depreciation Method : DIMINISHING METHOD
    Depreciation rate is 15%
    Depreciation Amount = 150
    FOR THE SECOND YEAR
    BOOK DEPRECIATION:
    Asset Value = 1000
    Depreciation Method : SLM
    Depreciation rate is 10%
    Depreciation Amount = 100
    TAX DEPRECIATION:
    Asset Value = 850
    Depreciation Method : DIMINISHING METHOD
    Depreciation rate is 15%
    Depreciation Amount = 127.5
    KINDLY LET ME KNOW HOW TO UPLOAD THE PAST DATA WITH TWO DIFFERENT ASSET VALUES (IE 1000 & 850)  FOR THE ABOVE.
    Regards
    Sushil Yadav

    Hi K,
    I'm having the same problem...did you find a solution yet?
    Greets,
    Martin.

  • Depot excise capture for two different excise values

    Hello Team
    When doing STO from factory to Depot for product A, qty of 10 pcs, the excise duty levied is Rs. 100. Later, due to financial year and excise structure change, for another STO to Depot for product A, qty of another 10 pcs, the excise duty levied is Rs.150. As a process I will capture 20 pcs of product A at the depot, at different time intervals (10 pcs @100 Rs. and later additional 10 pcs @150 Rs).
    Now if I want to dispatch from depot 15 pcs of Product A then what excise rate will the system determine in Depot invoice? I am creating a depot delivery for qty= 15 pcs.
    Sorry I am unable to run this scenario, in the system now, to check J1IJ behaviour. I have to present my client the details, as he is having a depot sales scenario as part of his business
    I will appreciate if you can provide a relevant answer to my query
    <text removed by Moderator>

    Hi Shane,
    In depot system will not fetch any rate it will pass on the value of excise duties from J1IJ to VF01 based on the formula 356 that you assign to excise duty condition types in the depot pricing procedure.
    Normally we will capture the values into RG23D register at depot while incoming goods receipt through J1IG & we will pass on the same while selling through J1IJ.
    If there is any change in price on the same excise invoice which you have already captured in the system then you will follow the process of "A" certificate.
    regards,
    S.Himavanth.

  • SQL Server Reporting Services- Coloring a Cell Background Based on two different column group values

    Hello All,
    I have a matrix report with time scale on the x axis  and Resources on Y axis Showing the tasks assigned to each resource for a period of time. Here I have to color a matrix cell showing task details on tool tip with background color of the cell.
    So Please help me on this.I have a expression like this...
    In my case the color should be filled for the cell with name "Fields!task_name.Value" based on the values of "Fields!Day_Wise.Value " where we have the values for Daywise as S,M,T,W,T,F,S. So i need the background for the cell with name
    task_name as Light Grey on Friday and Saturday, But we have the same name S for sunday also, which should come in different color.
    =iif(Fields!Day_Wise.Value ="F","LightGrey",
    IIF(PREVIOUS(Fields!Day_Wise.Value) ="F","LightGrey",
    iif(Fields!task_name.Value="","White",
    iif(InStr(Fields!task_name.Value,"||")>0,"Maroon",
    iif(InStr(Fields!task_name.Value,"NULL")>0,"Sienna",
    iif(InStr(Fields!task_name.Value,"Pink")>0,"Pink",
    iif(InStr(Fields!task_name.Value,"Red")>0,"Red",
    iif(InStr(Fields!task_name.Value,"Purple")>0,"Purple",
    iif(InStr(Fields!task_name.Value,"Green")>0,"Green",
    iif(InStr(Fields!task_name.Value,"White")>0,"White",
    iif(InStr(Fields!task_name.Value,"Cyan (Teal)")>0,"Teal",
    iif(InStr(Fields!task_name.Value,"Olive")>0,"Olive",
    iif(InStr(Fields!task_name.Value,"Blue")>0,"Blue",
    iif(InStr(Fields!task_name.Value,"Light Blue (Aqua)")>0,"LightBlue",
    iif(InStr(Fields!task_name.Value,"Yellow")>0,"Yellow","Black"
    Thanks
    AJ Hameed

    Hi AJ Hameed,
    According to your description, you want to set the background color for the cells based on the values inside of cells and the values the column group. You want to set grey for cells on Friday and Saturday, set colors based on the task name on other weekdays.
    Right?
    In Reporting Services, there's no problem if we have two different data values in conditional expression, so we can set background color based on Day_Wise or task_name. One issue in this scenario is, we can't have value "S" for both Saturday and Sunday when
    working in a matrix. Otherwise the task_name will overwrite the previous task_name (for numeric values, it will do sum calculation). So we suggest you change the values for weekdays in database. The expression you have posted was correct. It only has a small
    issue: the "Light Blue(Aqua)" also contains "Blue", so when doing conditional judging, the expression will return "Blue" instead of "Light Blue". We have tested in our local environment. For viewing convenience, we used the Switch() function in our expression:
    =IIf(Fields!Day_Wise.Value="Fri" or Fields!Day_Wise.Value="Sat","LightGrey",
    Switch(
    InStr(Fields!Task_name.Value,"White")>0,"White",
    InStr(Fields!Task_name.Value,"||")>0,"Maroon",
    InStr(Fields!Task_name.Value,"Pink")>0,"Pink",
    InStr(Fields!Task_name.Value,"Red")>0,"Red",
    InStr(Fields!Task_name.Value,"Purple")>0,"Purple",
    InStr(Fields!Task_name.Value,"Green")>0,"Green",
    InStr(Fields!Task_name.Value,"Cyan(Teal)")>0,"Teal",
    Fields!Task_name.Value="","White",
    InStr(Fields!Task_name.Value,"Olive")>0,"Olive",
    InStr(Fields!Task_name.Value,"Blue")>0,"Blue",
    InStr(Fields!Task_name.Value,"Aqua")>0,"LightBlue",
    InStr(Fields!Task_name.Value,"Yellow")>0,"Yellow",
    InStr(Fields!Task_name.Value,"Orange")>0,"Orange",
    InStr(Fields!Task_name.Value,"Null")>0,"Sienna",
    true,"Black"
    The result looks like below:
    Reference:
    Matrices (Report Builder and SSRS)
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • Will a sequence return same value for two different sessions?

    Is there a possibility that a sequence will return same value to two different sessions when it is referred exactly at the same instance of time?

    @Justin... Thanks for your insight; indeed, we too feel this shouldn't ever happen and never heard of it either, but there it is. (No, we haven't logged a TAR yet -- whatever that is -- partly because it didn't occur to us and partly because we only recently came across the issue and sensibly want to do some testing before we cry foul.)
    However, the code is pretty straight-forward, much like this (inside a FOR EACH ROW trigger body):
    SELECT <seqname>.NEXTVAL INTO <keyvar> FROM DUAL;
    INSERT INTO <tblname> (<keyfield>, <... some other fields>)
    VALUES(<keyvar>, <... some other values> );
    (where <tblname> is NOT the table on which the trigger is fired). This is the only place where the sequence is ever accessed. The sequence state is way below its limits (either MAXVALUE or <keyfield>/<keyvar> datatype size).
    In this setup, end users sometimes got an out-of-the-blue SQL error to the effect that uniqueness constraint has been violated -- as I said, we used to have a unique index on <keyfield> -- which leads us to assume that the sequence generated a duplicate key (only way for the constraint to be violated, AFAIK). We released the constraint and indeed, using a simple SELECT <keyfield>, COUNT(*) FROM <tblname> GROUP BY <keyfield> HAVING COUNT(*)>1 got us some results.
    Unfortunately, the <tblname> table gets regularly purged by a consumer process so it's hard to trace; now we created a logger trigger, on <tblname> this time, which tracks cases of duplicate <keyfield> inserts... We'll see how it goes.
    @Laurent... winks at the CYCLE thing Our sequence is (needless to say) declared as NOCYCLE and the datatype is large enough to hold MAXVALUE.

  • Comparing row values in two different tables

    Hello,
    Does anyone know if it is possible to compare (and possibly highlight - which I know can be done) row values in two different tables?
    I have a ZIP Code column in table A that I want to compare to a ZIP Code column in table B and highlight those ZIP Codes that are present in table B but not in table A etc. Is this possible?
    Thanks,
    Kenneth

    To be able to apply conditional formatting, I must edit the formulas this way.
    =IF(ISBLANK(B)," ",IF(ISERROR(VLOOKUP(B,Tableau 2 :: B,1,0))," ",VLOOKUP(B,Tableau 2 :: B,1,0)))
    =IF(ISBLANK(B)," ",IF(ISERROR(VLOOKUP(B,Tableau 1 :: B,1,0))," ",VLOOKUP(B,Tableau 1 :: B,1,0)))
    I replaces the four empty strings by strings containing one space character.
    In the field supposed to contain the text which is not contained I just entered a single space character.
    Yvan KOENIG (from FRANCE vendredi 12 septembre 2008 20:52:11)

  • Why can one spot colour convert into two different sets of CMYK values?

    Working within Illustrator CC, I have an EPS file of a logo which has a colour fill value of:
    Pantone 152 U
    CMYK: 0C 51M 100Y 1K
    When I copy and paste this into a new document I get a much duller colour (orange) with colour values of:
    Pantone 152 U
    CMYK: 2C 57M 83Y 2K
    I have enabled 'ask when opening' & 'ask when pasting' for Profile Mismatches in Edit->Color Settings->'Color Management Policies' - no warning shows up.
    I have also tried turning off, changing color management policies.
    I've opened the original eps file and assigned my working space profile (Coated FOGRA39) and then try copy and pasting without success.
    Help!

    In addition to John's useful comments:
    Using Pantone 512U (uncoated) isn't correct for Coated Fogra.
    Why can one spot color convert into two different CMYK sets if converted by the user?
    Assumed, the one spot color is uniquely defined by one Lab set:
    – the CMYK spaces are different
    – the CMYK spaces are the same but the Rendering Intents are different
    – the CMYK spaces are the same but the Black Point Compensations are different
       (on or off for Relative Colorimetric).
    Assumed, the spot colors are equal by name, but valid for different versions, both in Lab:
    – this obviousl at present the most common source of deviations.
    Assumed, the spot colors are defined by CMYK:
    – a chaotic situation which I wouldn't even like to dicuss.
    – CMYK to CMYK conversions should be avoided under all circumstances.
    The solutions:
    If the spot color will be printed always and everywhere by Pantone spot ink:
    – purchase an actual Pantone color fan und discuss with the printer the mixture for the selected ink.
    If the Pantone color is merely a design feature, but the doc will be printed by CMYK:
    – choose such a color and verify by soft proofing that the color is in-gamut for common CMYK spaces. 
    – read the Lab values and proceed as far as possible using Lab.
    – don't use ink names, don't use any reference to Pantone.
    – convert into to a specificic CMYK space in advance to the generation of the specific PDF.
    Best regards --Gernot Hoffmann

  • Better approach for checking column values between two different rows

    My requirement is to find best Approach to find difference between column values of two different rows.Below I've mentioned two different
    approaches I'm thinking of,but I'd like to know is there any other better approach.
    version details
    SQL> SELECT *
      2  FROM V$VERSION;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    PL/SQL Release 11.1.0.7.0 - Production
    CORE    11.1.0.7.0      Production
    TNS for Solaris: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - ProductionTable creation script
    CREATE TABLE R_DUMMY
       (CA_ID VARCHAR2(16) NOT NULL ENABLE,
         CA_VER_NUM NUMBER(4,2) NOT NULL ENABLE,
         BRWR_SHORT_NAME VARCHAR2(25 CHAR),
         sic_code     number,
         FAC_ID VARCHAR2(10) NOT NULL ENABLE
    / insert script
    insert into r_dummy (CA_ID, CA_VER_NUM, BRWR_SHORT_NAME, sic_code, FAC_ID)
    values ('CA2001/11/0002', 2.00, 'Nandu',1234, 'FA000008');
    insert into r_dummy (CA_ID, CA_VER_NUM, BRWR_SHORT_NAME, sic_code, FAC_ID)
    values ('CA2001/11/0002', 3.00, 'SHIJU',456, 'FA000008');Desired O/P :
    ca_id               fac_id          column_name          previous name          after_modification
    CA2001/11/0002          FA000008     BRWR_SHORT_NAME          Nandu               SHIJU
    CA2001/11/0002          FA000008     sic_code          1234               456My approach
    select      ca_id,fac_id,column_name,
         decode(column_name,'BRWR_SHORT_NAME',lg_brwr,lg_sic) previous_name ,
         decode(column_name,'BRWR_SHORT_NAME',ld_brwr,ld_sic) after_modification
    from
         select
                   case
                        when ld_brwr != lg_brwr then
                        'BRWR_SHORT_NAME'
                        when ld_brwr != lg_brwr then
                        'sic_code'
                   end
              ) column_name,ca_id,fac_id,lg_brwr,ld_brwr,ld_sic,lg_sic
         from     (
              select ca_id,fac_id,lag_brwr,ld_brwr,ld_sic,lag_sic
              from
                        Select      lead(brwr_short_name,1) over(partition by ca_id,fac_id) ld_brwr,
                             lag(brwr_short_name,1) over(partition by ca_id,fac_id) lg_brwr,
                             lead(sic_code,1) over(partition by ca_id,fac_id) ld_sic,
                             lag(sic_code,1) over(partition by ca_id,fac_id) lg_sic,
                             ca_id,fac_id
                        from r_dummy
              where (ld_brwr != lg_brwr or ld_sic != lg_sic)
    )2nd Approach :
    =============
    select      ca_id,fac_id,column_name,
         decode(column_name,'BRWR_SHORT_NAME',lg_brwr,lg_sic) previous_name ,
         decode(column_name,'BRWR_SHORT_NAME',ld_brwr,ld_sic) after_modification
    from
         select
                   case
                        when ld_brwr != lg_brwr then
                        'BRWR_SHORT_NAME'
                        when ld_brwr != lg_brwr then
                        'sic_code'
                   end
              ) column_name,ca_id,fac_id,lg_brwr,ld_brwr,ld_sic,lg_sic
         from     (
              select ca_id,fac_id,brwr_short_name,sic_code
              from
                        Select      ca_id,fac_id,brwr_short_name lg_brwr,sic_code lg_sic
                        from     r_dummy
                        where     ca_ver_num = '2.00'
                   )o,(
                        Select      ca_id,fac_id,brwr_short_name ld_brwr,sic_code ld_sic
                        from     r_dummy
                        where     ca_ver_num = '3.00'
                              )n
              where      0.ca_id = n.ca_id
                   and 0.fac_id = n.fac_id
                   and (ld_brwr != lg_brwr or ld_sic != lg_sic)
    )Hi Experts,
         I've provided sample data where I'm checking for just two columns viz brwr_short_name ,sic_code,but in real time
    I've to check for 8 more columns so please suggest me with a better approach.
    I appreciate your precious suggestions.

    Hi,
    Thanks for posting the CREATE TABLE and INSERT statements; that really helps!
    Here's one wa. Like your 2nd approach, this uses a self-join:
    WITH     got_r_num     AS
         SELECT  ca_id
         ,     ROW_NUMBER () OVER ( PARTITION BY  ca_id
                                   ,                    fac_id
                             ORDER BY        ca_ver_num
                                 )    AS r_num
         ,     brwr_short_name
         ,     TO_CHAR (sic_code)     AS sic_code
         ,     fac_id
    --     ,     ...     -- Other columns (using TO_CHAR if needed)
         FROM     r_dummy
    ,     unpivoted_data     AS
         SELECT     *
         FROM     got_r_num
         UNPIVOT     INCLUDE NULLS
              (    txt
              FOR  column_name IN ( brwr_short_name          AS 'BRWR_SHORT_NAME'
                            , sic_code               AS 'SIC_CODE'
    --                        , ...     -- Other columns
    SELECT       p.ca_id
    ,       p.fac_id
    ,       p.column_name
    ,       p.txt          AS previous_name
    ,       a.txt          AS after_modification
    FROM       unpivoted_data   p
    JOIN       unpivoted_data   a  ON  p.ca_id     = a.ca_id
                           AND p.fac_id     = a.fac_id
                         AND p.column_name     = a.column_name
                         AND p.r_num      = a.r_num - 1
                         AND p.txt || 'X' != a.txt || 'X'
    ORDER BY  a.r_num
    ;To include other columns, add them in the 2 places where I put the comment "Other columns".
    Ca_ver_num can have any values, not just 2.00 and 3.00.
    This will show cases where a value in one of the columns changed to NULL, or where NULL changed to a value.
    There ought to be a way to do this without a separate sub-query like got_r_num. According to the SQL Language manual, you can put expressions in the UPIVOT ... IN list, but when I tried
    ...     UNPIVOT     INCLUDE NULLS
              (    txt
              FOR  column_name IN ( brwr_short_name          AS 'BRWR_SHORT_NAME'
                                 , TO_CHAR (sic_code)     AS 'SIC_CODE'
              )I got the error "ORA_00917: missing comma" right after TO_CHAR. Perhaps someone else can show how to eliminate one of the sub-queries.

  • How to compare pixel values of two different grayscale images...

    I have two different grayscale images both of much different sizes. One is 46x20 pixels and the other is 2592x1944 pixels. I'm having trouble finding a way to "scan" the smaller image through the larger one so that comparisons between the pixel values can be made. Basically I'm trying to see if anything matches the smaller image in the big image semi-closely. I can access the pixel values of each image but I can't figure out an algorithm to perform the scan. Any help at all would be very much appreciated! Thanks.

    Hi
    recipe:
    1.
    Find all the values for all the pixels in the small image. Some might be similar. Put all those values that are useful into a List called comparisonList.
    2.
    For each scanline in the large image
    For each pixel in the scanline
    is this pixel the same value as a pixel in the comparisonList?
    if so do something
    is the scanline finished?
    if not next pixel
    loop to next scanline
    where scanline is a horizontal line in the big picture.
    my 2c
    hope helps

  • Is it possible to build two different L2TP/IPSec tunnels per subnet or per user?

    Dear colleagues
    I wondered whether anyone could help with this one.
    Is it possible to build two different L2TP/IPSec tunnels per subnet or per user on a Cisco router or any other third party manufacturer?  The idea behind is to allow different access to resources to different support technicians.  Your help is much appreciated.

    Sure, the ASA can use LDAP/AD information to select what access list should be applied for that specific user or group of users logging into the VPN. You can use whats called DAP or just LDAP Attribute Maps.

  • Generally when creating a Word file from either a Mac or Win7 pc and opening it on two different machines (either one first) it always prompts that the file is open and will be opened as read only. However opening a CSS file does not prompt that it is alr

    Generally when creating a Word file from either a Mac or Win7 pc and opening it on two different machines (either one first) it always prompts that the file is open and will be opened as read only.
    However opening a CSS file does not prompt that it is already open on or from any machine which is causing code edits to be lost.
    What we found from out testing:
    - The file can be saved from one user to the server and WILL NOT PROMPT on other machines until the saving machine has the Dreamweaver program closed completely
    - The file can be closed and  Dreamweaver minimised to the launch bar but it still will not register on other machines that it has been changed.
    - Also, until the  Dreamweaver program is closed on the machines, it will continue to open it's saved version of the file. 
    Example Scenario:
    - User 1 opens test.css (which is 2000 lines) and adds some code to the end of the file to bring it up to 2500 lines
    - Meanwhile User 2 opens test.css as well (opens as 2000 lines as User 1’s edits have not yet been saved) and adds in code to bring it to 2300 lines
    - User 1 saves his file and closes it - but  Dreamweaver is still open.
    - User 2 also saves his file and leaves  Dreamweaver  open.
    - The server will report the size and last edit of the file the same as User 2 as he was the last person to save it (and if you open from the Win7 Machine it will show as User 2’s 2300 line version)
    - If User 1 then open's the file again (from either the 'recent' in Dreamweaver OR clicking on the file directly in Finder...which version opens.... The version that User 1 saved! Not the true version on the server, but the version that User 1 edited and saved with 2500 lines in it.
    - Same for User 2, he will open 'his' version with 2300 lines in.
    Other information:
    - Files are opened directly from the server
    - Sometimes the users will save incrementally and re-open
    - Most of the time users will save incrementally and keep the files open
    - The users will never not save incrementally and just save when closing the file once finished
    - The users are usually working on the files all day
    - It is always the bottom lines of code that are lost. It could be a case of the two versions being mixed up and cutting off the newly added lines based on the line count (possibly).
    It is as if Dreamweaver is holding a cache of the version locally and then only properly looking back to the server when it has been completely closed. It is very difficult to see how the server is causing such an impact on these files, there are very few logs which are giving any indication to the root cause of the problems.
    Anyone know if this is a known issue?
    Is there a way that there can be a featured implemented on the server that doesn't allow another user to open a file if it is already open on another machine?
    Thanks

    Your server file handling has nothing, and really nothing to do with Adobe software. If files don't get locked for (over-)writing and/or lose connection to the program opening them, then your server is misconfigured. It's as plain and simple and that. Anything from "known file types"/ file associations not being set correctly, MIME types being botched, crooked user privileges and file permissions, missing Mac server extensions, delayed file writing on the server, generic network timeout issues and what have you. Either way, you have written a longwinded post with no real value since you haven't bothered to provide any proper technical info, most notably about the alleged server. Either way, the only way you can "fix" it is by straightening out your server and network configuration, not some magic switch in Adobe's software.
    Mylenium

  • How to enter invoice with two different tax codes in one line?

    Dear friends,
    I have this PO for which I enter the invoice.
    I recieve later a subsequent debit for this PO from the transporter. This subsequent invoice has got extra debits, one with 21% VAT and one with 19% VAT, which means two items with two different tax codes.
    I want to enter this subsequent debit for each item of the PO, and I want to enter both debits in every item of the PO.
    How can I enter in one row in MIRO a debit with two different tax codes.
    Thank you.

    I want in the same line item to enter two tax codes.
    Do you Know if there is any way to do this?
    It is a subsequent debit and it has two items with two different tax codes. I want to enter the subsequent debit for a PO with many items and enter the value of the whole subsequent invoice. So there is the need to enter one line item with two tax codes.
    How can this be done?
    Thank you?

  • I am trying to store music for two different iPods on the same computer, against two different Apple IDs. When I try and download content from the Cloud I get an error message?

    I am trying to store music for two different iPods on the same Windows 8 computer, and when I try and download content from the Cloud I get an error message. Is it possible to have two different Apple IDs on the same computer?

    Unfortunately you've discovered too late how important it is to maintain an up-to-date backup of your iTunes library (and all other data of value).  You could, before wiping the drive, have considered making use of a commercial data recovery service that could (albeit at considerable cost) have extracted your library from the hard disk, even if virus infected.
    In the absence of that option, you will need to restore the content of your library from its original sources:
    Depending on your location, you may be able to re-download any iTunes Store purchases that are still available on the Store
    Likewise, most digital purchases from Amazon (including auto-rip copies of purchased CDs) should be available from the Amazon Cloud and via the Amazon Music application - the same may be true of other commercial sources for digital downloads
    Content imported from your CDs will have to imported again
    The specific situation that you describe regarding the music imported from your friend's external HDD suggests that either the source is badly organized and/or originates from a source other than iTunes (other media players may use alternative tags for information like artist, title, album, etc. that are not wholly consistent with how iTunes handle these).  Without details of the issues you're seeing it is difficult to suggest a remedy other than going through the media album-by-album, track-by-track, and correcting the inconsistencies.
    In the absence of a backup or access to the original library data there is no option other than painstakingly recreating your library as described above.  As you do so, you'll now realize how important creating and maintaining backups are - in my case I have at all times three separate duplicates of my library, in two different locations, where none is ever more than a week old compared to the content of my master library.

  • Use two different printer services in one web template?

    Hi!
    Is it possible to use two different help services for printing in the same web template (for the same table item)?
    Print1:
    <param name="HELP_SERVICE" value="HELP_SERVICE_PRINT"/>
    <param name="HELP_SERVICE_CLASS" value="ZCL_RSR_XLS_HELP_WINDOW_PRINT"/>
    Print 2:
    <param name="HELP_SERVICE" value="ZPRINTING"/>
    <param name="HELP_SERVICE_CLASS" value="ZBW_PRINT_HELP_SERVICE"/>
    I was thinking that you maybe could change the param name values for the "Help_service" and the "help_service_class" at runtime using the properties for the table item, so that you could choose which one to use, but I havne't been able to do that so far.
    Does anyone have an idea?

    This is not a problem. Just put the print service for the print to excel on an object other than the table web item. As long as these print services exist on any web item, you should be able to invoke them. I've tested this with putting the "Print with Excel" service on the Navigation Block Web Item and the other print service on the table web item. Hope that helps!
    Prakash

  • How to define namespace with one XSD using in two different DB-Locations ?

    I'm not clear,How to define namespace, targetnamespace, schemaLocation or NoNamespaceSchemaLocation
    when using one common schema.xsd-definition
    in two different database-locations for exchange xml-documents?
    when insert xml-document I've got an error ORA-30937
    do you have an good exsample ?
    thanks
    Norbert
    schema :
    <xs:schema
    xmlns="http://sourcehost.com/namespace"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:oraxdb="http://xmlns.oracle.com/xdb"
    targetNamespace="http://sourcehost.com/namespace"
    xml-document :
    xmlns="http://Sourcehost.com/namespace"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:SchemaLocation="http://sourcehost.com/namespace http://desthost:8080/sys/schemas/PUBLIC/ADRESSEN.XSD">
    SQL> insert into ADRESSEN values
    (XMLType
    (bfilename ( 'XMLIMPORT_DIR', 'adressen.xml')
    , 0 )
    --> error :
    ORA-30937: No Schemadefinition for "SchemaLocation" (Namespace "http://www.w3.org/2001/XMLSchema-instance") in übergeordnetem Knoten "/ADRESSEN"

    Norbert
    The schema location used to register the XML schema with XML DB does not need to be a valid URL for accessing the XML Schema
    I can use the same URL , for instance
    http://xmlns.example.scom/xsd/myXMLSchema.xsd
    on machines dbserver1, and dbserver2. The only reason some people choose to use the hostname / portnumber convention is that this makes it possible to validate the XML Instance documents against the copy of the XML schema stored in the XML DB repository using an external tool like XMLSpy without have to add entries to XMLSpy's OASIS catalog files.
    I am concerned about the message you are getting. That's not correct AFAICT but I'd need to see the complete XML Schema and Instance to be sure.

Maybe you are looking for