البرنامج التعليمي لشاشات ABAP الفرعية: استدعاء الشاشة الفرعية في SAP

قبل أن تقرأ هذا البرنامج التعليمي تأكد من تعريف برنامج الحوار...

اتصل بالشاشة الفرعية

  • الشاشة الفرعية هي شاشة مستقلة يتم عرضهاyed في منطقة شاشة أخرى ("رئيسية").
  • تسمح لك الشاشات الفرعية بتضمين شاشة واحدة داخل أخرى في وقت التشغيل. يمكنك تضمين شاشات فرعية متعددة على الشاشة الرئيسية.
  • ينطبق مصطلح الشاشة الفرعية على كل من الشاشة التي تقوم بتضمينها، والمنطقة الموجودة على الشاشة الرئيسية التي تضعها فيها. يدور هذا البرنامج التعليمي حول مناطق الشاشة الفرعية. تسمى الشاشات الفعلية التي تم إنشاؤها من خلال معاملة SE51، شاشات الشاشة الفرعية إذا تم تعريفها في سمات الشاشة.
  • عند استخدام شاشة فرعية، يتم أيضًا تضمين منطق التدفق الخاص بالشاشة المدمجة في منطق التدفق الخاص بالشاشة الرئيسية. ومن ثم، فإن استخدام الشاشات الفرعية على الشاشات يشبه استخدام التضمين في برامج ABAP.

لاستخدام شاشة فرعية، يجب عليك اتباع ثلاث خطوات بسيطة

  1. حدد منطقة (مناطق) الشاشة الفرعية على الشاشة
  2. تحديد شاشات الشاشة الفرعية المناسبة
  3. قم بتضمين شاشة الشاشة الفرعية في منطقة الشاشة الفرعية.

تحتاج أيضًا إلى ضبط إطار الشاشة الفرعية والشاشة الرئيسية. تحتاج إلى تسميته في حقل اسم الحقل.

علاوة على ذلك، تحتاج أيضًا إلى ضبط الحقول الموجودة في الشاشة الفرعية لجعلها تظهر في الشاشة الرئيسية. في حالة تحديد الشاشة الفرعية على أنها أكبر من المنطقة المتاحة في الشاشة الرئيسية، سيكون فقط جزء الشاشة الفرعية الذي يتناسب مع المنطقة المتاحة مرئيًا. يتم قياس المنطقة دائمًا من الزاوية العلوية اليسرى من الشاشة. ومن ثم، يجب عليك توخي الحذر الكافي أثناء تحديد مناطق الشاشة الفرعية وإنشاء شاشات فرعية.

مثال

على سبيل المثال، قمنا هنا بتحديد منطقتين للشاشة الفرعية على الشاشة الرئيسية وقمنا بإرفاق شاشتين فرعيتين مختلفتين بالمناطق المقابلة. عندما يتم استدعاء الشاشة الرئيسية، يتم استدعاء PBO للشاشة الرئيسية. ولكن قبل العرض، يتم أيضًا استدعاء PBO لكل شاشة مرفقة بمناطق الشاشة الفرعية على الشاشة الرئيسية.

استدعاء الشاشة الفرعية في SAP

يمكنك تضمين شاشة فرعية باستخدام عبارة CALL SUBSCREEN في منطق التدفق الخاص بالشاشة الرئيسية.

لتضمين شاشة فرعية في منطقة الشاشة الفرعية بالشاشة الرئيسية واستدعاء منطق تدفق PBO الخاص بها، استخدم ما يليwing بيان في حدث PBO على الشاشة الرئيسية:

PROCESS BEFORE OUTPUT.

CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.

يقوم هذا البيان بتعيين رقم للشاشة الفرعية إلى منطقة الشاشة الفرعية التي تسمى . يمكنك أيضًا تحديد البرنامج الذي يتم فيه تعريف شاشة الشاشة الفرعية (اختياري). إذا لم تقم بتحديد البرنامج بشكل صريح، فسيبحث النظام عن شاشة الشاشة الفرعية في نفس برنامج ABAP مثل البرنامج الرئيسي. إذا لم يتم العثور على شاشة فرعية مقابلة، فسيحدث خطأ في وقت التشغيل. يتم أيضًا تضمين منطق تدفق PBO الخاص بالشاشة الفرعية في نفس النقطة. يمكن أن يستدعي هذا وحدات PBO لبرنامج ABAP الذي يتم فيه تعريف شاشة الشاشة الفرعية. في نهاية الشاشة الفرعية PBO، يتم تمرير الحقول العامة من البرنامج إلى أي حقول شاشة ذات أسماء مماثلة في شاشة الشاشة الفرعية. يمكن أن يتضمن منطق تدفق PBO الخاص بالشاشة الفرعية في حد ذاته المزيد من الشاشات الفرعية.

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

لاستدعاء منطق تدفق PAI الخاص بالشاشة الفرعية، استخدم المتابعةwing بيان في منطق تدفق PAI للشاشة الرئيسية:

PROCESS AFTER INPUT.

CALL SUBSCREEN <area>.

يتضمن هذا البيان منطق تدفق PAI لشاشة الشاشة الفرعية المضمنة في منطقة الشاشة الفرعية في حدث PBO. يمكن أن يستدعي هذا وحدات PAI لبرنامج ABAP الذي يتم فيه تعريف شاشة الشاشة الفرعية. يتم نقل البيانات بين الحقول ذات الأسماء المتطابقة في شاشة الشاشة الفرعية وبرنامج ABAP إما عند تشغيل حدث PAI، أو عند عبارات FIELD المقابلة في منطق تدفق PAI لشاشة الشاشة الفرعية.

نقطة لنتذكر

  • يجب أن تكون أسماء عناصر الشاشات الفرعية داخل الشاشة فريدة
  • يجب ألا يكون لديك OK_CODE أو FCODE مرفقًا بشاشة فرعية. OK_CODE للشاشة الرئيسية نفسها هو OK_CODE للشاشة الفرعية
  • لا يمكن أن تحتوي الشاشات الفرعية على أي وحدات حوار تحتوي على SET TITLBAR أو SET PF-STATUS أو SET SCREEN أو LEAVE SCREEN أو LEAVE TO SCREEN. سيؤدي هذا إلى حدوث خطأ في وقت التشغيل.
  • تحتاج إلى استدعائه في منطق التدفق (كل من PBO و PAI) للشاشة الرئيسية.
  • CALL SUBSCREEN غير مسموح به في عبارات CHAIN..ENDCHAIN ​​وLOOP ENDLOOP
  • لا يمكن أن يكون لديك وحدة AT EXIT-COMMAND
  • الحقول التي تستخدمها هي الحقول العمومية. يجب أن يتم الإعلان عنها في الأعلى وتشمل
  • في حالة استخدام شاشات فرعية من جهة أخرى برنامج الحوار لن يتم نقل البيانات إلا إذا قمت بإضافة رمز محدد.