بتاريخ: 12 أبريل 201214 سنة comment_223135 السلام عليكم ورحمة اللهأريد ان اقوم بعمل3 bockهي عباره عنMaster XX_BLOCK1Detail XX_BLOCK2قمت بعملMasterوهي عباره عن LOVيتم الأستعلام بها ويقوم بوضع القيمة في Detailوهي عباره عن 10 row Tabulreالمطلوب ان أقوم بوضع بلوك 3XX_BLOCK3يرتبط مع الماستربحيث عندما أقوم بعمل(Y,N check Boxيتم عمل تخزين البيانات وهي تاريخ اليومفي جدول جديد قمت بإنشائه بشكل جديد create TableCREATE TABLE XX_AUDIT_CHECK(CHECK_ID NUMBER(15),CHECK_NO NUMBER(15),CHECK_CONDITION VARCHAR2(2 BYTE),DATE_CHECK DATE,USER_CHECK VARCHAR2(50 BYTE),REMARK VARCHAR2(200 BYTE),UPDATE_NAME VARCHAR2(100 BYTE))KEY-NEXT-ITEMCHECK_NOعلى البلوك الجديد وهو رقم 3وعملت CURSOREكما يلي Declare cursor c is select NVL(CHECK_ID,'0'),NVL(CHECK_NO,'0'),NVL(CHECK_CONDITION,'N'),NVL(date_check,sysdate),NVL(USER_CHECK,FND_GLOBAL.USER_NAME),NVL(remark,''),NVL(UPDATE_NAME,FND_GLOBAL.USER_NAME) -- empno,ename,job,mgr,hiredate,sal,comm,deptno from XX_BLOCK3 where CHECK_NO=:XX_BLOCK2.CHECK_NO; v_CHECK_ID XX_BLOCK3.CHECK_ID%type; v_CHECK_NO XX_BLOCK3.CHECK_NO%type; v_CHECK_CONDITION XX_BLOCK3.CHECK_CONDITION%type; v_date_check XX_BLOCK3.date_check%type; v_USER_CHECK XX_BLOCK3.USER_CHECK%type; v_remark XX_BLOCK3.remark%type; v_UPDATE_NAME XX_BLOCK3.UPDATE_NAME%type; --v_deptno emp.deptno%type; BEGIN IF :system.cursor_record='1' THEN go_item(':XX_BLOCK3.CHECK_ID'); open c; loop fetch c into v_CHECK_ID,v_CHECK_NO,v_CHECK_CONDITION,v_date_check ,v_USER_CHECK,v_remark,v_UPDATE_NAME; :XX_BLOCK3.CHECK_ID:=v_CHECK_ID; :XX_BLOCK3.CHECK_NO:=v_CHECK_NO; :XX_BLOCK3.CHECK_CONDITION:=v_CHECK_CONDITION ; :XX_BLOCK3.date_check:=v_date_check ; :XX_BLOCK3.USER_CHECK:=v_USER_CHECK; :XX_BLOCK3.remark:=v_remark; :XX_BLOCK3.UPDATE_NAME:=v_UPDATE_NAME; -- :control.deptno:=v_deptno; next_record; exit when c%notfound; end loop; end if; if :XX_BLOCK3.CHECK_NO is null then message('You must enter DATA); message('You must enter DATA); else open c; loop fetch c into v_CHECK_ID,v_CHECK_NO,v_CHECK_CONDITION,v_date_check ,v_USER_CHECK,v_remark,v_UPDATE_NAME; :XX_BLOCK3.CHECK_ID:=v_CHECK_ID; :XX_BLOCK3.CHECK_NO:=v_CHECK_NO; :XX_BLOCK3.CHECK_CONDITION:=v_CHECK_CONDITION ; :XX_BLOCK3.date_check:=v_date_check ; :XX_BLOCK3.USER_CHECK:=v_USER_CHECK; :XX_BLOCK3.remark:=v_remark; :XX_BLOCK3.UPDATE_NAME:=v_UPDATE_NAME; -- :control.deptno:=v_deptno; next_record; exit when c%notfound; end loop; end if; close c; exception when no_data_found then go_item(':XX_BLOCK3.CHECK_ID'); end; Declare cursor c is select NVL(CHECK_ID,'0'),NVL(CHECK_NO,'0'),NVL(CHECK_CONDITION,'N'),NVL(date_check,sysdate),NVL(USER_CHECK,FND_GLOBAL.USER_NAME),NVL(remark,''),NVL(UPDATE_NAME,FND_GLOBAL.USER_NAME) -- empno,ename,job,mgr,hiredate,sal,comm,deptno from XX_BLOCK3 where CHECK_NO=:XX_BLOCK2.CHECK_NO; v_CHECK_ID XX_BLOCK3.CHECK_ID%type; v_CHECK_NO XX_BLOCK3.CHECK_NO%type; v_CHECK_CONDITION XX_BLOCK3.CHECK_CONDITION%type; v_date_check XX_BLOCK3.date_check%type; v_USER_CHECK XX_BLOCK3.USER_CHECK%type; v_remark XX_BLOCK3.remark%type; v_UPDATE_NAME XX_BLOCK3.UPDATE_NAME%type; BEGIN IF :system.cursor_record='1' THEN go_item(':XX_BLOCK3.CHECK_ID'); open c; loop fetch c into v_CHECK_ID,v_CHECK_NO,v_CHECK_CONDITION,v_date_check ,v_USER_CHECK,v_remark,v_UPDATE_NAME; :XX_BLOCK3.CHECK_ID:=v_CHECK_ID; :XX_BLOCK3.CHECK_NO:=v_CHECK_NO; :XX_BLOCK3.CHECK_CONDITION:=v_CHECK_CONDITION ; :XX_BLOCK3.date_check:=v_date_check ; :XX_BLOCK3.USER_CHECK:=v_USER_CHECK; :XX_BLOCK3.remark:=v_remark; :XX_BLOCK3.UPDATE_NAME:=v_UPDATE_NAME; -- :control.deptno:=v_deptno; next_record; exit when c%notfound; end loop; end if; if :XX_BLOCK3.CHECK_NO is null then message('You must enter DATA); message('You must enter DATA); else open c; loop fetch c into v_CHECK_ID,v_CHECK_NO,v_CHECK_CONDITION,v_date_check ,v_USER_CHECK,v_remark,v_UPDATE_NAME; :XX_BLOCK3.CHECK_ID:=v_CHECK_ID; :XX_BLOCK3.CHECK_NO:=v_CHECK_NO; :XX_BLOCK3.CHECK_CONDITION:=v_CHECK_CONDITION ; :XX_BLOCK3.date_check:=v_date_check ; :XX_BLOCK3.USER_CHECK:=v_USER_CHECK; :XX_BLOCK3.remark:=v_remark; :XX_BLOCK3.UPDATE_NAME:=v_UPDATE_NAME; next_record; exit when c%notfound; end loop; end if; close c; exception when no_data_found then message('no data'); go_item(':XX_BLOCK3.CHECK_ID'); end; المشكلهعندما أقوم بعمل RUnيأتي فقط الريكورد الأول مفعل فقط والباقي يكون غير مفعلويقوم بتخزين البيانات فقطللريكورد الأول لجميعال Row وبنفس قيمة الريكورد الأول تقديم بلاغ
بتاريخ: 12 ديسمبر 201213 سنة comment_230073 مساعده في مشكله على شاشة Master/ Detailلدي فورم رواتب الموظفين master هو تاريخ الراتب lov في حال الدخول الى الفورم يطلب مني مباشرة شهر الراتب مثلا 2/2012detail عبار عن رقم الموظف واسمه والراتب الاساسي love يحضرهم جميعم من جدول الموظفين وادخل البيانات على جدول الرواتب وهيالعلاوات والخصومات لكن لدي مشكلتيناولا اريد عندما اعطيه شهر الراتب ان يطبع لي جميع الموظفين التي حالتهم 'يعمل' ويستثني الذين حالتهم 'انتهت خدماتهم' وبدون تكراروالمشكلة الثانية انه لايخزن معلومات التي ادخلها على detail عند التخزين يعود الى master وتظهر رساله كما في الصورة المرفقةكما انني اريد ارفاق موظوع على الموقع ولم اعرف الرجاء مساعدتي تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.