SAP ABAP - User Exits خروج المستخدم من ساب
SAP ABAP - User Exits خروج المستخدم من ساب
SAP ABAP - User Exits خروج المستخدم من ساب
يتم استخدام مخارج المستخدم في الاستخراج إذا لم توفر مستخلصات SAP القياسية البيانات المتوقعة أو الوظائف المطلوبة ، على سبيل المثال في التراخيص أو فحوصات الوقت. تُستخدم مخارج المستخدم بشكل شائع في وحدات المبيعات والتوزيع (SD). هناك العديد من المخارج التي توفرها SAP في مجالات المبيعات والنقل والشحن والفواتير. تم تصميم خروج المستخدم لإجراء بعض التغييرات عندما لا يكون SAP القياسي قادرًا على تلبية جميع المتطلبات.
لتتمكن من الوصول إلى المخارج المتوفرة في كل مجال من مجالات المبيعات ، انتقل إلى IMG باستخدام هذا المسار: IMG ← المبيعات والتوزيع ← تعديلات النظام ← خروج المستخدم. يتم شرح الوثائق الخاصة بكل مخرج في مناطق SD بدقة.
على سبيل المثال ، إذا كنت ترغب في العثور على خروج المستخدم في معالجة مستندات المبيعات (عقد أو عرض أسعار أو أمر مبيعات) ، فاتبع المسار المذكور أعلاه واستمر في توسيع نقطة خروج المستخدم في المبيعات ← خروج المستخدم. انقر فوق وثائق الرمز لرؤية جميع عمليات خروج المستخدم المتوفرة في معالجة مستندات المبيعات.
التسلسل | خروج المستخدم والوصف |
---|---|
1 | USEREXIT_FIELD_MODIFICATION تستخدم لتعديل سمات الشاشة. |
2 | USEREXIT_SAVE_DOCUMENT يساعد في إجراء العمليات عندما يقوم المستخدم بالضغط على Save. |
3 | USEREXIT_SAVE_DOCUMENT_PREPARE مفيد جدًا للتحقق من حقول الإدخال ، ووضع أي قيمة في الحقل أو إظهار نافذة منبثقة للمستخدمين وتأكيد المستند. |
4 | USEREXIT_MOVE_FIELD_TO_VBAK تُستخدم عندما يتم نقل تغييرات رأس المستخدم إلى منطقة عمل الرأس. |
5 | USEREXIT_MOVE_FIELD_TO_VBAP تُستخدم عند نقل تغييرات عنصر المستخدم إلى منطقة عمل عنصر SAP. |
يخدم خروج المستخدم نفس الغرض مثل خروج العميل ولكنها متاحة فقط لوحدة SD. يتم تنفيذ الخروج على أنه استدعاء لوحدة الوظيفة. عمليات خروج المستخدم هي تعديلات على برامج SAP القياسية.
مثال
REPORT ZUSEREXIT1. TABLES: TSTC, TSTCT, TADIR, TRDIR, TFDIR, ENLFDIR, MODSAPT, MODACT. DATA: JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE, field1(30), v_devclass LIKE TADIR-devclass. PARAMETERS: P_TCODE LIKE TSTC-tcode OBLIGATORY. SELECT SINGLE * FROM TSTC WHERE tcode EQ P_TCODE. IF SY-SUBRC EQ 0. SELECT SINGLE * FROM TADIR WHERE pgmid = 'R3TR' AND object = 'PROG' AND obj_name = TSTC-pgmna. MOVE TADIR-devclass TO v_devclass. IF SY-SUBRC NE 0. SELECT SINGLE * FROM TRDIR WHERE name = TSTC-pgmna. IF TRDIR-subc EQ 'F'. SELECT SINGLE * FROM TFDIR WHERE pname = TSTC-pgmna. SELECT SINGLE * FROM ENLFDIR WHERE funcname = TFDIR-funcname. SELECT SINGLE * FROM TADIR WHERE pgmid = 'R3TR' AND object = 'FUGR' AND obj_name EQ ENLFDIR-area. MOVE TADIR-devclass TO v_devclass. ENDIF. ENDIF. SELECT * FROM TADIR INTO TABLE JTAB WHERE pgmid = 'R3TR' AND object = 'SMOD' AND devclass = v_devclass. SELECT SINGLE * FROM TSTCT WHERE sprsl EQ SY-LANGU AND tcode EQ P_TCODE. FORMAT COLOR COL_POSITIVE INTENSIFIED OFF. WRITE:/(19) 'Transaction Code - ', 20(20) P_TCODE, 45(50) TSTCT-ttext. SKIP. IF NOT JTAB[] IS INITIAL. WRITE:/(95) SY-ULINE. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE:/1 SY-VLINE, 2 'Exit Name', 21 SY-VLINE , 22 'Description', 95 SY-VLINE. WRITE:/(95) SY-ULINE. LOOP AT JTAB. SELECT SINGLE * FROM MODSAPT WHERE sprsl = SY-LANGU AND name = JTAB-obj_name. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WRITE:/1 SY-VLINE, 2 JTAB-obj_name HOTSPOT ON, 21 SY-VLINE , 22 MODSAPT-modtext, 95 SY-VLINE. ENDLOOP. WRITE:/(95) SY-ULINE. DESCRIBE TABLE JTAB. SKIP. FORMAT COLOR COL_TOTAL INTENSIFIED ON. WRITE:/ 'No of Exits:' , SY-TFILL. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(95) 'User Exit doesn’t exist'. ENDIF. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(95) 'Transaction Code Does Not Exist'. ENDIF. AT LINE-SELECTION. GET CURSOR FIELD field1. CHECK field1(4) EQ 'JTAB'. SET PARAMETER ID 'MON' FIELD sy-lisel+1(10). CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
أثناء المعالجة ، أدخل رمز المعاملة "ME01" واضغط على الزر F8 (تنفيذ). ينتج الكود أعلاه الناتج التالي -
التسميات: SAP ABAP Advanced Business Application Programming (برمجة تطبيقات الأعمال المتقدمة) ساب
<< الصفحة الرئيسية