XMLPublish即時打印通過三步實現:
1)、 通過sql取得數據;
2)、 根據取得的數據生成xml文件;
3)、 將xml文件結合模板打印出pdf文件。
首先是XML即時打印技術的結構,它包括了(1).OAF程序包(2).JSP 文件(3).數據庫package.(4).表HSS_XDO_TEMPLATES
製作的步驟是:(1). 程序的安裝:將OAF的hss包上傳到服務器$JAVA_TOP下,將JSP文件上傳到服務器$OA_HTML 路徑下,在數據庫中安裝hss_pdf_print_utl.pkg,hss_pdf_print_utl_w.pkg 三個包,在數據庫中創建表hss_xdo_templates表。
(2).跟做普通的XML Publisher報表一樣製作RTF格式報表樣式
(3).在hand_xdo_templates中添加相應的對照關係
(4).將hssXmlpPrint.jsp定義成功能方便調用,需要注意的是定義的功能類型爲SSWA jsp 函數,在WEB HTML中給參數hssXmlpPrint.jsp
(5). 可以根據需要在需要的地方調用功能。在調用功能時傳遞報表所需要的參數:appName=’應用的名稱’&template=模板的名稱 ¶ms=參數。這樣就完成了XML Publisher 格式的報表即時打印技術。
template 爲XML Publisher中定義的模板
OAF界面調用例:Destination URI :/OA_HTML/hssXmlpPrint.jsp?appName=CUX&template=CUXTCFPT1&&processformat=PDF¶ms=p_article_no={@ArticleNo}!p_organization_id={@OrganizationId}!p_print_chem={@ChemPrint}!p_show_flag={@ShowFlag}
FORM調用例:fnd_function.EXECUTE('CUXPRINT',
'Y','Y',
'appName=CUX&template=CUXCUSTDNP&processformat=PDF¶ms=P_ORGANIZATION_ID=' || l_org_id || '!' ||
'P_DELIVERY_ID=' || :result_detail.delivery_id|| '!' ||
'p_sold_to_org_id=' || :RESULT_DETAIL.SOLD_TO_ORG_ID
);