В приложении Interactive Report APEX 4.2.5 есть две проблемы. Я видел несколько примеров этой функциональности, но они не помогли мне до сих пор ..
1 - В отчете SELECT я выбираю некоторые поля, используя apex_item.text, так как я хочу, чтобы пользователь мог обновлять эти поля. Эта часть работает нормально. Моя проблема с записью обновленных значений обратно в таблицу (SELECT в представлении). У меня есть автономный блочный процесс SQL, который должен делать это (циклически проходить по строкам и получать доступ к значениям с помощью APEX_APPLICATION.G_Fxx), но он не работает. После подтверждения ошибки не возвращаются, вместо значений возвращаются к исходным значениям. Как я могу получить эти обновления для сохранения в таблице?
2 - В процессе SQL я включил и добавил некоторые операторы APEX_DEBUG.MESSAGE, но я не вижу результатов этих операторов нигде в журнале отладки или в таблице. Как я могу увидеть результат этих команд отладки?
Вот ВЫБРАТЬ:
select REQUISITION_LINE_ID
,apex_item.hidden(50,REQUISITION_LINE_ID,10,10) rid
,REQ_NUMBER
,REQ_LINE_NUMBER
,REQUISITION_QUANTITY
,SO_NUMBER
,SO_LINE
,ORDERED_QUANTITY
,SKU
,DESCRIPTION
,apex_item.text(10, SUPPLY_PO_NUMBER, 10, 10) SUPPLY_PO_NUMBER
,apex_item.text(20, SUPPLY_PO_LINE, 10, 10) SUPPLY_PO_LINE
,apex_item.text(30, SUPPLY_PO_SHIPMENT , 10, 10) SUPPLY_PO_SHIPMENT
from camlb.xxcb_requisition_reference;
А вот и SQL-процесс:
declare
id number;
poorder number;
poline number;
poshipment number;
begin
APEX_DEBUG.ENABLE(p_level => 9);
for i in 1..APEX_APPLICATION.G_F50.count
loop
id := APEX_APPLICATION.G_F50(i);
poorder:=APEX_APPLICATION.G_F10(i);
poline:=APEX_APPLICATION.G_F20(i);
poshipment:=APEX_APPLICATION.G_F30(i);
APEX_DEBUG_MESSAGE.LOG_MESSAGE('ID is ' || id || ', PO is ' || poorder || ', SUPPLY_PO_LINE is '|| poline || ', SUPPLY_PO_SHIPMENT is ' || poshipment);
APEX_DEBUG.MESSAGE('ID is ' || id || ', PO is ' || poorder || ', SUPPLY_PO_LINE is '|| poline || ', SUPPLY_PO_SHIPMENT is ' || poshipment);
update APPS.po_requisition_lines_all
set ATTRIBUTE1=poorder,
ATTRIBUTE2=poline,
ATTRIBUTE3=poshipment
where requisition_line_id=id;
end loop;
end;