Безсумнівно, Oracle Apex один з найневдаліших продуктів, який купила або ще якось там придбала корпорація Oracle. Наскільки огидний Oracle Apex знають багато розробників, але одна справа знати. Не дай бог якщо вам доведеться безпосередньо працювати з цією несамовитою середовищем розробки.
Мені ось довелося. Навіть був написаний невеликий мануал по установці цього убозтва на Oracle Weblogic. Але на цьому мої поневіряння не закінчилися. Мені довелося щось робити в апексі, і це було огидно. Просто жахливо. Але робота є робота ... Я не хочу знати про Apex нічого більш того, що мені треба знати для виконання найнеобхідніших дій, які я повинен робити проти своєї волі, в разі потреби, тому що така жорстока правда життя. Сподіваюся це не надовго, інакше я не зможу довго працювати на Apex-е. Тому що я постійно повинен з'ясовувати різні хитрі прийоми, які мені дозволять виконати найпростіші дії.
Уявіть собі таку ситуацію. У вас є деяка функція на PL / SQL, яка щось там робить. І в залежності від чогось тут користувачеві треба вивести а апексовском інтерфейсі повідомлення. Тільки й того, господи. Але тільки не в апекс. Інтуїтивно там ні хрена не зрозуміло, як це зробити. Треба виламати мозок, і в результаті зрозуміти, що й до чого. Ви скажете, що це просто тупе не знання інструменту? Так, я погоджуся з вами. Справа в тому, що його тупо і не хочеться знати. Мені просто треба вивести повідомлення в залежності від якихось умов довбали користувачеві!
Два з гаком години гугленія, і ось воно, рішення знайдено, перевірено і запрацювало. Допоміг буржуйський блог, наші і так все знають, і в інтернет не повідомляють. Наш програміст він собі на умі, так. Гаразд, все це лірика, нижче рішення. Авось кому небудь стане в нагоді, такого ж бідоласі ...
Робиться це так. Якщо потрібно вивести повідомлення в інтерфейсі, то в PL / SQL коді треба запхнути його в апекс таким чином:
apex_application. g_print_success_message: = 'Привіт! Мене звуть довбали апекс! ' ;
Якщо ж повідомлення користувачу виводити не треба, то apex_application.g_print_success_message необхідно присвоїти null.
А щоб це повідомлення дійсно вивести на екран, то треба створити в апексі загадковий об'єкт з типом Branch для тієї сторінки, в якій ви хочете вивести повідомлення.
Створюємо новий Branch.
Далі вибираємо потрібну сторінку і відзначаємо потрібні галочки:
Далі йде вибір умов, які нам в цьому випадку не потрібні. В результаті загадковий Branch буде створено:
В результаті всіх цих маніпуляцій користувач зможе таки побачити ваше повідомлення і зрозуміти, що ж такого зробила ваша програма. Ура, я зробив це ...
4 thoughts on "Повідомлення в процесах Oracle Apex"
З повагою, itsepäinen.
Використовувати або не використовувати Oracle Forms - справа звички і смаку, але Ви - перший ораклоід, відомий мені, яким вони до душі. Ну і порівнювати апекс і формс за кількістю написаного некоректно, як ви розумієте, в силу віку цих платформ. У будь-якому випадку, формс - це минуле, а апекс - майбутнє, незвичне, криве, не сперечаюся, але майбутнє.
До душі вони не тільки мені, маса спеців цінує і використовує форми. Для створення промислових і великих систем форми не мають альтернативи досі. За швидкістю розробки насамперед. Легкість підтримки. Ну і т.д. Чи є у апекса майбутнє? Якийсь є, якщо Оракл буде продавлювати цю технологію. Але з іншого боку є java від того ж оракла, у апекса не таким значним поле для маневру.