كيفية تحديد وجهة الطباعة من الفورم : ( اي توجية الطباعة اما للطابعة مباشرة او لعرض قبل الطباعة حسب اختيار المستخدم ) :
قم بالتالي:
قم بإنشاء radio group وأسمه destype ومن ثم اضبط الخاصية defualt value الى القيمة S ومن ثم قم بإنشاء زرين داخل مجموعة الأزرار هذه واسم الأول screen والثاني printer ومن ثم اضبط حصائص الزر screen بحيث label الى "الشاشة" والـ value الى ٍS ثم اضبط حصائص الزر printer بحيث label الى "الطابعة" والـ value الى ٍP وفي الtrigger الذي يتم فيه طلب الطباعة اكتب الكود التالي :
[ code]
DECLARE
v_pl_id ParamList;
V_REPORT_NAME VARCHAR2(10) := 'اكتب هنا اسم التقرير';
BEGIN
V_pl_id := Get_Parameter_List('REPDATA');
IF NOT Id_Null(V_pl_id) THEN
Destroy_Parameter_List( V_pl_id );
END IF;
V_pl_id := Create_Parameter_List('REPDATA');
----
-- اضف المعاملات التي تريد تمريرها الى التقرير
----
-- هذا السطر لكي لا يظهر نموذج المعاملات
Add_Parameter(v_pl_id,'PARAMFORM',TEXT_PARAMETER,'NO');
--هذه الأسطر لتحديد وجهة الطباعة حسب اختيار المستخدم
IF :CONTROL.DESTYPE = 'S' THEN
Add_Parameter(V_pl_id,'DESTYPE',TEXT_PARAMETER,'PREVIEW');
ELSE
Add_Parameter(V_pl_id,'DESTYPE',TEXT_PARAMETER,'PRINTER');
END IF;
Run_Product(REPORTS, V_REPORT_NAME, ASYNCHRONOUS, RUNTIME,FILESYSTEM, V_pl_id, NULL);
Destroy_Parameter_List( V_pl_id );
END;
وفي الدرس الجديد سيتم شرح تحديد عدد النسخ المراد طبعها من النموذج