سیستم مدیریت فرایندها و پایگاه داده های مبدا در یک سرور
همانطور که قبلا هم در مستند مفاهیم و مدلهای فیلد انتخابگر حرفی گفته شد، در این مدل SQL View در پایگاه داده های مبدا ایجاد می شود. برای یادآوری بد نیست نگاهی دوباره به شماتیک این مدل داشته باشیم:
همانطور که مشاهده می کنید در این مدل، SQL View در یک پایگاه مبدا (مثلا سیستم مالی نوسا) قرار دارد و سیستم مدیریت فرایندها باید از یک تابع گردش کار برای خواندن داده ها استفاده کند.
تابع استخراج داده های فیلد انتخابگر حرفی
الگوی عنوان این تابع، بطور کلی به شکل WorkFieldSSViewMyFunc() است که عبارت WorkFieldSSView به شکل ثابت و عبارت MyFunc نام دلخواهی است که بسته به محتوا و گردش کار، توسط کاربر انتخاب می شود. برای نمونه به مثال زیر توجه کنید:
مثال : تابع استخراج داده های «محصولات» از سیستم مالی نوسا
در این مثال، همانطور که در شکل زیر ملاحظه می کنید، پایگاه داده های مبدا، در یک پایگاه سیستم مالی نوسا بنام _AccXP_hamayesh992 است و نام view نیز _AccView_Products است:
متن Query این View به شرح زیر است:
حال می خواهیم داده های این view را استخراج و در یک فیلد انتخابگر حرفی نمایش دهیم. برای این کار باید تابع استخراج را به شکل زیر بنویسیم:
ملاحظه می کنید که در این تابع از موجود WorkADOSelect برای استخراج داده ها استفاده شده است. برای این کار ابتدا نام پایگاه (_AccXP_hamayesh992) معرفی شده است و سپس در FromClause نام View درج شده است و به این معناست که داده ها از _AccView_Products خوانده می شود.
در سطرهای بعدی، ویژگیهای SelectClause، WhereClause و OrderByClause از مقدار ویژگیهای متناظر آنها در processedParams مقداردهی شده است. برای درک این موضوع، بهتر است با کارکردهای این ویژگیها آشنا شویم:
کارکردهای ویژگیهای processedParams
selectClause: این ویژگی لیست آیتمهای انتخابگر حرفی را با استفاده از Query موجود در View استخراج می کند.
whereClause: اگر در محاوره انتخابگر حرفی، کاربر دست به جستجو بزند، یا اینکه دسته بندی وجود داشته باشد و یا اگر وابسته به کار باشد، این ویژگی بطور خودکار، تمام این موارد را در یک whereClause تولید و ثبت می کند.
orderByClause: بسته به اینکه کاربر در محاوره انتخابگر حرفی، در فیلد کد یا نام جستجو کند این ویژگی بطور خودکار ترتیب آیتمها را متناسب با فیلد جستجو تعیین می کند. یعنی اگر در کد جستجو شود، آیتمها براساس کد و اگر در نام جستجو شود بر اساس نام مرتب سازی می شود.
نتیجه خیلی مهم: در این مدل هیچ نیازی به پارامترهای rawParams و Query دیگری نیست و تمام Queryهای لازم بطور پیش ساخته در processedParams نوشته شده و تمام ملاحظات لازم در نظر گرفته شده است.
توضیح: یادآوری می شود که این مدل، در عالم واقع استفاده نمی شود و با هدف آموزش تابع استخراج داده ها و پارامترهای processedParams ساده سازی شده است. در واقع زمانی از این مدل استفاده می شود که سرور پایگاه داده های مبدا در خارج از شبکه محلی سیستم مدیریت فرایندهاست. مدل واقعی یادشده، در یک مستند دیگر به تفصیل توضیح داده شده است.