Sunday, February 01, 2009

Alliance 2009 Sessions

It is almost time for Alliance 2009. It looks like the Alliance technical content committee put together another outstanding lineup of technical customer led sessions:

My Oracle peers will present several great technical sessions as well. To see a full list of Oracle technical sessions, browse to the Alliance 2009 Registration and Agenda Builder and select Track: Technical and Primary Speaker Organization: Oracle/PeopleSoft.

I will present session 26372: PeopleTools Tips and Techniques on tuesday, March 24th, 2009 from 9:50 AM to 10:50 AM. This year's Tips and Techniques presentation will major in productivity tips with a minor in Ajax and Java.

8 comments:

Rama Naidu said...

Hi can you please help regarding below issue,

I have a Field "Country" on a page, actually on a subpage.

Main Table: A, Subrecord: CM_ADDRESS_SBR, Subrecord: ADDRESS_SBR

-> A contains CM_ADDRESS_SBR
-> CM_ADDRESS_SBR contains ADDRESS_SBR

It has COUNTRY_TBL as the prompt table in the subrecord. It gives the entire 200+ countries. Our users want only the frequently used 10-15 countries to be shown in the list.

I have to clear the dropdown of this country field to add a few frequently used countries.

I tried the 3 ways of below code with the 3 tablenames: (at ADDRESS_SBR.COUNTRY.RowInit)(Have tried at Field Formula also, but no use)
#############
Local Field &FLD_ADDR;
&FLD_ADDR = GetRecord(Record.ADDRESS_SBR).GetField(Field.ADDRESS_DROPDOWN);
&FLD_ADDR.ClearDropDownList();
##############

None of them worked. I get the error with the 3 tablenames respectively:
"GetRecord: Record 'ADDRESS_SBR' not found in scroll level 0"

So how can I get the field object to clear the dropdown list?

Thanks,
Rama Naidu

Rama Naidu said...

sorry for posting it at a wrong place i guess.. but its kind of urgent..

Jim Marion said...

@Rama, don't worry about posting in the right place. Anywhere is fine. It all ends up in my inbox.

First off, subrecords are not real records. They are reusable collections of fields. The purpose is to ensure that all records containing that subrecord have the same fields. Therefore, it is not possible to identify a subrecord in the buffer. A subrecord is not a real record. What you really want to access in the component buffer is the main table.

Now, if I understand correctly, the question is, "How do I restrict the prompt table rows to only show the 10 to 15 frequently used countries. The easiest way to do this is to replace the prompt table on your subrecord with a view that only shows the countries you are interested in viewing. The problem with this approach is that the subrecord is shared. By changing the prompt table in the subrecord, you will change the prompt table on every record that uses this subrecord, and, therefore, every page that uses that record. Another alternative is to use the Field.AddDropDownItem method. PeopleBooks says this method will override the prompt table and translate table settings. I have not used this method, but this sounds promising. To start with, identify your field in the component buffer using the real, main record, not the subrecord. Next, select your popular rows from the database and iterate over those rows, calling AddDropDownItem.

I've never done this before, but if I did, this is where I would start. I hope this helps. Please post your results.

Rama Naidu said...

thanks for the help.. I will let you know. once its done..

Josh said...

I'm in this session right now!

Jim Marion said...

@Josh, I really hope you enjoyed this session. Please feel free to post any feedback.

Siva Chilukuri said...

Hi Jim,
Can I have addattachment at level 0 and once file gets attached. It should show in grid (level 1). So every time user uploads a file, this grid should get populated with the attached files.

Thanks
Hari

Jim Marion said...

@Siva, yes. The attachment buttons/links come from a derived/work record. You can take whatever action you want when someone clicks the link.