بتاريخ: 5 ديسمبر 201213 سنة comment_229795 السلام عليكم عملت شاشة فواتير مشتريات وفي تريجر PST_FORM_COMMIT كتبت كود يعمل UPDATE للكميه في جدول الاصنافDECLARE V_QTY NUMBER(30);BEGIN IF :STK_PRCH_BILL.POSTED = 0 THEN BEGIN SELECT SUM(QUANTITY) INTO V_QTY FROM STK_PRCH_DTL WHERE AC_YEAR = AC_YEAR AND BRANCH_CODE = BRANCH_CODE AND ITEM_TYPE = ITEM_TYPE AND ITEM_CODE = ITEM_CODE AND BARCODE = BARCODE; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END; BEGIN UPDATE STK_ITEMS_DTL SET CURRENT_QTY = (NVL(CURRENT_QTY,0) + NVL( V_QTY,0)) WHERE STK_ITEMS_DTL.AC_YEAR = :STK_PRCH_DTL.AC_YEAR AND STK_ITEMS_DTL.BRANCH_CODE = :STK_PRCH_DTL.BRANCH_CODE AND STK_ITEMS_DTL.ITEM_TYPE = :STK_PRCH_DTL.ITEM_TYPE AND STK_ITEMS_DTL.ITEM_CODE = :STK_PRCH_DTL.ITEM_CODE AND STK_ITEMS_DTL.BARCODE = :STK_PRCH_DTL.BARCODE; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END; UPDATE STK_PRCH_BILL SET POSTED = 1 WHERE AC_YEAR = AC_YEAR AND BRANCH_CODE = BRANCH_CODE AND P_BILL_NO = P_BILL_NO ; ELSE MESSAGE('BILL IS POSTED !!!'); MESSAGE('BILL IS POSTED !!!'); RAISE Form_Trigger_Failure; END IF;END;هو بيعمل UPDATE بس لازم يكون فيه صنف واحد في الفاتوره واذا كان اكثر من صنف في بيرجع اكثر من قيمه داخل المتغير فيعطي ERRORانا عارف المشكله بس مو عارف الحل اتمنى القى مساعده منكم وشكرا تقديم بلاغ
بتاريخ: 5 ديسمبر 201213 سنة comment_229809 السلام عليكم ورحمة الله وبركاتهممكن تعمل loop على البلوك اللي فيها بيكتب أصناف الفاتورةمثال: BEGIN Go_Block('BLOCK_NAME'); First_Record; Loop Update Table_name Set Qty = Value Where Code = :Code; Exit When :System.Last_Record = 'TRUE'; Next_Record; End Loop Commit; END; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.