События 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;