Friday, March 06, 2015

Collaborate 2015

Collaborate 2015 is just a few weeks away. I will be presenting PeopleSoft PeopleTools Developer: Tips and Techniques on Tuesday, 4/14/2015 at 3:15 PM in Surf B. If you are presenting a PeopleTools technical session, then please post a comment with your session title, date, time, and venue. I look forward to seeing you next month!

15 comments:

Kevin Weaver said...

I have to presentations this year:

Rethinking Excel to CI
Lagoon F
April 14, 2015 9:45 - 10:45AM

Creating an Exceptional UX using Related Content, Pagelet Wizard and JQuery
Surf E
April 14, 2015 2:00 - 3:00 PM

I think both are going to be excellent presentation and I am really excited about the UX presentation. This presentation will be showing some really cool ways to improve user's experience in PeopleSoft. Like using pagelet wizard in Related content and generating excel reports from Related Actions and delivering them to the user via the browser.

Mani S said...

@Jim,
Sorry for posting off-topic.. have a question though - on a prompt lookup, when the prompt search dialog appears and if I select "between" from the drop down list for a field and provide a range, does it include those two values or exclude them?

Jim Marion said...

@Mani, I am pretty sure it is inclusive. You will have to test it to confirm.

Mani S said...

Thanks, JIm! I currently have a scenario in a page, where there are three levels - level 0, level 1 and level 2. inserting a row in level 1(header table) would also insert rows into level 2(another table). I can also individually insert rows in level 2.

Now, I need to find out from which level's RowInsert event is being triggered. If I add a new row in Level 1, then return say level1 record name - if added in level 2, then level 2 record name.

Jim Marion said...

Mani, wouldn't you use RowInsert event for this?

MyBlog said...

Jim, I would like to know from which records rowinsert has been triggered

Jim Marion said...

Each Rowset has its own RowInsert method and each Rowset has a single base record. Doesn't that tell you what you need to know? The location of the RowInsert identifies the record.

MyBlog said...

No, Jim.. As I had mentioned earlier, I want the level 2 rowinsert code to trigger only if row is added in level 2 scroll.. I don't want the level 2 people code to trigger when row is added in the level 1 scroll

MyBlog said...

I would like to identify the record from which the original rowinsert was triggered using people code.. Is that possible?

Jim Marion said...

I new it had to be more complicated than it sounded. I have not had this requirement. If Level 2 RowInsert is triggered when Level 1 inserts a row, it is because a blank row is inserted into each child scroll. Instead of RowInsert, how about FieldChange? An inserted row is going to have all default values and doesn't really count.

Mani S said...

Hi Jim, thanks a lot for the response. There's a catch to that as well. It is not an empty row that is being added to the level 2 scroll.

If there is an effdted row in level 1 and 5 rows in level 2, if I click on RowInsert on level1, it would copy over all values from the previous effdted row.

In that case, RowInsert gets triggered on level 2 five times. I tried setting Component strings as flags, but they have a limitation too - based on where the flag gets set. Any suggestions? :)

Jim Marion said...

Right, correct. It would not be an empty row. It will have default values, etc. No, I don't have suggestions for this, unfortunately.

Mani S said...

Hi Jim,
Thanks a lot for your response. This is what I did finally to solve this issue - there weren't any straightforward approaches available - so had to resort to workarounds.

Level 1
---------
Component number &count;
Component string &HeaderInsert;
&count = 1;
&HeaderInsert = "Y";


Level 2
-------
if &HeaderInsert <> "Y" then
call level 2 PeopleCode;
end-if;

if &count = Level2RowSet.ActiveRowcount and &HeaderInsert ="Y" then
&HeaderInsert = "N";
&count=0;
end-if;
&count = &count + 1;

This ensure that only the appropriate level's PeopleCode is called - the key was to reset the Header flag at the level 2's last rowInsert, when a row is inserted in Level 1.

Thanks again :)

Mani S said...

Hi Jim,
Is there anything that would prevent a tab separator on a grid from working? Dynamically hiding other columns via PeopleCode or something like that?

Thank you.

Jim Marion said...

@Mani, great question. I haven't worked with tab separators much, so I am not sure.