بتاريخ: 7 أغسطس 201213 سنة comment_226699 كيف يمكن ارسال قيم بلوك الى بلوك أخر في فورمتين مختلفتين..! المربعات الحمراء هي من ينبغي ان ترسل ويلا حظ ان كود زر الارسال ............... Convert to Work Request .............. =================================================================================================== DECLARE List_id ParamList; BEGIN List_id:= GET_PARAMETER_LIST('input_params'); IF NOT ID_NULL(list_id) THEN DESTROY_PARAMETER_LIST(list_id); END IF; List_id := Create_Parameter_List('input_params'); ADD_PARAMETER(list_id, 'PM_REQ_NO', TEXT_PARAMETER, :PM_SERVICES.PM_REQ_NO); -- ONLY TO USED ON IMPLICITLY COURSOR IN FOR LOOP ADD_PARAMETER(list_id, 'UNIT_NO', TEXT_PARAMETER, :UNIT_NO); ADD_PARAMETER(list_id, 'PM_REQ_DATE', TEXT_PARAMETER, :PM_REQ_DATE); --FOR I IN (SELECT HOURS , WORK_ACTIONS FROM PM_SERVICES WHERE PM_REQ_NO = :PM_SCHEDULE.PM_REQ_NO ) LOOP ADD_PARAMETER(list_id, 'HOURS', TEXT_PARAMETER, :HOURS); ADD_PARAMETER(list_id, 'WORK_ACTIONS', TEXT_PARAMETER, :WORK_ACTIONS); --END LOOP; ADD_PARAMETER(list_id, 'PART_CD', TEXT_PARAMETER, :PART_CD); ADD_PARAMETER(list_id, 'SPARE_DESC', TEXT_PARAMETER, :SPARE_DESC); --WE ALREADY HAVE GET_LOOKUP_DESC (5,:SPARE_PART); ADD_PARAMETER(list_id, 'COUNT_OF_PARTS', TEXT_PARAMETER, :COUNT); ADD_PARAMETER(list_id, 'SPARE_COST', TEXT_PARAMETER, :PM_MATRIALS.COST); CALL_FORM('MAINT_WORK_REQUEST2', NO_HIDE, DO_REPLACE, NO_QUERY_ONLY, list_id);END; =================================================================================================== نلا حظ ان القيم المستقبلة هنا فقط تكون ريكورد واحد لكل بلوك ....!! بينما يفترض ملا البلوك الثاني والثالث ب 3 ريكوردات When New Form Instance FORM_2(MAINT_WORK_REQUEST2)0 =================================================================================================== if :parameter.UNIT_NO is not null and :parameter.PM_REQ_DATE is not null then --message(:parameter.UNIT_NO);message(:parameter.UNIT_NO);--message(:parameter.PM_REQ_DATE);message(:parameter.PM_REQ_DATE); --INSERT_RECORD; :MAINT_WORK_REQUEST.UNIT_NO := :parameter.UNIT_NO ; :MAINT_WORK_REQUEST.OPENED_DATE := :parameter.PM_REQ_DATE ; :REQ_TYPE := 'PM'; :MAINT_WORK_PERFORMANCE.HOURS := :parameter.HOURS ; :MAINT_WORK_PERFORMANCE.WORK_ACTION := :parameter.WORK_ACTIONS ; :MAINT_WORK_MATERIALS.SPARE_PART := :parameter.PART_CD ; :MAINT_WORK_MATERIALS.SPARE_DESC := :parameter.SPARE_DESC ; :MAINT_WORK_MATERIALS.COUNT_OF_PARTS := :parameter.COUNT_OF_PARTS ; :MAINT_WORK_MATERIALS.SPARE_COST := :parameter.SPARE_COST ; /*Set_Block_Property('MAINT_WORK_REQUEST', ONETIME_WHERE, 'UNIT_NO = '||''''||:parameter.UNIT_NO||'''' || 'and OPENED_DATE = '||''''||:parameter.PM_REQ_DATE ||'''' ) ; */end if; =================================================================================================== هل يفترض ان افعل NESTED PARAMETER LIST ??? تم تعديل 7 أغسطس 201213 سنة بواسطة gold_heart تقديم بلاغ
بتاريخ: 8 أغسطس 201213 سنة كاتب الموضوع comment_226706 الحمد لله تم الحلمن قبل الاخ المهندس Ahmad.Hasanجزاه الله الف خيروللفائدة انظر هنا السلام عليكمبامكانك تمرير البراميتر فقط للحقول المراد نقلها وبعد ان يتم نقل البيانات في مكانها الصحيح قم بعمل Cursor يجلب البيانات ويقوم بتعبئتها في البلوكين الثاني والثالث، مثال: Declare Cursor vc_get_users Is Select User_Id, User_Name_Ntv From Sale_Users Where Support_User_Flag = 1 Order By User_Name_Ntv; Begin Go_Block('Blk_1'); First_Record; For Rec In vc_get_users Loop :Blk_1.User_Id := Rec.User_Id; :Blk_1.User_Name := Rec.User_Name_Ntv; Next_Record; End Loop; First_Record; End; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.