SAP ABAP - Date & Time التاريخ والوقت في ساب

 SAP ABAP - Date & Time التاريخ والوقت في ساب

SAP ABAP - Date & Time التاريخ والوقت في ساب

SAP ABAP - Date & Time التاريخ والوقت في ساب

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

يوفر ABAP نوعين مدمجين للعمل مع التواريخ والوقت - نوع البيانات D

نوع البيانات T.

فيما يلي التنسيق الأساسي -

DATA: date TYPE D, 
      time TYPE T.  
	
DATA: year TYPE I, 
month TYPE I,  
day TYPE I, 
hour TYPE I,  
minute TYPE I, 
second TYPE I.

كلا النوعين من أنواع الأحرف ذات الطول الثابت التي لها شكل YYYYMMDD و HHMMSS ، على التوالي.

الطوابع الزمنية

بالإضافة إلى هذه الأنواع المضمنة ، يتم استخدام النوعين الآخرين TIMESTAMP و TIMESTAMPL في العديد من جداول التطبيقات القياسية لتخزين طابع زمني بتنسيق UTC. يوضح الجدول التالي أنواع التاريخ والوقت الأساسية المتوفرة في ABAP.

التسلسلنوع البيانات والوصف
1

D

نوع تاريخ مضمّن ذو طول ثابت بالشكل YYYYMMDD. على سبيل المثال ، تمثل القيمة 20100913 تاريخ 13 سبتمبر 2010.

2

T

نوع مدمج زمني ثابت الطول من نموذج HHMMSS. على سبيل المثال ، تمثل القيمة 102305 الوقت 10:23:05 ص.

3

TIMESTAMP (النوع P - الطول 8 بدون فواصل عشرية)

يستخدم هذا النوع لتمثيل الطوابع الزمنية القصيرة في شكل YYYYMMDDhhmmss. على سبيل المثال ، تمثل القيمة 20100913102305 تاريخ 13 سبتمبر 2010 الساعة 10:23:05 ص.

4

TIMESTAMPL (النوع P - الطول 11 عشريًا 7)

تمثل TIMESTAMPL طوابع زمنية طويلة بصيغة YYYYMMDDhhmmss ، mmmuuun. هنا تمثل الأرقام الإضافية "mmmuuun" كسور الثانية.

التاريخ والوقت الحاليان

تسترد مقتطفات التعليمات البرمجية التالية تاريخ النظام الحالي ووقته.

REPORT YR_SEP_15. 
DATA: date_1 TYPE D. 

date_1 = SY-DATUM. 
Write: / 'Present Date is:', date_1 DD/MM/YYYY. 

date_1 = date_1 + 06. 
Write: / 'Date after 6 Days is:', date_1 DD/MM/YYYY.

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

Present Date is: 21.09.2015 
Date after 6 Days is: 27.09.2015

المتغير date_1 يعين قيمة تاريخ النظام الحالي SY-DATUM. بعد ذلك ، نزيد قيمة التاريخ بمقدار 6. فيما يتعلق بحساب التاريخ في ABAP ، فهذا يعني أننا نقوم بزيادة مكون اليوم في كائن التاريخ بمقدار 6 أيام. تعد بيئة وقت تشغيل ABAP ذكية بما يكفي لتمرير قيمة التاريخ عندما تصل إلى نهاية الشهر.

تعمل حسابات الوقت بشكل مشابه لحسابات التاريخ. تزيد الكود التالي من وقت النظام الحالي بمقدار 75 ثانية باستخدام حساب الوقت الأساسي.

REPORT YR_SEP_15. 
DATA: time_1 TYPE T. 
      time_1 = SY-UZEIT. 

Write /(60) time_1 USING EDIT MASK 
'Now the Time is: __:__:__'. 
time_1 = time_1 + 75. 

Write /(60) time_1 USING EDIT MASK 
'A Minute and a Quarter from Now, it is: __:__:__'.

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

Now the Time is 11:45:05 
A Minute and a Quarter from Now, it is: 11:46:20

العمل مع الطوابع الزمنية

يمكنك استرداد وقت النظام الحالي وتخزينه في متغير طابع زمني باستخدام GET TIME STAMP كما هو موضح في الكود التالي. يخزن بيان GET TIME STAMP الطابع الزمني بتنسيق طويل أو مختصر وفقًا لنوع كائن بيانات الطابع الزمني المستخدم. تم ترميز قيمة الطابع الزمني باستخدام معيار UTC.

REPORT YR_SEP_12. 
DATA: stamp_1 TYPE TIMESTAMP,
 
stamp_2 TYPE TIMESTAMPL. 
GET TIME STAMP FIELD stamp_1. 
Write: / 'The short time stamp is:', stamp_1 

TIME ZONE SY-ZONLO. 
GET TIME STAMP FIELD stamp_2. 
Write: / 'The long time stamp is:', stamp_2 
TIME ZONE SY-ZONLO.

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

The short time stamp is: 18.09.2015 11:19:40 
The long time stamp is: 18.09.2015 11:19:40,9370000

في المثال أعلاه ، نعرض الطابع الزمني باستخدام إضافة TIME ZONE لعبارة WRITE. تعمل هذه الإضافة على تنسيق إخراج الطابع الزمني وفقًا لقواعد المنطقة الزمنية المحددة. يُستخدم حقل النظام SY-ZONLO لعرض المن