الثلاثاء، 20 أكتوبر 2020

SAP ABAP - Native SQL Overview نظرة عامة على لغة SQL الأصلية في ساب

 SAP ABAP - Native SQL Overview نظرة عامة على لغة SQL الأصلية في ساب

SAP ABAP - Native SQL Overview نظرة عامة على لغة SQL الأصلية في ساب

SAP ABAP - Native SQL Overview نظرة عامة على لغة SQL الأصلية في ساب

يشير المصطلح "Native SQL" إلى جميع العبارات التي يمكن نقلها بشكل ثابت إلى واجهة SQL الأصلية لواجهة قاعدة البيانات. لا تندرج عبارات SQL الأصلية ضمن نطاق لغة ABAP ولا تتبع بناء جملة ABAP. يحتوي ABAP فقط على عبارات لعزل أقسام البرنامج التي يمكن إدراج جمل SQL الأصلية فيها.

بيان SQL الأصلي

في لغة SQL الأصلية ، يمكن استخدام عبارات SQL الخاصة بقاعدة البيانات بشكل أساسي. يتم نقلها دون تغيير من واجهة SQL الأصلية إلى نظام قاعدة بيانات ويتم تنفيذها. يمكن استخدام نطاق لغة SQL الكامل لقاعدة البيانات ذات الصلة ولا يلزم الإعلان عن جداول قاعدة البيانات المعنونة في قاموس ABAP. هناك أيضًا مجموعة صغيرة من عبارات SQL الأصلية الخاصة بـ SAP والتي يتم التعامل معها بطريقة معينة بواسطة واجهة SQL الأصلية.

لاستخدام عبارة SQL الأصلية ، يجب أن تسبقها بعبارة EXEC SQL وتنتهي بعبارة ENDEXEC.

فيما يلي بناء الجملة -

EXEC SQL PERFORMING <form>.  
   <Native SQL statement> 
ENDEXEC.

تحدد هذه العبارات منطقة في برنامج ABAP حيث يمكن إدراج جملة أو أكثر من عبارات SQL الأصلية. يتم تمرير البيانات التي تم إدخالها إلى واجهة SQL الأصلية ثم معالجتها على النحو التالي -

  • يمكن سرد كافة عبارات SQL الصالحة لواجهة البرنامج لنظام قاعدة البيانات المعنونة بين EXEC و ENDEXEC ، ولا سيما عبارات DDL (لغة تعريف البيانات).

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

  • إذا كان بناء الجملة يسمح بفاصل بين العبارات الفردية ، فيمكنك تضمين العديد من عبارات SQL الأصلية بين EXEC و ENDEXEC.

  • يمكن تحديد عناصر لغة SQL الأصلية الخاصة بـ SAP بين EXEC و ENDEXEC. لا يتم تمرير هذه العبارات مباشرة من واجهة SQL الأصلية إلى قاعدة البيانات ، ولكن يتم تحويلها بشكل مناسب.

مثال

SPFLI هو جدول SAP قياسي يُستخدم لتخزين معلومات جدول الرحلات. يتوفر هذا ضمن أنظمة R / 3 SAP اعتمادًا على الإصدار ومستوى الإصدار. يمكنك عرض هذه المعلومات عند إدخال اسم الجدول SPFLI في معاملة SAP ذات الصلة مثل SE11 أو SE80. يمكنك أيضًا عرض البيانات الموجودة في جدول قاعدة البيانات هذا باستخدام هاتين الحركتين.

REPORT ZDEMONATIVE_SQL. 
DATA: BEGIN OF wa,  
      connid  TYPE SPFLI-connid,
      cityfrom TYPE SPFLI-cityfrom,
      cityto  TYPE SPFLI-cityto,  
      END OF wa. 
	
DATA c1 TYPE SPFLI-carrid VALUE 'LH'. 
EXEC SQL PERFORMING loop_output.
   SELECT connid, cityfrom, cityto  
   INTO :wa  
   FROM SPFLI  
   WHERE carrid = :c1 
ENDEXEC. 

FORM loop_output.  
   WRITE: / wa-connid, wa-cityfrom, wa-cityto. 
ENDFORM.

ينتج الكود أعلاه الناتج التالي -

0400  FRANKFURT  NEW YORK 
2402  FRANKFURT  BERLIN 
0402  FRANKFURT  NEW YORK




التسميات: