How to Call PLSQLCLOB in oracle workflow to show notifications.
Declare
l_documnt_id VARCHAR2(150);
l_item_key Number ;
Begin
----set values as per requirement for l_document_id .
apps.wf_engine.createprocess('XXINVWF',
l_item_key,
'PRC',
null,
null);
apps.wf_engine.setitemattrtext(itemtype => 'XXINVWF',
itemkey => l_item_key,
aname => 'ATTRIBUTE_NAME',
avalue => 'PLSQLCLOB:XX__PKG.Procudres_prc/XXINVWF:' ||
l_documnt_id);
Declare
l_documnt_id VARCHAR2(150);
l_item_key Number ;
Begin
----set values as per requirement for l_document_id .
apps.wf_engine.createprocess('XXINVWF',
l_item_key,
'PRC',
null,
null);
apps.wf_engine.setitemattrtext(itemtype => 'XXINVWF',
itemkey => l_item_key,
aname => 'ATTRIBUTE_NAME',
avalue => 'PLSQLCLOB:XX__PKG.Procudres_prc/XXINVWF:' ||
l_documnt_id);
apps.wf_engine.startprocess('XXINVWF', l_item_key);
End ;
Procedure inside package xx_pkg body
procedure Procudres_prc(document_id in varchar2,
display_type in varchar2,
document in out nocopy clob,
document_type in out nocopy varchar2) is
l_document varchar2(32000) := '';
l_wh_mngr varchar2(150);
l_mt_mngr varchar2(150);
l_OU_ID number;
nl varchar2(1) := fnd_global.newline;
curr_len number := 0;
prior_len number := 0;
l_entity_id number;
l_item_type wf_items.item_type%type;
l_item_key wf_items.item_key%type;
cursor cur_nonitems (p_wh_mang varchar2, p_mt_mang varchar2, P_Operating_unit number)
is
select col1,col2,col3 from dual ;
begin
dbms_output.put_line('START');
select substr(document_id, 1, instr(document_id, '-') - 1)
INTO l_wh_mngr
from dual;
select substr(document_id,
instr(document_id, '-') + 1,
instr(document_id, '/') - instr(document_id, '-') - 1)
INTO l_mt_mngr
from dual;
select to_number(substr(document_id, instr(document_id, '/') + 1))
INTO l_OU_ID
from dual;
--Table structure Starts
l_document := nl || nl || '<!-- NONMOV_ITEM_DET -->' || nl || nl ||
'<P><B>';
l_document := l_document || nl ||
'<TABLE width=100% border=1 cellpadding=1 cellspacing=0 summary="' || '' ||
'"> ' || nl;
l_document := l_document || '<TR>' || nl;
l_document := l_document ||
'<TH class="x1r x4j" scope="col" width="1%" align="LEFT" valign="baseline" id="Col1">' ||
'رمز المستودع' || '</TH>' || nl;
l_document := l_document ||
'<TH class="x1r x4j" scope="col" width="1%" align="LEFT" valign="baseline" id="col2">' ||
'اسم المستودع' || '</TH>' || nl;
l_document := l_document ||
'<TH class="x1r x4j" scope="col" width="10%" align="LEFT" valign="baseline" id="col3">' ||
'رقم الصنف' || '</TH>' || nl;
l_document := l_document || '</TR>' || nl;
--Table structure Ends
--Data starts
for i in cur_nonitems (l_wh_mngr,l_mt_mngr,l_OU_ID)
loop
l_document := l_document || '</TR>' || nl;
l_document := l_document || '<TD nowrap headers="col1">' ||
nvl(to_char(i.col1), ' ') || '</TD>' || nl;
l_document := l_document || '<TD nowrap headers="col2">' ||
nvl(to_char(i.col2), ' ') || '</TD>' || nl;
l_document := l_document ||
'<TD nowrap headers="col3">' ||
nvl(to_char(i.col3), ' ') || '</TD>' || nl;
wf_notification.writetoclob(document, l_document);
l_document := null;
end loop;
l_document := l_document || '</TABLE></P>' || nl;
end Procudres_prc;
Awesome Document...
ReplyDeleteThank you