اذهب الي المحتوي
mohamed whba

كيفية الطباعة مباشرة ع ال Printer بدون عرض ال Pdf

Recommended Posts

mohamed whba

كيفية الطباعة مباشرة ع ال printer بدون عرض ال pdf 

oracle 11g حاليا انا ماشى فى سكة الكود دة بس فية مشاكل 

PROCEDURE auto_print (pl_id paramlist,report_name varchar2)IS
EXECUTION_MODE NUMBER := RUNTIME;
JOBIDFULL    VARCHAR2(100);
STATUS       VARCHAR2(100);
JOBIDPARTIAL   VARCHAR2(100);
COMM_MODE     NUMBER := SYNCHRONOUS;
PREPOBJ report_object;
BEGIN
   
  PREPOBJ := find_report_object('GENREP');
--HOST('DEL \\190.0.0.67\temp /F /Q');


SET_REPORT_OBJECT_PROPERTY(PREPOBJ, REPORT_FILENAME,report_name);
SET_REPORT_OBJECT_PROPERTY(PREPOBJ, REPORT_EXECUTION_MODE, EXECUTION_MODE);
SET_REPORT_OBJECT_PROPERTY(PREPOBJ, REPORT_COMM_MODE, COMM_MODE);
SET_REPORT_OBJECT_PROPERTY(PREPOBJ, REPORT_DESFORMAT, 'PDF');
SET_REPORT_OBJECT_PROPERTY(PREPOBJ, REPORT_DESTYPE, 'FILE');


SET_REPORT_OBJECT_PROPERTY(PREPOBJ, REPORT_SERVER, :Global.Rwserver);
SET_REPORT_OBJECT_PROPERTY(PREPOBJ, REPORT_DESNAME, '\\190.0.0.67\temp\' || 'mohamed_hassan'  || '.pdf');


-- ****** ?? ?? ??? ???? ?????? ?? PDF


JOBIDFULL := RUN_REPORT_OBJECT(PREPOBJ, PL_ID);


JOBIDPARTIAL := SUBSTR(JOBIDFULL, LENGTH(:Global.Rwserver) + 2, LENGTH(JOBIDFULL));
STATUS := REPORT_OBJECT_STATUS(JOBIDFULL);


IF (STATUS = 'FINISHED') THEN 
   webutil_HOST.host('CMD /C CALL START /MIN AcroRd32.exe /h /p /t \\190.0.0.67\temp\' || 'mohamed_hassan'  || '.pdf');
ELSE  -- Report generation error
   MESSAGE('Report failed with message: ' || status); 
END IF;
END;

شارك هذه المشاركه


رابط المشاركه
شارك
mohamed whba

 

تم الوصول الى الكود النهائى للطباعة على اعتبار ان :Global.USER_NAME دة يعتبر UNIQUE على مستوى السيستم و SERVER IP  190.0.0.10  وعمل FOLDER SAHER اسمة TEMP تستطيب ADOBE READER ووضع المسار فى WINDOWS VARIABLE

 

PROCEDURE online_print (pl_id paramlist,report_name varchar2)IS

     V_REP            VARCHAR2(200);

     REP_STATUS        VARCHAR2(200);

     JOBIDPARTIAL VARCHAR2(200);

     repid                report_object;

     v_add   varchar2(1000);

BEGIN

  HOST('DEL \\190.0.0.10\temp\*'||:Global.USER_NAME||'.PDF'||' /F /Q'); -- TO DELETE Previous Files

  repid := find_report_object('GENREP');

 

    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_FILENAME,report_name);

    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_EXECUTION_MODE, RUNTIME);

    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_COMM_MODE, SYNCHRONOUS);

    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESFORMAT, 'PDF');

    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESTYPE, FILE);

    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_SERVER, :Global.Rwserver);

 

    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESNAME, '\\190.0.0.10\temp\' || report_name||'_'||:Global.USER_NAME||'.pdf');

    

    V_REP        := RUN_REPORT_OBJECT(repid, PL_ID);

    JOBIDPARTIAL := SUBSTR(V_REP, LENGTH(:Global.Rwserver) + 2, LENGTH(V_REP));

 

    REP_STATUS := REPORT_OBJECT_STATUS(V_REP);

 

  IF (STATUS = 'FINISHED') THEN 

       webutil_HOST.host('CMD /C CALL START /MIN C:\Adobe\Reader\Reader\AcroRd32.exe /h /p /t \\190.0.0.10\temp\'  || report_name||'_'||:Global.USER_NAME||'.pdf');

    ELSE  -- Report generation error

       MESSAGE('Report failed with message: ' || status); 

    END IF;

    

END;

 

تم تعديل بواسطة mohamed whba

شارك هذه المشاركه


رابط المشاركه
شارك
yahaa1982

host('rundll32 url.dll,FileProtocolHandler \\192.168.2.1\model2\UPLOAD_DB\'||:SPE_NO||'.pdf');

اسهل طريقة بدون اي كود عن طريق اوامر CMD

انا شغالة معي 100%

تم تعديل بواسطة yahaa1982

شارك هذه المشاركه


رابط المشاركه
شارك

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان

×
×
  • اضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: إتفاقية الخصوصية