بتاريخ: 2 يوليو 201312 سنة comment_238170 DECLARE filename VARCHAR2(256); ConvID PLS_INTEGER; AppID PLS_INTEGER; Buffer VARCHAR2(20); I NUMBER(3):=1; J NUMBER(5):=1; V_NUMBER VARCHAR2(20); LEN NUMBER(20); V_ISSUEDATEH VARCHAR2(13); V_PART_NAME VARCHAR2(100); V_MOBILE_NO VARCHAR2(10); V_PAID_AMOUNT NUMBER(20,2); V_PAID_DATE VARCHAR2(100); V_ATM_BANK_ID VARCHAR2(50); v_PART_ACC_NO VARCHAR2(50); V_PAID_TYPE VARCHAR2(50); V_PRT_CODE VARCHAR2(50); BEGIN --filename := GET_FILE_NAME(File_Filter=> 'EXCEL Files (*.XLS)|*.XLS|'); /*AppID := DDE.App_Begin('C:\Program Files\Microsoft Office\Office12\EXCEL.EXE'||' '||'C:\B.XLS',DDE.APP_MODE_MAXIMIZED); ConvID := DDE.Initiate('EXCEL.EXE','C:\ReconciliationFileList.xls');*/ AppID := DDE.App_Begin('C:\Program Files\Microsoft Office\Office12\EXCEL.EXE'||' '||'C:\ReconciliationFileList.xls',DDE.APP_MODE_MAXIMIZED); ConvID := DDE.Initiate('EXCEL.EXE','C:\ReconciliationFileList.xls'); LOOP BEGIN BUFFER:=NULL; V_NUMBER:=NULL; I:=1; DDE.Request(ConvID,'R'||J||'C1',BUFFER,DDE.CF_TEXT,1000); DDE.Request(ConvID,'R'||J||'C2',V_PART_NAME,DDE.CF_TEXT,1000); DDE.Request(ConvID,'R'||J||'C3',V_MOBILE_NO,DDE.CF_TEXT,1000); DDE.Request(ConvID,'R'||J||'C4',V_PAID_AMOUNT,DDE.CF_TEXT,1000); DDE.Request(ConvID,'R'||J||'C5',V_PAID_DATE,DDE.CF_TEXT,1000); DDE.Request(ConvID,'R'||J||'C6',V_ATM_BANK_ID,DDE.CF_TEXT,1000); DDE.Request(ConvID,'R'||J||'C7',V_PAID_TYPE,DDE.CF_TEXT,1000); DDE.Request(ConvID,'R'||J||'C8',V_PRT_CODE,DDE.CF_TEXT,1000); IF ASCII(BUFFER)=13 THEN EXIT; END IF; LEN:=LENGTH(Buffer); LOOP EXIT WHEN I>LEN; IF SUBSTR(BUFFER,I,1) IN ('0','1','2','3','4','5','6','7','8','9') THEN V_NUMBER:= V_NUMBER||SUBSTR(BUFFER,I,1); I:=I+1; ELSE I:=I+1; END IF; END LOOP; EXCEPTION WHEN NO_DATA_FOUND THEN exit; WHEN OTHERS THEN MESSAGE(SQLERRM); END; go_block ('INV_ACC'); :PART_ACC_NO:=to_number(V_NUMBER) ; :PART_NAME := V_PART_NAME; :MOBILE_NO := V_MOBILE_NO; :PAID_AMOUNT:= V_PAID_AMOUNT; :PAID_DATE := V_PAID_DATE; :ATM_BANK_ID:= V_ATM_BANK_ID; :PAID_TYPE := V_PAID_TYPE; :PAID_TYPE := V_PAID_TYPE; :PRT_CODE := V_PRT_CODE; J:=J+1; NEXT_RECORD; END LOOP; DDE.APP_END(appid); EXCEPTION WHEN DDE.DDE_APP_NOT_FOUND THEN MESSAGE('APP NOT FOUND'); WHEN DDE.DDE_APP_FAILURE THEN MESSAGE('APP FAILED'); WHEN DDE.DDE_INIT_FAILED THEN MESSAGE('INIT FAILED'); WHEN DDE.DMLERR_NO_CONV_ESTABLISHED THEN MESSAGE('CLIENT FAILED TO ESTABLISH CONVERSATION'); WHEN OTHERS THEN MESSAGE(SQLERRM); END; المشكله هي عند عمل ادخال للبيانات داخل اوراكل يظهر مشكله لحقل القيمه لانها من نوع number (PAID_AMOUNT) /*DDE.Request(ConvID,'R'||J||'C4',V_PAID_AMOUNT,DDE.CF_TEXT,1000);*/ هل يوجد باراميتر داخل DDE.Request تتعامل مع الارقام وشكرا تم تعديل 2 يوليو 201312 سنة بواسطة Ahmad.Hasan تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.