События Peoplesoft Peoplecode

Я новичок в программном обеспечении Peoplesoft и программировании PeopleCode. Я делал много упражнений с PeopleCode. У меня есть вопрос, в результате чего записи полей событий, таких как FieldDefault и т. Д. И т. Д....

Я сделал приложение, в котором пользователь может искать и добавлять новые значения. Так что в случае, когда у меня есть Peoplecode в одном из событий, например, SaveEdit, когда я нажимаю кнопку сохранения в обоих случаях поиска данных или добавления новой вкладки значений, она указывает на тот же PeopleCode.

Есть ли способ, с помощью которого код узнает, когда пользователь ищет существующие данные или добавляет значение или строки в PeopleSoft?

Не будет ли противоречивым в обоих случаях указывать на один и тот же PeopleCode?

Другой вопрос:

Привет у меня есть вопрос относительно передачи переменных между событием FieldFormula и SavePostChange.

У меня есть некоторые значения, рассчитываемые в FieldFormula, и я хочу получить к нему доступ в событии SavePostChange, так как я хочу выводить окно сообщения на основе вычисляемого значения.

Я использовал глобальные переменные для доступа к переменным.

Есть ли хороший способ передать переменные или доступ к значениям переменных?

2 ответа

Решение

В случае поисковых записей существует несколько событий, связанных с поиском, SearchInit и SearchSave. SaveEdit - это когда запись сохраняется, поэтому она не должна конфликтовать с Searchevents.

Кроме того, вы можете поместить код либо в Record PeopleCode (срабатывает каждый раз, когда кто-либо использует эту запись в компоненте), либо в Component Record PeopleCode (только этот компонент). Сначала запускается запись PeopleCode, затем запись компонента PeopleCode. Компонент PeopleCode также имеет дополнительные события, которых нет на уровне записи, такие как SavePreChange и SavePostChange. Так что, как только вы поймете, кто стреляет, вы сможете получить довольно детальный контроль над различными событиями.

На самом деле в PeopleBooks есть довольно хорошее резюме.

Что касается вашего вопроса о том, как провести различие между добавлением нового значения и работой над существующим, я бы предложил вам использовать переменную %Mode в peoplecode.

При работе с существующим значением%Mode принимает значение как "U", т.е. режим обновления

If %Mode="U" then
/**YOUR CODE**/
End-if;

При работе с новым значением%Mode принимает значение как "A", т.е. Add Mode

If %Mode="A" then
/**YOUR CODE**/
End-if;
Другие вопросы по тегам