إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

مشكلة في تعدد الـglobal Variables


3 رد (ردود) على هذا الموضوع

#1 بو عبدالعزيز

بو عبدالعزيز

    مشترك

  • الأعضــاء
  • 137 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 14 March 2010 - 11:02 PM

السلام عليكم أخواني ..
عندي تطبيق (APPLICATION) أدخل من خلاله مجموعه من الشكاوي وتعرض فيما بعد على المدير ..
وبالتالي أنا عملت شاشتين الأولى لإدخال البلاغات والثانيى لعرضها .. وطبعاً خاصة بالمدير .



مشكلتي في الشاشة الثانية ..
أريد أعطي شرط .. لو المستخدم الحالي هو المدير >> أفتح بلاغات الخاصة باليوم
ولو كان المستخدم الحالي هو كاتب البلاغ >> أعرض له البلاغات المدخلة بإسمه ولم يتم إتخاذ القرار بشأنها

المستخدم يتم تمييز رقمه بواسطه الرقم الموحد
GET_APPLICATION_PROPERTY(USERNAME)


لذلك كان الكود عندي هو التالي
DECLARE
GLOBAL_N NUMBER := GET_APPLICATION_PROPERTY(USERNAME);
OFFICER_N NUMBER;
MANAGER_N NUMBER;

BEGIN SELECT OFFICER INTO OFFICER_N FROM COMPLAINS WHERE OFFICER = GLOBAL_N AND SEQ_CODE = (SELECT MAX(SEQ_CODE) FROM COMPLAIN); SELECT MANAGER NTO MANAGER_N FROM COMPLAINS WHERE MANAGER = GLOBAL_N AND SEQ_CODE = (SELECT MAX(SEQ_CODE) FROM COMPLAIN); IF(GLOBAL_N = OFFICER_N) THEN
MESSAGE(OFFICER_N(;
END IF;

IF(GLOBAL_N = MANAGER_N) THEN
MESSAGE(MANAGER_N(;
END IF;

END;


المشكلة أعتقد في تواجد إحتمالين للـGLOBAL_N
يمكن يكون المستخدم الحالي OFFICER أو MANAGER

حد ممكن يساعدني ..
بليييييييز ضروري جداً
( المرفقات لمزيد من الإيضاحات )

ملفات مرفقة

  • ملف مرفق  COMPLAIN.png   21.04كيلو   14 عدد مرات التحميل


#2 بو عبدالعزيز

بو عبدالعزيز

    مشترك

  • الأعضــاء
  • 137 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 15 March 2010 - 07:18 AM

أرجووووكم أريد الحل ..
الشغل واقــف على هذه النقطة .. !!

#3 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 15 March 2010 - 09:15 AM

اخي عرضت الفكرة ولم تعرض ما المشكله التي تحدث معك !!!!؟؟؟
ما الخطا او المشكله ؟

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#4 بو عبدالعزيز

بو عبدالعزيز

    مشترك

  • الأعضــاء
  • 137 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 15 March 2010 - 09:52 AM

المشكلة أنه لا يوجد خطأ .. ولا توجد معلومات ظاهرة ؟!
وكأن البرنامج صار له لخبطه confusion من تعدد أحتمالية الـGlobal Variables

لذلك أن غيرت القيمة وكتبت الـIF من جديد بهذه الطريقة

BEGIN SELECT OFFICER INTO OFFICER_N FROM COMPLAINS WHERE OFFICER = GLOBAL_N AND SEQ_CODE = (SELECT MAX(SEQ_CODE) FROM COMPLAIN); IF(GLOBAL_N = 7700 or GLOBAL_N = 9898) THEN
MESSAGE('YOU ARE MANAGER');
else if (GLOBAL_N = OFFICER_N) THEN
MESSAGE(OFFICER_N);
END IF;


ومع ذلك نفس الأمر حدث ولم تخرج المعلومات .. !!
هل من حل ؟؟