بتاريخ: 4 أبريل 201313 سنة comment_234539 السلام عليكم لدي برنامج شئون موظفين HR وأريد أن أرسل ملف الرواتب على TXT File للبنك. البنك يريد البيانات بشكل معين abc,uyt,w,qor,3 NCB Bank,n,n,n, emp_account_number,amount,date, حيث أن السطر رقم واحد والسطر رقم 2 ثابتين ويكتب في الملف مره واحده والسطر الثالث هو رقم الموظف والراتب والتاريخ طبعا لكل الموظفين أفيدوني كيف اكتب ال select حيث لو عمل Concatenate للنص كامل سوف يتكرر السطر الأول والثاني مع كل موظف أيضا الرقم 3 في السطر الأول هو عدد الأسطر في الملف ساعدووووني جزاكم الله خير تقديم بلاغ
بتاريخ: 4 أبريل 201313 سنة comment_234547 السلام عليكم اخي الفاضل قم بعمل بورسيدر تقوم بعمل انسيرت في جدول في الداتا بيز وادخل اولا السطرين الثابتين كما طلب البنك ثانيا اللوب تعمل انسيرت في الجدول بالاعمده الخاصه بالموظفين وبعد ذلك اما تعمل سيلكت وتحفظه من خلال التود تااب دليميتد او تقوم بعمل تقرير يظهر المخرجات علي شكل تاب دليميتد تقديم بلاغ
بتاريخ: 4 أبريل 201313 سنة comment_234548 السلام عليكم لا يوجد داعي لانشاء جدول وتخزين البيانات مره اخرى... فقط قم باخراج اول سطرين من الـ Loop...يعني اكتب اول سطرين قبل الـ Loop الخاص باظهار بيانات الموظفين(أي سطر تريد ضهوره مره واحده فقط اكتبه قبل الـ Loop)... تقديم بلاغ
بتاريخ: 4 أبريل 201313 سنة كاتب الموضوع comment_234560 أشكرك ياأخ المصري وألأخ أحمد ولكن عندما لايتم إنشاء جدول لرمي البيانات فيه بجملة Insert كيف يتم عرض البينات أو إخراجها من داخل البروسيجر. بمعنى ممكن أعمل بروسيجر و طريق جملة Insert التي داخل البروسيجر أقوم برمي البيانات في جدول. ولكن الأخ أحمد يقول بأنه لاحاجة لجدول فيك أعرض البيانات. ممكن مثال بسيط لبروسيجر تقديم بلاغ
بتاريخ: 5 أبريل 201313 سنة comment_234565 السلام عليكم إليك مثال: Procedure Pu_Print_Emp_Status_Count Is Cursor vc_get_emp_status_count Is Select Count(*) No_Of_Employees, A.User_Status, Nvl(Decode(:Global.Language, 1, B.Dtl_Class_Desc_Ntv, B.Dtl_Class_Desc_Frn), 'ÇáÍÇáÉ ÛíÑ ãÏÎáÉ') User_Status_Desc From Shows_Users A, Dd_Classes_Dtl B Where A.User_Status = B.Class_Serial(+) And B.Class_Code(+) = '6' And A.User_Type <> '6' And Nvl(A.User_Type,-1) = Nvl(:Blk_1.User_Type,Nvl(A.User_Type,-1)) Group By A.User_Status, B.Dtl_Class_Desc_Ntv, B.Dtl_Class_Desc_Frn; In_File Client_Text_Io.File_Type; Lc$Fic Varchar2(1000) ; Vn_Date Number; Vv_File_Path Varchar(1000); Line Varchar2(4000); Begin Lc$Fic := 'AlJawal_Status_Repor'||'.Csv'; Vv_File_Path := Webutil_File.File_Save_Dialog ('C:\', Lc$Fic ,'','Location to save file...') ; In_File := Client_Text_Io.Fopen(Vv_File_Path,'w'); --========================== File Header ========================================================== Line := 'Status' ||';'|| 'No Of Employee' ; Client_Text_Io.Put_Line(In_File,Line); --================================================================================================= For Rec In vc_get_emp_status_count Loop Line := Rec.User_Status_Desc ||';'|| Rec.No_Of_Employees ; Client_Text_Io.Put_Line(In_File,Line); End Loop; Client_Text_Io.Fclose(In_File); Message('Done Successfully'); Message(' '); --======================================================= Exception When Others Then Null; End; تقديم بلاغ
بتاريخ: 5 أبريل 201313 سنة كاتب الموضوع comment_234569 أشكرك ياأخ أحمد على جهودك لكن ممكن عندي سؤال في البروسيجر بعض ال Command لم أفهمها In_File Client_Text_Io.File_Type; Begin Lc$Fic := 'AlJawal_Status_Repor'||'.Csv'; Vv_File_Path := Webutil_File.File_Save_Dialog ('C:\', Lc$Fic ,'','Location to save file...') ; In_File := Client_Text_Io.Fopen(Vv_File_Path,'w'); For Rec In vc_get_emp_status_count Loop Line := Rec.User_Status_Desc ||';'|| Rec.No_Of_Employees ; Client_Text_Io.Put_Line(In_File,Line); End Loop; Client_Text_Io.Fclose(In_File); ممكن تشرحلي تم تعديل 6 أبريل 201313 سنة بواسطة Ahmad.Hasan تقديم بلاغ
بتاريخ: 6 أبريل 201313 سنة comment_234591 ماشا الله عليك مهندس أحمد مبدع وطريقة جيده.. وجااري تجربتها . مووفق.. تقديم بلاغ
بتاريخ: 6 أبريل 201313 سنة كاتب الموضوع comment_234602 لا لم أستخدم ابداً Webutil ولا أعرف عنها شيء. أنا فهمت جزء كبير من البروسيجر ولكن بعض Command لم أفهمها. تقديم بلاغ
بتاريخ: 6 أبريل 201313 سنة comment_234612 السلام عليكم ان كنت تستخدم 10g قم بتعريف الـ Webutil وستعمل معك جميع الأكواد... بالتوفيق. تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.