بتاريخ: 22 مايو 201213 سنة comment_224854 السلام عليكم ورحمة الله وبركاتهاخوانى انا عندى مشكله بشغلى اليوم باكمله وانا واقف فيها ومش لاقى حلالمشكله خاصه بعنصر الجزاءات Penaltyالجزاءات لدينا عباره عن خصم ايام من راتب الموظف بحيث لا تزيد عدد ايام الخصومات فى الشهر الواحد عن خمسة ايام ويتم ترحيل باقى الايام للشهور التاليهطبعا كل ده سهل جدا وما فيه مشكلهالمشكله هى اذا اخد الموظف سبعة ايام خصم ( على سبيل المثال طبعا ) يتم ترحيل يومين للشهر التالى واليومين يتم حسابهم على اساس المرتب التامينى للشهر الذى اخذ فيه الموظف الجزاءما حيرنى هو كيف اقوم بارجاع قيمى مرتب سابق فى الفورمولاما قمت بعملهقمت بعمل عنصرين واحد لتسجيل الجزاءات وكان من نوع Information وبه مدخلين وهم عدد ايام الجزاء وتاريخ الجزاءوالنصر الثانى لاحتساب الخصومات الشهريه Penalry deduction وبه مدخلين عدد ايام الخصم وتاريخ الجزاء حتى احدد منه الراتب المخصوم على اساسهوقمت بوضعهم فى Balance لتجميع ايام الجزاءات كلهالكن وقفت عند كتابة الفورمولا فى نقطة كيفية ارجاع قيمة مرتب سابق والمشكله الاكبر انه مطلوب منى الحل بدون تدخل اى Developerفهل اجد لديكم اى فكره تسهلى الحصول على مرتب سابق بدلالة تاريخ او باى طريقه اخرى غير التكنيكالمنتظر ردكم لان المفروض اقدم الحل بكره تقديم بلاغ
بتاريخ: 22 مايو 201213 سنة comment_224861 أعتقد أخي الفاضل أنك يجب ان تقوم بخطوتين1- معرفة الشهر الحالي من خلال تاريخ الخصومات و ذلك عن طريق الدالة EXTRACT و وضعه في متغير عام يمكنك البحث عن مثال لها في المنتدي2- عبارة SELECT لإسم شخص ، مرتب ، تاريخ بحيث يكون الشهر (تقوم بإستخلاصه أيضا من خلال الدالة EXTRACT ) أصغر من الشهر الموجود بالمتغير الذي قمت بإستخلاصه من خلال الدالة في النقطة رقم 1و هذا مثال لدالة EXTRACTSELECT EXTRACT(YEAR FROM (SYSDATE - BIRTH_DATE) YEAR TO MONTH )|| ' years '|| EXTRACT(MONTH FROM (SYSDATE - BIRTH_DATE) YEAR TO MONTH )|| ' months ' ageFROM EMPLOYEESأسأل الله العظيم لي و لك التوفيق تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.