النماذج الذكية بتنسيق SAP ABAP
⚡ ملخص ذكي
النماذج الذكية بتنسيق SAP تتيح لغة ABAP إنشاء نماذج وتحديثها للطباعة بكميات كبيرة، مع إمكانية إرسال المخرجات إلى طابعة أو فاكس أو بريد إلكتروني أو الإنترنت. تشرح هذه الصفحة بنية النظام، وعُقد مُنشئ النماذج، والنوافذ، والجداول، والقوالب، والأنماط، ووحدة الوظائف المُنشأة.

ما هي النماذج الذكية في SAP ABAP؟
SAP تُستخدم النماذج الذكية لإنشاء النماذج وصيانتها للطباعة بكميات كبيرة SAP الأنظمة.كوسيط الإخراج SAP تدعم النماذج الذكية الطابعة، أو الفاكس، أو البريد الإلكتروني، أو الإنترنت (باستخدام إخراج XML الناتج).
SAP قدمت SmartForms في عام 1998 للتغلب على القيود الموجودة في SAP البرامج النصية. تعد SmartForms أسهل في التطوير والصيانة والنقل من SAP النصي.
مقارنة بين Smart Forms و SapScripts
- تنسيقات الصفحات المتعددة ممكنة في SmartForms وهذا ليس هو الحال SAP مخطوطات
- من الممكن أن يكون لديك SmartForm بدون نافذة رئيسية.
- يمكن كتابة الإجراءات الروتينية في أداة SmartForms.
- يقوم SmartForms بإنشاء وحدة وظيفية عند تنشيطها.
- لا يمكن إنشاء التسميات في SmartForms.
| المعايير | النماذج الذكية | SAPسيناريو |
|---|---|---|
| تنسيقات الصفحات | تنسيقات صفحات متعددة في نموذج واحد | نموذج صفحة واحدة لكل نموذج |
| النافذة الرئيسية | ليس إلزاميا | يلزم وجود نافذة رئيسية واحدة فقط |
| إجراءات | مكتوب داخل النموذج نفسه | مكتوب في برنامج الطباعة المنفصل |
| تفعيل | يُنشئ وحدة وظائف | لم يتم إنشاء وحدة وظائف |
| ملصقات | لا يمكن إنشاؤه | يمكن إنشاء |
مزايا النماذج الذكية
- تساعد هذه الميزات في تعديل النماذج دون الحاجة إلى أي معرفة برمجية بفضل واجهة المستخدم الرسومية بالكامل.
- عند تنشيط النموذج الذكي، يقوم النظام تلقائيًا بإنشاء وحدة الوظيفة وفي وقت التشغيل.
- لإجراء أي تغييرات علينا استخدام السحب والإفلات والقص واللصق. لا تتضمن هذه الإجراءات كتابة سطور الترميز أو استخدام لغة نصية.
- يمكننا إدراج جداول ثابتة وديناميكية. يتضمن ذلك خلاصات الأسطر في خلايا الجدول الفردية، وتشغيل الأحداث لعناوين الجدول والإجماليات الفرعية وفرز البيانات قبل الإخراج.
- تتيح النماذج الذكية للمستخدم تضمين رسومات يمكن عرضها كجزء من النموذج أو كرسومات خلفية. أثناء الطباعة، يمكن للمستخدم إخفاء الرسومات الخلفية حسب الضرورة.
- النشر على الويب ممكن باستخدام الملف الذي تم إنشاؤه XML الناتج
Archiبنية SAP نموذج ذكي
يوضح مخطط البنية الطبقات الثلاث المعنية. يتم تصميم النموذج في أداة إنشاء النماذج، ويؤدي التنشيط إلى إنشاء وحدة الوظائف، ثم يستدعي برنامج الطباعة تلك الوحدة مع بيانات التطبيق. وسيتم تناول خطوات تصميم الطبقة الأولى لاحقًا.
دليل النماذج الذكية
دعونا نذهب من خلال ذلك SAP نظام-
- أدخل المعاملة سمارتفورمز في مربع رمز المعاملة.
- في الشاشة التالية، أدخل اسم النموذج ثم انقر فوق إنشاء
الشاشة التالية مقسمة إلى ثلاثة أقسام-
نافذة التنقل تتكون من العقد والعقد الفرعية. أنها تحتوي على جميع العناصر (النص، النافذة، إلخ) التي تنتمي إلى نماذج النسغ
- نافذة الاصلاح يظهر خصائص العناصر
- طابعة النماذج نافذة تعرض تخطيط الصفحة
كلما قمنا بإنشاء نماذج ذكية، SAP ينشئ/ينشئ وحدة دالة SAPمخطوطات, SAP تسمح لك النماذج بتغيير اللغة.
ستجد في نافذة التنقل
إعلانات البيانات العالمية : يمكن استخدام البيانات المحددة هنا في النموذج الذكي لأغراض الترميز.
واجهة النموذج : هنا يتم تعريف كافة البيانات التي سيتم تمريرها إلى النموذج الذكي من برنامج الطباعة.
سيؤدي النقر بزر الماوس الأيمن على الصفحات إلى السماح بإنشاء صفحة أو نافذة أو رسم أو عنوان جديد.
ستتم الطباعة على أساس حقل "الصفحة التالية".
لكن المعالجة ستتم وفقًا للتسلسل الموجود في نافذة التنقل!
بالنسبة لصور الخلفية والرسومات، يمكنك التقاط صور نقطية بالأبيض والأسود أو ملونة وتخزينها في شكل نصوص قياسية. يمكنك الانعطاف من شاشة النموذج الذكي وفتح شاشة رسومات النموذج. رمز العملية: Se78
الإعدادات في قسم الرسومات في نافذة النموذج الذكي-
Windows في النماذج الذكية
هناك نوعان من Windows
- الرئيسية
- ثانوي
نقاط مهمة يجب ملاحظتها
- لا يمكنك أن يكون لديك أكثر من نافذة رئيسية واحدة في الصفحة. يمكنك أن يكون لديك عدة نوافذ ثانوية
- مهما كان ما تطبعه في النافذة الثانوية... يجب أن يكون ثابتًا. (إذا كان لديك 20 سطرًا في أمر شراء وكان هناك قيد صفحة، يتم نقل الأسطر إلى الصفحة التالية في النافذة الرئيسية. أي في نوع المحتوى السابق واللاحق، سيتم طباعتها بالتسلسل في النافذة الرئيسية. هذا غير مسموح به في النوافذ الثانوية.
داخل النافذة الرئيسية يمكننا إضافة نص كمقدمة لتخصيص مخرجات النموذج.
تحدد خيارات الإخراج في كل نافذة حجم الخط والعرض والألوان والخلفية التي سيتم وضعها.
توفر Smartforms خيار إعطاء رقم العنوان الذي يتم الاحتفاظ به في إدارة العناوين المركزية. سيتم أخذ العنوان مباشرة من جدول ADRC وسيتم ملؤه في النموذج.
يتوفر محرران مختلفان في Smartforms، وهما: المحرر العادي
ومحرر الرسومات.
يمكن تغيير هذا الإعداد باستخدام محرر التكوين في الأدوات المساعدة.
الجداول في نافذة
في رسام الجدول، يمكنك رسم التنسيق حسب متطلبات العميل (على سبيل المثال العنوان، العنوان الفرعي، العنصر، الإجمالي الفرعي، الإجمالي العام وما إلى ذلك)
يمكنك استخدام تخطيط الجدول لتحديد:
- عدد الخطوط والخلايا
- ارتفاع كل سطر
- عرض كل خلية
- محاذاة الجدول في النافذة
يوضح الجدول أنواع الخطوط المختلفة التي سيتم استخدامها في الجدول. تحدد أنواع الخط حجم كل خلية وعدد الخلايا في كل سطر.
تدفق برمجة النماذج الذكية
عندما SAP يتم إنشاء قالب النموذج الذكي، ويقوم المستخدم بإنشاء تخطيط النموذج، وتحديد الحقول المطلوبة والشروط وتعليمات البرمجة الخاصة في قالب النموذج الذكي باستخدام Smart Form Builder.
بعد اكتمال تصميم النموذج، يجب تنشيط النموذج قبل أن يتم اختباره أو الوصول إليه بواسطة برامج الطباعة. يؤدي تنشيط النموذج إلى إنشاء وحدة نمطية وظيفية تتعامل مع كافة عمليات معالجة النموذج.
تتفاعل وحدة الوظيفة هذه مع برنامج التطبيق/برنامج الطباعة لإنشاء الإخراج في وسائط الإخراج المحددة من قبل المستخدم للجهاز المحدد.
في حالة النماذج الذكية، نستخدم وحدتين وظيفيتين لمعالجة النموذج الذكي. إلى الوحدة الوظيفية الأولى، نقوم بتمرير اسم النموذج الذكي كمعلمة استيراد. يؤدي هذا بعد ذلك إلى إرجاع اسم الوحدة الوظيفية التي تم إنشاؤها ديناميكيًا والتي ستستدعي النموذج الذكي بالفعل.
يمكن تمرير اسم النموذج الذكي إلى الدالة Module – 'SSF_FUNCTION_MODULE_NAME'
سيؤدي هذا إلى إرجاع اسم الوحدة النمطية للنموذج الذكي المشار إليه.
سيقوم برنامج الطباعة باستدعاء FM "SSF_FUNCTION_MODULE_NAME" للحصول على اسم الوحدة الوظيفية في وقت التشغيل. وبعد ذلك سيتم استدعاء وحدة الوظيفة التي تم الحصول عليها لتنفيذ النموذج الذكي.
كيفية استدعاء نموذج ذكي من برنامج طباعة
تُكتب عملية الاستدعاء المكونة من خطوتين والموصوفة أعلاه دائمًا بنفس الطريقة. يقوم البرنامج أولاً بحل الاسم المُولّد، ثم ينفذه باستخدام بيانات التطبيق.
- قم بحل اسم وحدة الوظائف: مرر اسم النموذج إلى SSF_FUNCTION_MODULE_NAME. يتغير الاسم المُنشأ مع كل نظام، لذا يجب عدم تضمينه بشكل ثابت في الكود.
- استدعاء الوحدة النمطية المُنشأة ديناميكيًا: استخدم CALL FUNCTION مع المتغير الذي يحتوي على الاسم الذي تم حله، وقم بتمرير البيانات من خلال المعلمات المحددة في واجهة النموذج.
- التحكم في المخرجات: قم بتعبئة بنية التحكم SSFCTRLOP لإخفاء مربع حوار الطباعة أو لطلب معاينة، وقم بتعبئة SSFCOMPOP بجهاز الإخراج.
- معالجة الاستثناءات: يقوم النموذج المُنشأ بإثارة الأخطاء FORMATTING_ERROR و INTERNAL_ERROR و SEND_ERROR و USER_CANCELED، لذلك يجب التحقق من SY-SUBRC بعد الاستدعاء.
DATA: lv_fm_name TYPE rs38l_fnam, ls_control TYPE ssfctrlop, ls_output TYPE ssfcompop. * 1. Get the name of the generated function module CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = 'Z_SMART_INVOICE' IMPORTING fm_name = lv_fm_name EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE e001(zsf). " Form not found ENDIF. * 2. Call the generated module with the form data ls_control-no_dialog = 'X'. ls_control-preview = 'X'. CALL FUNCTION lv_fm_name EXPORTING control_parameters = ls_control output_options = ls_output is_header = ls_header TABLES it_items = lt_items EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5.
⚠️ تحذير: يختلف اسم وحدة الوظائف المُنشأة، على سبيل المثال /1BCDWB/SF00000123، من نظام لآخر. لذا، يجب دائمًا حله باستخدام SSF_FUNCTION_MODULE_NAME، وإلا سيفشل البرنامج بعد النقل.
يمكن استخدام القالب عندما تعرف الحجم الدقيق للمخرجات أو عندما تكون المخرجات بتنسيق ثابت.
على سبيل المثال، نموذج الضرائب/ الشيكات/ نموذج شركة الطيران/ تذكرة السكك الحديدية: كل هذه النماذج تستخدم.
الفرق الكبير بين الجدول والقالب هو أن ارتفاع الجدول يتغير ديناميكيًا. أما في القالب، فنسمي الصف "سطرًا".
الأنماط الذكية
يحتوي النمط الذكي على:
- بيانات الرأس التي تحتوي على القيم الافتراضية للنمط الذكي
- تنسيقات الفقرة بما في ذلك المسافات البادئة والتباعد وسمات الخط وعلامات التبويب والمخطط التفصيلي والترقيم
- تنسيقات الأحرف بما في ذلك التأثيرات (المرتفعة والمنخفضة) والرمز الشريطي وسمات الخط
- الألوان والتسطير لتنسيق الفقرة أو الحرف
يمكنك استخدام المعاملة "smartforms" / "smartstyles" لإنشاء نمط ذكي.
💡 نصيحة: قم بتعيين النمط الذكي في خصائص النموذج بدلاً من تعيينه على كل عقدة نصية. سيؤدي تغيير واحد في النمط إلى تطبيقه على جميع فقرات النموذج.
هذا كل شيء في هذا البرنامج التعليمي






















