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

كيف يتم تحديد اسم اليوزر مع اسم الجدول


masmas

Recommended Posts

السلام عليكم ورحمة الله وبركاته،،
لدي يوزر مرتبات ولنفترض اسمه P وعدد 2 يوزر حسابات ولنفترض acc1,acc2،
ولدي شركتين في يوزر المرتبات شركة 1 وشركة 2
عند انشاء شركة 1 من يوزر المرتبات تم اضافة حقل عبارة عن اسم اليوزر ليتم بعد ذلك اظهار الحسابات الخاصة باليوزر المربوط به ولفترض انه تم ربطه acc1 ، وربط شركة 2 من يوزر المرتبات بحسابات يوزر acc2
ولنفترض ان اسم الجدول للحسابات لكل منهما acc_master

لاحظوا معي اريد الحل بشكل عام لأنه من الممكن ان تتغير اسماء ايوزرات للحسابات:

شاشة ربط الحسابات بالمرتبات واحدة حيث انني اريد عمل record group ليظهر اسماء الحسابات الخاصة باليوزر لكل شركة منهما على حده
بمعنى عند فتح شاشة ربط الحسابات يظهر لدي اسم الشركة وليكن شركة 1 بعد ذلك يتم الذهاب الى كود الحساب عند الضغط على F9 اريد يظهر فقط اسماء الحسابات الخاصة والموجودة في اليوزر acc1 وهكذا في الشركة 2 تظهر الحسابات في يوزر acc2

كيف اقوم بتغيير اسم يوزر الحسابات في كل مرة في record group
select acc_no from ACC.acc_master

ارجو ان المعلومة وصلت
ودمتم

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

اخي الكريم

1_قم بوضع رقم اليوزر في متغير في شاشة الدخول حتي يتم نقله إلى الشاشة الرئيسية
كما يلي على سبيل المثال
WHEN-BUTTON-PRESSED

declare
numc number(3);
nam varchar2(150);
vcount number(1);
begin
select count(numc) into vcount
from compny
where numc = :numc and usr = :usr and pass = :pass ;

IF :numc > 0 and vcount = 1 then
select numc , nam
into :global.numc , :global.nam
from compny where numc = :numc;
call_form(getpath||'main');
exit_form;

elsif :numc = 0 and vcount = 1 then
call_form(getpath||'compny');
exit_form;

else
MESSAGE('íæÌÏ ÎØà Ýí ÅÏÎÇá ÑãÒ ÇáÏÎæá Ãæ ßáãÉ ÇáÓÑ');
MESSAGE('íæÌÏ ÎØà Ýí ÅÏÎÇá ÑãÒ ÇáÏÎæá Ãæ ßáãÉ ÇáÓÑ');
RAISE Form_Trigger_Failure;
end if;
end ;

2_في الشاشة الرئيسية يكون الكود
WHEN-NEW-FORM-INSTANCE
declare
begin
:title.titl := :global.nam ;
:title.numc := :global.numc ;
end;

3_في Record Group يتم ربط الكود برقم المستخدم كما يلي
SELECT ALL ACT.AC_NUM, ACT.AC_NAM
FROM ACT
WHERE ACT.NUMC=:TITLE.NUMC AND ACT.AC_NUM >100000000
ORDER BY ACT.AC_NUM

4_على مستوى الفورم يتم إلغاء عمل المفتاح رقم 8 وهو مسح الكل حتى لا يتم مسح قيمة المتغير
KEY-CLRFRM
NULL ;

جزاك الله كل خير

رابط هذا التعليق
شارك

اخي العزيز جمال اريد ان اوضح لك ان قصدي من اليوزر الحسابات ليس عبارة عن حقل تم اضافته في جدول المستخدمين
قصدي من اليوزر هي الاسكيما نفسها
حيث ان جدول الحسابات وليكن مثلا acc_file موجود في كلا من الاسكيما acc1 و acc2
الآن كيف من الممكن ان اضيف الاسكيما كبراميتر في جملة الاستعلام الخاصة بـ form
بمعنى select acc_no from ACC.acc_file

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

اخي الكريم

جرب استخدام الكود التالي


DECLARE
USER_NAME VARCHAR2(50);
PASS_WORD VARCHAR2(50);
CONN_STRG VARCHAR2(50);
BEGIN
USER_NAME := GET_APPLICATION_PROPERTY(USERNAME);
PASS_WORD := GET_APPLICATION_PROPERTY(PASSWORD);
CONN_STRG := GET_APPLICATION_PROPERTY(CONNECT_STRING);
IF USER_NAME = 'FFF1' THEN
Host('EXP '||USER_NAME||'/'||PASS_WORD||'@'||CONN_STRG||' '||'FILE='||getpath||'copydata\'||USER_NAME||to_char(sysdate,'DD-MM-YYYY')||'.DMP'||' '||'OWNER='||USER_NAME||' '||'LOG='||getpath||'copydata\'||USER_NAME||to_char(sysdate,'DD-MM-YYYY')||'.TXT');
END IF ;
END ;

جزاك الله كل خير

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية