PfR symmetry
Dear All,
I am mid way through delivery of an MPLS network for a customer. We have the option of adding a DMVPN internet backup. The WAN routing protocol is BGP for both DMVPN and MPLS (MPLS is straight routing - no overlay or getvpn)
The customer has some pretty odd ideas about how to use the service, mainly they are very paranoid about oversubscibing the MPLS link for their "golden" application, so have come up with all kinds of weird and wacky solutions that they call "requirements". As a result, they have the idea that they cannot route all traffic over MPLS, and instead want to create a mix of route filter, PBR, NAT, ACL and all kinds of horrible things to keep the MPLS link "sacred".
I would like to guide them to use the service in a better way leveraging PfR, something simple to start with like:
- use MPLS all of the time by default
- when it reaches 80% utilisation, switch the non-critical traffic to DMVPN yet keep the "golden" app on MPLS
- this policy is applied at both branch and hub BRs
I have read this cisco wiki (it is rather good!!!!):
http://docwiki.cisco.com/wiki/PfR:Solutions:EnterpriseDualVPN#PfR_performance_and_load_policy_test_case
Where I get a bit lost is in the symmetry. Is it symmetrical?
For example, if a branch MPLS link hits 81% outbound utilisation, then uses dynamic PBR to switch outbound traffic to VPN. Sorted! but what about the inbound? If that is hitting 81% also. What does PfR do?
This is where I get a bit lost. For the inbound to branch, the hub must do something surely? Consider the MPLS capacity is 100M - the 8.1M to the branch is in policy so should keep forwarding via MPLS. How does it know that the branch is OOP?
If it doesn't do that, you end up with assymetric traffic (branch outbound DMVPN, inbound MPLS).
Am I missing something here? Any advice you can give us much appreciated.
Thanks a million!
Phil
Disclaimer
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
Liability Disclaimer
In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Posting
Ah, well my experience with asymmetrical routing has often been with similar bandwidth paths, so it's not normally a problem unless there's some "stateful" device between hosts. But I can see why inadvertent transit via VSAT might be considered a problem. ;)
I think PfR can help us with the outbound traffic from branch, but I struggle to see how it can help with the inbound IF using utilization only on HUB BR - agree it would never go out of policy (10M to a single branch means the hub is only at 10%).
Ah, it works because, as noted, PfR will see the jump in latency (passively and/or actively) to the destination if you have it do more than monitor egress port utilization. (When I had used OER/PfR, I had international multipoint. So "in" congestion to any one site could be caused by the aggregate of multiple other sites "out" to it.
With active monitoring, PfR would see the MPLS link latency worse than your VPN backup (to same destination), and when it does, juggle traffic flows.
No, don't have experience with using PfR's inbound control (at the time I set it up, most of my devices only supported OER, and inbound isn't an option with OER).
Also cannot say what's typical "real world". I can say, when I setup "my" OER/PfR, our network monitoring section complained almost all our WAN performance problems disappeared. (Laugh - we then had to work out how to "see" WAN performance problems in spite of OER/PfR.)
Similar Messages
-
How to configure multiple outgoing interfaces + NAT + PfR
Hello,
I have the following config running on Cisco2851.
Five interfaces (four ADSL and one LAN 10Mb/s) connected to Internet using pppoe.
Local policy is used to make working route tracking.
The PfR also configured to load balance traffic coming from LAN to Internet.
PAT is also configured with "oer" keyword at the end of string to not relocate working translations.
But the router is not performing good. :-(
After investigation I found that the selection of the exit interface and setting source ip for
NAT is not synchronized. The provider's router just drops the incoming packet due to uRPF check.
Also, the selection of the exit interface is not PFR aware (mode select-exit best) during
NAT session setup, and router selects one of the possible exit interfaces randomly.
I have two questions:
1. How to make synchronization of NAT and Routing to build matching pair of Out_IP=Out_Interface and make my setup working?
2. How to select the less loaded interface during setup of NAT phase and Routing phase and really involve PfR?
Actually, these two questions is just my one requirement: during setup of NAT session, I need
to find less loaded interface (PfR should check current rx/tx load), select it, and keep it untouched.
Thanks,
Sergey
Config:
version 15.1
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
hostname bif
boot-start-marker
boot system flash:c2800nm-adventerprisek9-mz.151-4.M8.bin
boot-end-marker
enable secret 5 $1$3ggj$huERPVt0luOX6qo6
no aaa new-model
crypto pki token default removal timeout 0
dot11 syslog
no ip source-route
ip cef
no ip domain lookup
ip domain name zzz.mgm
no ipv6 cef
multilink bundle-name authenticated
key chain PFR
key 0
key-string 7 107E2F2B
voice-card 0
pfr master
logging
border 192.168.254.254 key-chain PFR
interface Dialer5 external
interface Dialer4 external
interface Dialer3 external
interface Dialer2 external
interface Dialer1 external
interface GigabitEthernet0/0 internal
mode select-exit best
pfr border
logging
local Loopback0
master 192.168.254.254 key-chain PFR
license udi pid CISCO2851 sn FCZ0929
username se privilege 15 secret 5 $1$DUbm$RuZKP8X.19uBtm21
username ru privilege 15 secret 5 $1$1V.h$iotp/bjhUg4ho93d
redundancy
ip ssh version 2
track 1 ip sla 1 reachability
delay down 30 up 15
track 2 ip sla 2 reachability
delay down 30 up 15
track 3 ip sla 3 reachability
delay down 30 up 15
track 4 ip sla 4 reachability
delay down 30 up 15
track 5 ip sla 5 reachability
delay down 30 up 15
interface Loopback0
ip address 192.168.254.254 255.255.255.255
interface GigabitEthernet0/0
description ### LAN ###
ip address 192.168.68.1 255.255.255.0
no ip redirects
no ip proxy-arp
ip flow ingress
ip nat inside
ip virtual-reassembly in
duplex auto
speed auto
interface GigabitEthernet0/1
description ### WDSL link to Dialer 5 ###
no ip address
duplex auto
speed auto
pppoe enable group global
pppoe-client dial-pool-number 5
interface ATM0/0/0
description ### DSL link 1 to Dialer 1 ###
no ip address
no atm ilmi-keepalive
shutdown
pvc 1/32
pppoe-client dial-pool-number 1
interface ATM0/1/0
description ### DSL link 2 to Dialer 2 ###
no ip address
no atm ilmi-keepalive
pvc 1/32
pppoe-client dial-pool-number 2
interface ATM0/2/0
description ### DSL link 3 to Dialer 3 ###
no ip address
no atm ilmi-keepalive
pvc 1/32
pppoe-client dial-pool-number 3
interface ATM0/3/0
description ### DSL link 4 to Dialer 4 ###
no ip address
no atm ilmi-keepalive
pvc 1/32
pppoe-client dial-pool-number 4
interface GigabitEthernet1/0
description ### Virtual interface to NME-16ES-1G-P ###
ip address 192.168.254.253 255.255.255.254
interface Dialer1
description ### Dialer for line 1 ###
bandwidth 224
bandwidth receive 1728
ip address negotiated
ip mtu 1492
ip nat outside
ip virtual-reassembly in
encapsulation ppp
ip tcp adjust-mss 1452
load-interval 30
dialer pool 1
ppp authentication chap callin
ppp chap hostname
ppp chap password
no cdp enable
interface Dialer2
description ### Dialer for line 2 ###
bandwidth 224
bandwidth receive 1728
ip address negotiated
ip mtu 1492
ip flow ingress
ip nat outside
ip virtual-reassembly in
encapsulation ppp
ip tcp adjust-mss 1452
dialer pool 2
ppp authentication chap callin
ppp chap hostname
ppp chap password
no cdp enable
interface Dialer3
description ### Dialer for line 3 ###
bandwidth 224
bandwidth receive 1728
ip address negotiated
ip mtu 1492
ip flow ingress
ip nat outside
ip virtual-reassembly in
encapsulation ppp
ip tcp adjust-mss 1452
dialer pool 3
ppp authentication chap callin
ppp chap hostname
ppp chap password
no cdp enable
interface Dialer4
description ### Dialer for line 4 ###
bandwidth 224
bandwidth receive 1728
ip address negotiated
ip mtu 1492
ip flow ingress
ip nat outside
ip virtual-reassembly in
encapsulation ppp
ip tcp adjust-mss 1452
dialer pool 4
ppp authentication chap callin
ppp chap hostname
ppp chap password
no cdp enable
interface Dialer5
description ### Dialer for WDSL line ###
bandwidth 10000
bandwidth receive 10001
ip address negotiated
ip mtu 1492
ip flow ingress
ip nat outside
ip virtual-reassembly in
encapsulation ppp
ip tcp adjust-mss 1452
load-interval 30
dialer pool 5
ppp authentication chap callin
ppp chap hostname
ppp chap password
no cdp enable
ip local policy route-map LOCAL-PBR
no ip forward-protocol nd
no ip http server
no ip http secure-server
ip nat inside source route-map NAT1 interface Dialer1 overload oer
ip nat inside source route-map NAT2 interface Dialer2 overload oer
ip nat inside source route-map NAT3 interface Dialer3 overload oer
ip nat inside source route-map NAT4 interface Dialer4 overload oer
ip nat inside source route-map NAT5 interface Dialer5 overload oer
ip nat inside source static tcp 192.168.68.160 22 $$$Dialer5-IP$$$ 2222 extendable
ip nat inside source static tcp 192.168.68.160 22 $$$Dialer2-IP$$$ 2222 extendable
ip nat inside source static tcp 192.168.68.160 22 $$$Dialer3-IP$$$ 2222 extendable
ip nat inside source static tcp 192.168.68.160 22 $$$Dialer4-IP$$$ 2222 extendable
ip nat inside source static tcp 192.168.68.230 21 $$$Dialer1-IP$$$ 21 extendable
ip nat inside source static tcp 192.168.68.160 25 $$$Dialer1-IP$$$ 25 extendable
ip nat inside source static tcp 192.168.68.22 143 $$$Dialer1-IP$$$ 143 extendable
ip nat inside source static tcp 192.168.68.22 443 $$$Dialer1-IP$$$ 443 extendable
ip nat inside source static tcp 192.168.68.160 22 $$$Dialer1-IP$$$ 2222 extendable
ip route 0.0.0.0 0.0.0.0 Dialer1 track 1
ip route 0.0.0.0 0.0.0.0 Dialer2 track 2
ip route 0.0.0.0 0.0.0.0 Dialer3 track 3
ip route 0.0.0.0 0.0.0.0 Dialer4 track 4
ip route 0.0.0.0 0.0.0.0 Dialer5 track 5
ip sla 1
icmp-echo 8.8.8.8 source-ip $$$Dialer1-IP$$$
timeout 1000
frequency 5
ip sla schedule 1 life forever start-time now
ip sla 2
icmp-echo 8.8.8.8 source-ip $$$Dialer2-IP$$$
timeout 1000
frequency 5
ip sla schedule 2 life forever start-time now
ip sla 3
icmp-echo 8.8.8.8 source-ip $$$Dialer3-IP$$$
timeout 1000
frequency 5
ip sla schedule 3 life forever start-time now
ip sla 4
icmp-echo 8.8.8.8 source-ip $$$Dialer4-IP$$$
timeout 1000
frequency 5
ip sla schedule 4 life forever start-time now
ip sla 5
icmp-echo 8.8.8.8 source-ip $$$Dialer5-IP$$$
timeout 1000
frequency 5
ip sla schedule 5 life forever start-time now
access-list 100 permit ip any any
access-list 101 permit ip host $$$Dialer1-IP$$$ any
access-list 102 permit ip host $$$Dialer2-IP$$$ any
access-list 103 permit ip host $$$Dialer3-IP$$$ any
access-list 104 permit ip host $$$Dialer4-IP$$$ any
access-list 105 permit ip host $$$Dialer5-IP$$$ any
access-list 199 permit ip 192.168.68.0 0.0.0.255 any
route-map LOCAL-PBR permit 10
match ip address 101
set interface Dialer1
route-map LOCAL-PBR permit 20
match ip address 102
set interface Dialer2
route-map LOCAL-PBR permit 30
match ip address 103
set interface Dialer3
route-map LOCAL-PBR permit 40
match ip address 104
set interface Dialer4
route-map LOCAL-PBR permit 50
match ip address 105
set interface Dialer5
route-map LOCAL-PBR permit 100
match ip address 100
set global
route-map NAT3 permit 10
match ip address 199
match interface Dialer3
route-map NAT2 permit 10
match ip address 199
match interface Dialer2
route-map NAT1 permit 10
match ip address 199
match interface Dialer1
route-map NAT5 permit 10
match ip address 199
match interface Dialer5
route-map NAT4 permit 10
match ip address 199
match interface Dialer4
control-plane
mgcp profile default
line con 0
line aux 0
line 66
no activation-character
no exec
transport preferred none
transport input all
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
line vty 0 4
session-timeout 15
login local
transport input all
line vty 5 15
session-timeout 15
login local
transport input all
scheduler allocate 20000 1000
end
Show ip route:
sh ip route 0.0.0.0
Routing entry for 0.0.0.0/0, supernet
Known via "static", distance 1, metric 0 (connected), candidate default path
Routing Descriptor Blocks:
directly connected, via Dialer5
Route metric is 0, traffic share count is 1
* directly connected, via Dialer3
Route metric is 0, traffic share count is 1
directly connected, via Dialer4
Route metric is 0, traffic share count is 1
directly connected, via Dialer2
Route metric is 0, traffic share count is 1
Log:
*Apr 16 07:04:18.103: IP: s=192.168.68.2 (GigabitEthernet0/0), d=8.8.4.4, len 66, input feature
*Apr 16 07:04:18.103: UDP src=61183, dst=53, Stateful Inspection(5), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.103: IP: s=192.168.68.2 (GigabitEthernet0/0), d=8.8.4.4, len 66, input feature
*Apr 16 07:04:18.103: UDP src=61183, dst=53, Ingress-NetFlow(21), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.103: IP: s=192.168.68.2 (GigabitEthernet0/0), d=8.8.4.4, len 66, input feature
*Apr 16 07:04:18.103: UDP src=61183, dst=53, Virtual Fragment Reassembly(25), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.103: IP: s=192.168.68.2 (GigabitEthernet0/0), d=8.8.4.4, len 66, input feature
*Apr 16 07:04:18.103: UDP src=61183, dst=53, Access List(31), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.103: IP: s=192.168.68.2 (GigabitEthernet0/0), d=8.8.4.4, len 66, input feature
*Apr 16 07:04:18.103: UDP src=61183, dst=53, Virtual Fragment Reassembly After IPSec Decryption(39), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.103: IP: s=192.168.68.2 (GigabitEthernet0/0), d=8.8.4.4, len 66, input feature
*Apr 16 07:04:18.103: UDP src=61183, dst=53, MCI Check(80), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.103: IP: s=192.168.68.2 (GigabitEthernet0/0), d=8.8.4.4, len 66, input feature
*Apr 16 07:04:18.103: UDP src=61183, dst=53, TCP Adjust MSS(82), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.103: FIBipv4-packet-proc: route packet from GigabitEthernet0/0 src 192.168.68.2 dst 8.8.4.4
*Apr 16 07:04:18.103: FIBfwd-proc: Default:0.0.0.0/0 process level forwarding
*Apr 16 07:04:18.103: FIBfwd-proc: depth 0 first_idx 3 paths 4 long 0(0)
*Apr 16 07:04:18.103: FIBfwd-proc: try path 3 (of 4) v4-ap-Dialer5 first short ext 0(-1)
*Apr 16 07:04:18.103: FIBfwd-proc: v4-ap-Dialer5 valid
*Apr 16 07:04:18.103: FIBfwd-proc: Dialer5 no nh type 3 - deag
*Apr 16 07:04:18.103: FIBfwd-proc: ip_pak_table 0 ip_nh_table 65535 if Dialer5 nh none deag 1 chg_if 0 via fib 0 path type attached prefix
*Apr 16 07:04:18.103: FIBfwd-proc: packet routed to Dialer5 p2p(0)
*Apr 16 07:04:18.103: FIBipv4-packet-proc: packet routing succeeded
*Apr 16 07:04:18.103: FIBfwd-proc: ip_pak_table 0 ip_nh_table 65535 if Dialer5 nh none uhp 1 deag 0 ttlexp 0
*Apr 16 07:04:18.103: FIBfwd-proc: sending link IP ip_pak_table 0 ip_nh_table 65535 if Dialer5 nh none uhp 1 deag 0 chgif 0 ttlexp 0 rec 0
*Apr 16 07:04:18.103: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Dialer5), len 66, output feature
*Apr 16 07:04:18.103: UDP src=61183, dst=53, Post-routing NAT Outside(24), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.103: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Dialer5), len 66, output feature
*Apr 16 07:04:18.103: UDP src=61183, dst=53, Stateful Inspection(27), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.103: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Dialer5), len 66, output feature
*Apr 16 07:04:18.103: UDP src=61183, dst=53, CCE Post NAT Classification(38), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.107: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Dialer5), len 66, output feature
*Apr 16 07:04:18.107: UDP src=61183, dst=53, Firewall (firewall component)(39), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.107: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Dialer5), len 66, output feature
*Apr 16 07:04:18.107: UDP src=61183, dst=53, TCP Adjust MSS(50), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.107: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Dialer5), len 66, output feature
*Apr 16 07:04:18.107: UDP src=61183, dst=53, NAT ALG proxy(55), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.107: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Dialer5), len 66, output feature
*Apr 16 07:04:18.107: UDP src=61183, dst=53, Post-Ingress-NetFlow(68), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.107: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Dialer5), len 66, output feature
*Apr 16 07:04:18.107: UDP src=61183, dst=53, Dialer idle reset(84), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.107: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Dialer5), len 66, output feature
*Apr 16 07:04:18.107: UDP src=61183, dst=53, Dialer idle reset(85), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Apr 16 07:04:18.107: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Dialer5), g=8.8.4.4, len 66, forward
*Apr 16 07:04:18.107: UDP src=61183, dst=53
*Apr 16 07:04:18.107: IP: s=$$$Dialer4-IP$$$ (GigabitEthernet0/0), d=8.8.4.4 (Virtual-Access3), len 66, sending full packet
*Apr 16 07:04:18.107: UDP src=61183, dst=53hi,is this question is ok?
if you forget do this config like below:
pfr master
learn
delay
throughput
periodic-interval 3
monitor-period 1
pfr master
delay threshold 200
jitter threshold 50
mode route control
mode monitor passive
mode select-exit best
i will do like this,four ADSL connect a switch ,this switch connect a router 2911(with data license)
at 2911 do four pppoe
i want to load balance at this four adsl. -
How to handle the global buttons in PFR
Dear friends,
i want to handle the global buttons in Process From Request
the requirement is in standard page , we have created one custom link as global button
when we click that link we are calling to previous page..now we want handle this global link in PFR
how to go ahead?? please it is very urgent
Thanks
krish.Hi,
We can get handle to global buttons using this:
OAPageLayoutBean page = pageContext.getPageLayoutBean();
page.prepareForRendering(pageContext);
OAGlobalButtonBarBean buttons = (OAGlobalButtonBarBean)page.getGlobalButtons();
//OAF automatically assigns global buttons to their corresponding function name
OAGlobalButtonBean button = (OAGlobalButtonBarBean)buttons.findIndexedChildRecursive("<FUNCTION_NAME>");
You can catch event for your global button in PFR and write the logic there.
--Sushant -
Hello,
I have a table, in which one column in KFF.
How can i get this value in PFR?
I tried doing
1. OATableBean tb = (OATableBean)webBean.findChildRecursive("SplitLineTabRN");
OAKeyFlexBean kfb = (OAKeyFlexBean)tb.findIndexedChildRecursive("LocCon");
and
2. OAKeyFlexBean kfb = (OAKeyFlexBean)webBean.findIndexedChildRecursive("LocCon");
Both case kfb is null.
Please help.Hi,
right click on the page and check view source, get the id of the bean. i know it is not a stright solution, but it works -
Coloring table row using css in pfr
Hi all,
I am using classic table region for loading the records.After loading in PFR using table multiselection selecting one or more than one row then coloring should happen for those selected rows.
In pfr we cann't change bean properties.
Give ur idea.
Thanks,Hi,
Go through these threads...
Can we colour the rows in the column of a table
Changing Color of a value in a column
Thanks,
Gaurav -
How can i pass a variable's value from PR to PFR
Dear all,
hope you are fine.
i would like to pass a variable's value from PR to PFR.
how can i do that.
please suggest.
in PR:
String transactionId = (String) vo_trans.first().getAttribute("Getnexttrans");
i would like to get this value to PFR.Mofizur,
You can achieve the same using Session variable.
If u are not executing the VO after PR. Then you will be able to get the same value as u are using in PR
String transactionId = (String) vo_trans.first().getAttribute("Getnexttrans");
Note - You have a few of the threads left open, mark it as answered if solved.
Regards,
Gyan -
PFR Updated a DFF value in VO but doesn't change the value on the page
I am in an R12 instance and lets just say I have 2 items in the same VO which I am wanting to update within the ProcessFormRequest. For this case lets just say i want both of the fields to be updated with the string "test". One of the attributes is attached to a descriptive flex field and the other is not. Both of them are displayed within the same region and start off null. What i want to happen is for both of these fields to start off null and once the PFR fires i would like them both to have a value of "test". I should note that both fields do not have any LOVs assigned to them. Right now what happens is when the process form request fires the field not to the DFF is updating correctly but the one tied to the DFF is not. I verified that the DFF field has the correct value for itself in the VO by displaying the value directly from the VO with debug statements right after the setAttribute command was triggered.
Here is the code for the main controller's PFR:
super.processFormRequest(pageContext, webBean);
OAApplicationModule am = pageContext.getApplicationModule(webBean);
OAViewObject myVO = (OAViewObject)am.findViewObject("the VOs Name");
OARow row = (OARow)myVO.getCurrentRow();
row.setAttribute("FieldNotTiedtoDFF","test"); *<--works, the field is then set to test, item not tied to DFF*
row.setAttribute("Attribute1","test"); *<--not working and stays blank and doesn't get refreshed to test, item tied to the DFF*
The same thing occurs when i try:
OAMessageTextInputBean nonDffField = (OAMessageTextInputBean)webBean.findChildRecursive("FieldNotTiedtoDFF");
nonDffField.setValue(pageContext,"test");
OAMessageTextInputBean DffField = (OAMessageTextInputBean)webBean.findChildRecursive("FlexID1");
DffField.setValue(pageContext,"test");
Any suggestions on why the field for the DFF isn't updated on the user's screen?Hi,
Just try redirecting to the same page at the end of ProcessFormRequest.
Regards,
Guru Krishnan V. -
Why are there symmetry differences on Ipad or Windows ? ( for sketchbook express)
On windows (surface 3) i can select x and y symmetry and on Ipad version only one axis symmetry. Is there a way to have both axis on Ipad?
will the pro version on ipad have it?Sketchbook Express and Pro are actually made by Autodesk, not Adobe.
That being said, Sketchbook Pro is a great app; I've been using it for a month or so, since Adobe took the ol' "*shrug* maybe we'll get around to it if we feel like it" line with regards to development of an Android version of Sketch.
Since this is an Adobe forum, you'd probably be better off asking over at Autodesk. -
Draw Live in Symmetry with Reflect Effect
There was a thread on the MAC forum July of last year (http://www.adobeforums.com/webx/.59b5e982)about drawing in symmetry using the reflect effect set to a copy of -1- in the dialog box.
I am unable to draw with this LIVE. I can only apply the effect after drawing.
What am I doing wrong?This is a sorta typical example:
Maybe it's a little harder than average but to -me-, AI should have some sort of 'edge detection' to convert this to about two dozen straight 'lines'.
But what it -does- is either turn it into a mass of paisley swirls -or- if I use the 'photo' setting, the trace looks mostly like the original, BUT it's created almost 1 path for every frickin' pixel.
What I end up doing---if I really need it---is to trace over it with the mouse, but I confess I'm a LOUSY 'pen drawer' so it often goes awry. Most often? I make a print-out, trace it on paper with a sharpie, then re-scan it into AI. And THEN it will 'Live Trace' OK... seems like a total Rube Goldberg but AI seems to -need- that sharpie.
So... in lieu of going to pen boot camp, I was -hoping- that this was just operator error.
Anyone?
---JC -
Is it possible to call PFR in PR?
Hi Experts,
Can you please clarify is it possible to call PFR in PR?
I have a requirement based on this answer.
It can be very much appreciated.
Regards,
MuraliHi Idris,
Thanks for the reply.
I have a requirement in iexpenses. When we are creating expenses we have to enter expense lines. Based on expense type, details page opens with Mulidestinations checkbox. According to seeded functionality when the check box checked Multi locations table opens. Here i need to display check box checked automatically when page gets loaded. After entering locations data and clicks on return button the details get stored and it navigates to previous lines page.
I have achieved that check box checked. But when i click on return it is saying that Error in inserting data.
In seeded page it is getting done with Navigationutility.forwardpage('Expensedetailspage',Hashmap).
How can i forward the values to previous page?
Regards,
Murali -
Hi all,
I have quit Creative Cloud. Checked for updates.
Only activity that could have affected system files was to uninstall the CC apps, keeping the CC 2014 apps only.
I need to use the render flame filter but I get the following error
Error in Symmetry initialization script: line 43: Variable name expected
I get this error with render tree and render frame.
A response will be appreciated
ThanksThere is a "Symmetry Fill.jsx" script is Photoshop CC 2014 Preset Deco folder along with "Picture Frame.jsx" and "Tree.jsx" each of those scripts line 43 is a comment not executable code. There are other scripts in that folder related the those rendering scripts could your folder have been corrupted somehow. I don't think uninstalling CC would have corrupted that folder for the doler fi not exist when CC was installed.
Look at the line 43 in the files, Here is what I see on my Windows 7 Pro CC 2014 system -
PFR() not executing properly
Hi All
I am trying to displaying records on table on custom region on seeded page.
when I write following code in ProcessRequest()
then it works fine but when I write same code in PFR()
on clicking GO button then its not working
It not showing any record
even I have checked ID of GO button
OAApplicationModule am = pageContext.getRootApplicationModule();
OAViewObject v = (OAViewObject)am.findViewObject("xxUnApproveVO");
if(v==null)
v = (OAViewObject)am.createViewObject("xxUnApproveVO","xxx.oracle.apps.irc.vacancy.server.xxUnApproveVO");
v.executeQuery();Hi Gyan
Thanks for reply
Yeah I have checked MY GO button is working fine
I have checked it using following code
if(pageContext.getParameter("GO1") == null){return;}
OAApplicationModule am = pageContext.getRootApplicationModule();
pageContext.putDialogMessage(new OAException("one"));
OAViewObject v = (OAViewObject)am.findViewObject("xxUnApproveVO");
pageContext.putDialogMessage(new OAException("two"));
if(v==null)
v = (OAViewObject)am.createViewObject("xxUnApproveVO","xxxc.oracle.apps.irc.vacancy.server.xxUnApproveVO");
v.executeQuery();
int count= v.getFetchedRowCount();
pageContext.putDialogMessage(new OAException("three"+count));
}it gives an error at the top of page
Error
1. one
2. two
3. three
count 0
Edited by: HA on Feb 11, 2011 6:43 AM -
Hi All,
I would like the LOV to take the query that I add programmatically. Basically, I am setting where clauses dynamically.
This works fine when I set the programmatic query to true and add it in the process Request usind Criteria Items.
But the problem again occurs when we come back to the LOV page and click on Go button there. This part is being controlled in pfr, but my query does not get appended to the LOVVO query that I created dynamically as in process Request.
Please let me know how to make the LOV to take my query part that is added programmatically in process form request.
Thanks,
PadmajaHi All,
Thanks for your suggestions and quick responses.
1. The issue still persists.
2. Disable Validation is set to True for my LOV.
3. Answer to Ram's point:
The pseudologic for where clause thats being added is
in LOVCO PR:
if (vo != null) {
if (condition1)
set WhereClause1
else
set WhereClause2
Its working perfect when I give the value in base page and click on LOV Torch.
But once I am in the LOV page, we have search criteria and search text there. Once I change the value there or simply click on Go (without even changing value in search text), I see that the control goes to process form request. There I tried to attach my programmatic where clause just to make sure that the data appears conditionally. But here when the user clicks on Go button in the LOV page, the framework does not take the dynamic query from CO.
I am not sure if my approach is correct or is there any simpler way of doing it.
Thanks,
Padmaja -
Symmetry Question, Zig-Zag Effect
I'm working with the Zig-Zag effect and have noticed an anomaly, or not the result I expected. The effect seems to be symmetrical except on one area of the underlying path at one anchor point. Relative and Absolute both yield a non-symmetrical result. Is there a way to get complete symmetry with this effect? I'm working on some snowflakes to import into After Effects and would like for them to be symmetrical.
Any help is much appreciated. Thanks, BobThere are a lot of unobservant designers out there.
This one came from Wiki: -
Performance Routing (PfR) with single router, dual ISP and load balancing
It looks like PfR can do this but I have only found information about this feature which will start using ISP2 once ISP1 reaches 75% usage. But this is not load balancing.
Can we accomplish load balancing utilizing a single router with dual ISPs using this PfR feature?
Or do we have to use another feature?
thank you in advanceDisclaimer
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
Liability Disclaimer
In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Posting
I'm rusty using OER/PfR, but I recall it could load balance two links on same router. The issue, I also recall, if doing BGP, OER/PfR has to detect a load imbalance, and there's a certain difference allowance, and OER/PfR takes some time to decide, so depending on actual traffic, it might not be obvious it's working. If doing BGP, there's a hidden command (which I don't recall is) that will load balance the two links on the same router; then you use OER/PfR to dynamically refine the balance load.
Maybe you are looking for
-
Hi, I was just wondering how much it would cost to repair the rear camera of my iPhone 4s. I dropped it and it won't work and I hear something rattling inside when I shake it. How much would it cost to fix?
-
One report to check status of project/wbs(TECO/REL)+ available budget
Dear All, Please advice. Is there any report (one for all ) which can show Status of project/wbs + available budget of a project. I tried cns43, cn41 and report s_alr. But it shows in different tcode/report. Hopefully there is a standard report that
-
WBS element conversion routines
Hey guys, I recently added PS_PSP_PNR to 2LIS_11_VAHDR in order to extract the WBS element from the sales document header. So far so good and everything works fine. In the extractor checker I get the data as expected e.g. 'S-00017.02.09'. The problem
-
Returnable Packing report in MM
Dear SD Experts, I am not a MM Consultant, so please help me. Here is my requirment. I sale Gas such as Oxygen in cylinders. I sale oxygen to a Customers in 5 cylinders. Each cylinder has unique number. Now when I post goods issue I mention the Oxyge
-
IPhoto '11 crashing while playing large video's
My iPhoto '11 is crashing while playing large video's 30 mb or more. The whole lap top (Processor 2,5 GHz Intel Core i7) crashes there after. solutions are welcome.