Что такое САЙ-ОНКОМ?

Для чего используется sy-oncom?

У меня есть следующее объяснение от SDN, но в моей программе я получаю значение «T» и «X».

SY-ONCOM

На флаге фиксации. Для этого системного поля устанавливаются разные значения в зависимости от состояния вызова программы ABAP. Из них гарантируется только значение «P». Если вообще, SY-ONCOM нужно запрашивать только для «P».

Значение 'P' означает, что программа уже выполняет подпрограмму, запущенную с помощью PERFORM ... ON COMMIT, и поэтому дальнейший вызов подпрограммы с использованием PERFORM ... ON COMMIT вызовет ошибку времени выполнения.


person SteD    schedule 23.03.2010    source источник


Ответы (1)


Это в значительной степени недокументированное поле, я бы не стал на него полагаться. Я знаю, что он должен быть установлен на «V» (Verbucher), когда функциональный модуль обновления запускается в задаче обновления после COMMIT WORK. Перед этим выполняются вызовы PERFORM foo ON COMMIT, и во время этих подпрограмм поле должно быть установлено в 'P'.

Просто из любопытства, для чего он нужен?

person vwegert    schedule 23.03.2010
comment
Я тоже не уверен, я нашел его внутри пользовательского выхода, и это вызывает проблемы с проверкой этой переменной на значение «X». Поэтому я пытаюсь выяснить, что делает это поле. - person SteD; 24.03.2010