Overriding a Component's Search Record for a Component Interface
Forum » Forum / Help » Overriding a Component's Search Record for a Component Interface
Started by: shank_dawgshank_dawg
On: 1215744546|%e %b %Y, %H:%M %Z|agohover
Number of posts: 7
rss icon RSS: New posts
Overriding a Component's Search Record for a Component Interface
shank_dawgshank_dawg 1215744546|%e %b %Y, %H:%M %Z|agohover

Hi All,

I have a requirement to use a different search record for a Component Interface's underlying Component.

Usually, for online processing, the search record could be overridden by adding the Component in a different menu using the override search record option in the menu item's property. It is simple.

But, now i want to use a component and create a CI for it and the CI should have a different search record.

I tried to do the following:
1. Add the component in a different menu and used the override search record property in the menu item's search record.
2. Create a CI for the Component. And in the CI's properties, i chose the menu to which i added the component in step 1.

Now, technically, this should work. But still the properties of the find keys are not changing to the search record that i require. It is still using the original search record, although i have changed the menu in the CI's properties.

Anyone know how to get around this problem?

Otherwise, i might be forced to clone the Component and change the search record and create a CI for that. But i dont really want to do this, cos if there is any changes to the original component, my clone has to updated everytime.

Any help would be much appreciated. Thank you so much.

Reply  |  Options
Re: Overriding a Component's Search Record for a Component Interface
PrajPraj 1216968768|%e %b %Y, %H:%M %Z|agohover

Hi shank_dawg,

That's a difficult one. You're reasoning seems perfectly ok, override the search record with menus and tell the component interface which menu to use.

First time I tried this, I probably stopped at the same point as you:

  1. I changed the search record of the underlying component to the search record I wanted
  2. I created the component interface and saved it
  3. I changed the search record of the underlying component back to what it was
  4. I went back to my component interface and it had validation errors

So then I thought, I wonder if there are any PeopleSoft delivered examples where they've done this - the search record of the component interface is different to the underlying component. So I created the following query:

select 
    A.BCNAME as CI,
    B.PNLGRPNAME as COMPONENT,
    A.SEARCHRECNAME as CI_SRCH_REC,
    B.SEARCHRECNAME as COMPONENT_SRCH_REC,
    A.MENUNAME as CI_MENU
from 
    PSBCDEFN A inner join PSPNLGRPDEFN B
    on  A.BCPGNAME = B.PNLGRPNAME
    and A.MARKET = B.MARKET
where
    A.SEARCHRECNAME <> B.SEARCHRECNAME
;

I got a few examples back and all of them had invalid component interfaces when I tested them for consistency, however, they all seemed to work through the component interface tester.

So I wonder if its actually OK to have an invalid component interface, provided you are overriding the search record with the correct one in the menu?

- Praj

Reply  |  Options
Re: Overriding a Component's Search Record for a Component Interface
shank_dawgshank_dawg 1217203948|%e %b %Y, %H:%M %Z|agohover

Brilliant Praj!

Thanks for that. I dint even think of testing the CI when i had errors validating it.

It sounds like a good way to go. But what i am wondering is, is it something that people (or peoplesoft) have done deliberately. Or is it something that has happened by accident?

It works alright. But what i am getting at is, there is also a possiblity that may be peoplesoft changed the search record of the component at a later stage? As in, well after CI's were created based on them. So obviously there would be a conflict validating it.

So my question would be, is it something that is OK (according to Peoplesoft standards) to do?

Thanks for that though. It certainly does the job and we achieve exactly what we want to.

Cheers Dude!

Reply  |  Options
Re: Overriding a Component's Search Record for a Component Interface
TomHinsTomHins 1231430578|%e %b %Y, %H:%M %Z|agohover

My experience is if you cannot use the override in the menu for some reason then you would have to clone the component.

Reply  |  Options
Re: Overriding a Component's Search Record for a Component Interface
Partha (guest) 1244053932|%e %b %Y, %H:%M %Z|agohover

In the CI Properties, select the menu which has override. This will refresh the Get and Find keys. Note that any %menu reference in PeopleCode will also use the value used in CI Properties.

Reply  |  Options
Unfold Re: Overriding a Component's Search Record for a Component Interface by Partha (guest), 1244053932|%e %b %Y, %H:%M %Z|agohover
Re: Overriding a Component's Search Record for a Component Interface
Gavin (guest) 1256303101|%e %b %Y, %H:%M %Z|agohover

You could change the search record on the component to one that allows access to all employees/customers/persons/students etc. i.e. No Security at all.

Then on each menu where the componet is accessed use the search view override to override this search view with the search view you wish to use online i.e. The one with the security in it.

If you are using the CI within an Application Engine or other batch process then you most likely dont need security on the search view thus increasing performance.

Hope this helps for those using AE.

Reply  |  Options
Unfold Re: Overriding a Component's Search Record for a Component Interface by Gavin (guest), 1256303101|%e %b %Y, %H:%M %Z|agohover
Re: Overriding a Component's Add Search Record for a Component Interface
Yeong (guest) 1260259300|%e %b %Y, %H:%M %Z|agohover

Hi,

I am wondering how to override a component's Add Search Record when running a component interface?

I have a component interface built on the Positive Input component where an Add Search Record is in place which is a view with security (row class security) enforced. When this CI is triggered, I would like this view to be substitute or override with another view which does not have security applied. The whole idea is that when adding a new PI row online, the row calss security should be kicked off by using the view with the security but when the CI is triggered teh security should be bypassed by using a different view without security.

Has anyone done on this before? Your help is much appreciated.

Thanks.

Reply  |  Options
Unfold Re: Overriding a Component's Add Search Record for a Component Interface by Yeong (guest), 1260259300|%e %b %Y, %H:%M %Z|agohover
New Post
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License