تجاوز الخطأ في فوركس ستاتا


حساب التذبذب التاريخي هذه الصفحة هي دليل خطوة بخطوة كيفية حساب التقلبات التاريخية. أمثلة وصيغ إكسيل متوفرة في تاريخية التقلب حاسبة ودليل. على الرغم من أنك تسمع عن مفهوم التقلبات التاريخية في كثير من الأحيان، هناك ارتباك بشأن كيفية حساب التقلبات التاريخية بالضبط. إذا كنت تستخدم العديد من برامج الرسوم البيانية المختلفة، فمن المرجح جدا أن تحصل على قيم التقلب التاريخية مختلفة قليلا لنفس الأمن مع نفس الإعدادات مع برامج مختلفة. وفيما يلي النهج الأكثر شيوعا 8211 حساب التقلبات التاريخية والانحراف المعياري للعوائد اللوغاريتمية. على أساس أسعار الإقفال اليومية. ما هو التقلب التاريخي رياضيا عندما نتحدث عن التقلب التاريخي للأوراق المالية أو أسعار الأمن، فإننا نعني في الواقع التقلب التاريخي للعائدات. يبدو أنه تمييز لا يذكر، ولكنه مهم جدا لحساب وتفسير التقلبات التاريخية. ومن الناحية الرياضية، فإن التقلب التاريخي هو الانحراف المعياري (عادة ما يكون سنويا) للعائدات. إذا كنت تعرف كيفية حساب العائد في فترة معينة وكيفية حساب الانحراف المعياري، كنت تعرف مسبقا كيفية حساب التقلبات التاريخية. إذا كنت لا تزال غير متأكد، يتبع دليل مفصل خطوة بخطوة. تحديد معلمات هناك 3 معلمات نحتاج إلى تعيين: الفترة الأساسية (التي نحسب العوائد في البداية) غالبا ما يستخدم 1 يوم كم عدد الفترات إدخال الحساب (راجع أيضا إلى هذا ن) في كثير من الأحيان 20 أو 21 يوما ( عدد أيام التداول وبالتالي عدد الفترات الأساسية في شهر واحد) كم عدد الفترات هناك في السنة (وهذا يستخدم للتقلب السنوي في نهاية المطاف) في أبحاث ماكروبتيون غالبا ما تستخدم 1 يوم (العائد يوما بعد يوم )، و 21 أو 63 يوما (تمثل شهر واحد أو 3 أشهر)، و 252 (حيث أن هناك 252 يوما من أيام التداول سنويا). ليس من المهم ما إذا كنت تستخدم 20 أو 21 يوما، أو 252 أو 262 يوما. الأهم من ذلك بكثير هو أن تستخدم نفس المعلمات باستمرار، وبالتالي فإن نتائجك تكون قابلة للمقارنة. الخطوة 1: حساب عوائد أولا نحن بحاجة لحساب العائد المركب باستمرار من كل فترة. في حالتنا، سنقوم بحساب العوائد اليومية لكل من 21 يوما (لدينا n21): لن الطبيعي سجل C ن سعر الإغلاق C n-1 اليوم السابق سعر الإغلاق الخطوة 2: الانحراف المعياري للعائدات التالي نحن تحتاج إلى حساب الانحراف المعياري للعائدات التي حصلنا عليها في الخطوة 1. الانحراف المعياري هو الجذر التربيعي للتباين، وهو متوسط ​​الانحراف التربيعي عن المتوسط ​​(إذا لم تكن على دراية به، هنا يمكنك أن ترى شرحا مفصلا عن التباين وحساب الانحراف المعياري). أولا، احسب متوسط ​​العوائد التي حصلنا عليها في الخطوة 1: ثم احسب الانحراف التربيعي عن المتوسط ​​لكل من العوائد: احسب متوسط ​​الانحرافات التربيعية عن طريق تجميعها وتقسيمها بواسطة n-1 (في حالتنا 21 1 20). نحن نقسم بواسطة n-1 بدلا من n. ونحن نحسب العينة الانحراف المعياري (ونحن نقدر الانحراف المعياري من عينة إذا لم تكن مألوفة، انظر الفرق بين السكان والانحراف المعياري العينة). ملاحظة: هذا هو تباين العائدات. حساب الانحراف المعياري الجذر التربيعي للتباين. وبالتالي فإن الصيغة كلها هي: ملاحظة: قد تبدو مخيفة، ولكن لدينا فقط إضافة جذر مربع إلى الصيغة السابقة. العدد الذي حصلنا عليه الآن () هو تقلب تاريخي لمدة يوم واحد. التقلبات التاريخية السنوية الشيء الوحيد المتبقي هو تقلب التقلبات السنوية. ونحن نفعل ذلك عن طريق ضرب التقلب لمدة يوم واحد من الجذر التربيعي لعدد أيام (التداول) في السنة في جذرنا مربع الجذر من 252. والنتيجة هي التقلبات السنوية. حساب التقلب التاريخي في إكسيل في الممارسة العملية، فإن حساب التقلبات التاريخية يدويا سيكون طويلا جدا (وعرضة للأخطاء). ولكن من السهل جدا في إكسيل. في الواقع، يمكنك أن تفعل الخطوة 2 كاملة مع وظيفة الانحراف المعياري (استخدام STDEV. S لعينة الانحراف المعياري). حاسبة التذبذب التاريخية يمكنك تحميل التقلب التاريخي حاسبة إكسيل من ماكروبتيون. يمكنك استخدامه لحسابات الخاصة بك، إما باستخدام بيانات السوق الخاصة بك، أو تلقائيا تحميل البيانات من ياهو المالية لرمز تحدده. يمكن للحاسبة أيضا توفير نتائج لآخر شعبية جدا طريقة التقلب التاريخي شعبية 8211 طريقة صفر (أو غير محورها)، والذي يختلف قليلا عن واحد المذكورة أعلاه. هناك دليل بدف الذي يأتي مع آلة حاسبة. وهو يفسر كل الحسابات والوظائف بالتفصيل. من خلال البقاء على هذا الموقع و / أو باستخدام محتوى ماكروبتيون، فإنك تؤكد أنك قرأت اتفاقية بنود الاستخدام وتوافق عليها تماما كما لو كنت قد وقعت عليها. يتضمن الاتفاق أيضا سياسة الخصوصية وسياسة ملفات تعريف الارتباط. إذا كنت لا توافق على أي جزء من هذه الاتفاقية، يرجى ترك الموقع وإيقاف استخدام أي محتوى ماكروبتيون الآن. جميع المعلومات للأغراض التعليمية فقط وقد تكون غير دقيقة أو غير كاملة أو قديمة أو خاطئة. ماكروبتيون ليست مسؤولة عن أي أضرار الناجمة عن استخدام المحتوى. لا يتم تقديم أي مشورة مالية أو استثمارية أو تجارية في أي وقت. كوبي 2016 ماكروبتيون نداش آل ريتس ريسرفيد. ديس كونسكريتس دي بيس أون فوس بروبوس دي فينير فوس دتيندر أفيك نوس لي تمبس ديون سوير، كيو سي سويت فور فير ون بوس بيندانت فوس ريفيسيونس، دي سوفلر أبرس ليس إكسامنس، أو توس سيمبليمنت دي باسر إنكور) ون بون سوير أفيك نوس. ) أون سي ريتروف دونك لي 30 ماي لا سال بوليفالنت دي بيس لا موسيك سيرا أسور بار إكستريميستيك ديسكو-موبيل إت لا بوفيت سيرا أو رينديز-فوس فيديمنت) أون فوس أنونس كيو بور ون غراند بارتي دنتر نوس أون سيرا إن مود دكومبريسيون إت أون سيرا دونك إن غراند، ترس غراند فورم. اقرأ المزيد 81 وقد وضعت إشارة مرجعية لهذا الحدث. تبدأ رحلتك الآن. استعادة كلمة المرور. ويبسفير (R) ديفيلوبمنت ستوديو إيل رج المرجع بالإضافة إلى ذلك، بعض أنواع البيانات تسمح صيغ البيانات المختلفة. يصف هذا الفصل الفرق بين صيغ البيانات الداخلية والخارجية، ويصف كل شكل، وكيفية تحديدها. تحتوي الحقول الرقمية والحرف والتاريخ والوقت والطابع الزمني على تنسيق داخلي مستقل عن التنسيق الخارجي. الشكل الداخلي هو الطريقة التي يتم تخزين البيانات في البرنامج. الشكل الخارجي هو الطريقة التي يتم تخزين البيانات في الملفات. يجب أن تكون على دراية بالتنسيق الداخلي عند: تمرير المعلمات بالرجوع تراكب الحقول الفرعية في هياكل البيانات بالإضافة إلى ذلك، قد تحتاج إلى النظر في التنسيق الداخلي للحقول الرقمية، عندما يكون أداء وقت التشغيل العمليات الحسابية مهما. لمزيد من المعلومات، راجع اعتبارات الأداء. هناك تنسيق داخلي وخارجي افتراضي لأنواع البيانات الرقمية والتاريخية. يمكنك تحديد تنسيق داخلي لحقل معين على مواصفات تعريف. وبالمثل، يمكنك تحديد تنسيق خارجي للحقل الموصوف للبرنامج على مواصفات الإدخال أو الإخراج المقابلة. بالنسبة للحقول الموجودة في ملف تم وصفه خارجيا، يتم تحديد تنسيق البيانات الخارجية في مواصفات وصف البيانات في الموضع 35. لا يمكنك تغيير التنسيق الخارجي للحقول الموصوفة خارجيا، مع استثناء واحد. إذا قمت بتحديد إكستبينينت على مواصفات عنصر تحكم، فسيتم التعامل مع أي حقل ثنائي مع مواضع عشرية صفر على أنه يحتوي على تنسيق خارجي صحيح. بالنسبة إلى الحقول الفرعية في هياكل البيانات الموصوفة خارجيا، يتم استخدام تنسيقات البيانات المحددة في الوصف الخارجي كصيغ داخلية للحقول الفرعية من قبل المحول البرمجي. يكون التنسيق الداخلي الافتراضي للحقول المستقلة الرقمية معبأ عشري. التنسيق الداخلي الافتراضي للحقول الفرعية بنية البيانات الرقمية هو عشري. لتحديد تنسيق داخلي مختلف، حدد التنسيق المطلوب في الموضع 40 على مواصفات التعريف للحقل أو الحقل الفرعي. التنسيق الافتراضي لحقول التاريخ والوقت والطابع الزمني هو إسو. بشكل عام، يوصى باستخدام التنسيق الداخلي إسو الداخلي، خاصة إذا كان لديك خليط من أنواع التنسيق الخارجية. بالنسبة لحقول التاريخ والوقت والطابع الزمني، يمكنك استخدام الكلمات الرئيسية داتفمت و تيمفمت على مواصفات التحكم لتغيير التنسيق الداخلي الافتراضي، إذا رغبت في ذلك، لجميع حقول وقت التاريخ في البرنامج. يمكنك استخدام الكلمة الرئيسية داتفمت أو تيمفمت على مواصفات تعريف لتجاوز التنسيق الداخلي الافتراضي لحقل تاريخ وقت فردي. إذا كان لديك حقول رقمية أو حرف أو تاريخ في ملفات وصفها البرنامج، يمكنك تحديد تنسيقها الخارجي. لا يؤثر الشكل الخارجي على الطريقة التي تتم بها معالجة الحقل. ومع ذلك، قد تكون قادرة على تحسين أداء العمليات الحسابية، اعتمادا على التنسيق الداخلي المحدد. لمزيد من المعلومات، راجع اعتبارات الأداء. يوضح الجدول التالي كيفية تحديد التنسيق الخارجي للحقول الموصوفة للبرنامج. لمزيد من المعلومات حول كل نوع من أنواع التنسيق، راجع القسم المناسب في الجزء المتبقي من هذا الفصل. P عشري معبأ S عشري زوند يسمى التنسيق الخارجي الافتراضي للبيانات الرقمية العائمة تمثيل العرض الخارجي. ويكون نسق بيانات العوامات ذات 4 بايتات هو: نسق بيانات العوامة ذات 8 بايتات: ملاحظة أن قيمة عائمة 4 بايتات تشغل 14 موقعا وتحتل قيمة عائمة 8 بايتات 23 موقعا. وبالنسبة إلى البيانات الرقمية غير العائمة، يكون التنسيق الخارجي الافتراضي عشري حسب المنطقة. يجب أن يكون التنسيق الخارجي لمصفوفات الجداول والجداول الزمنية مخصصا عشريا أو علامة يسار أو علامة لليمين. وبالنسبة إلى المصفوفات والجداول الزمنية الخاصة بالتعويم، يتم تحديد بيانات وقت التجميع إما بالحرف الرقمي أو الحرفي العائم. ويتطلب كل عنصر من مصفوفة العائمة ذات 4 بايتات 14 موقعا في سجل المصدر، يتطلب كل عنصر من صفيف العائمة 8 بايتات 23 موقعا. يتم تخزين الحقول الرقمية غير الطافية المعرفة على مواصفات الدخل ومواصفات الحساب أو مواصفات الإخراج مع عدم وجود تعريف مطابق للمواصفة التعريف داخليا بتنسيق عشري معبأ. بالنسبة لأي من حقول المدخلات والمخرجات في الجدول 11. حدد أحد تنسيقات البيانات الخارجية الصالحة التالية: حرف (صالح لبيانات الأحرف والمؤشرات) N المؤشر (صالح لبيانات الأحرف والمؤشرات) G غرافيك (صالح للبيانات البيانية) C أوس-2 (صالح لبيانات أوس-2) يمكن استخدام الكلمة الرئيسية إكستفمت لتحديد بيانات مصفوفة أو جدول بتنسيق أوس-2. حدد سمة بيانات فار في المواضع 31-34 على مواصفة الدخل وفي المواضع 53-80 على مواصفات الخرج للبيانات ذات الطابع المتغير أو الرسم أو أوس-2. إذا كان لديك حقول التاريخ والوقت والطابع الزمني في الملفات الموصوفة للبرنامج، يجب عليك تحديد تنسيقها الخارجي. يمكنك تحديد تنسيق خارجي افتراضي لجميع الحقول التاريخ والوقت والطابع الزمني في ملف وصف البرنامج باستخدام داتفمت و تيمفمت الكلمات الرئيسية على مواصفات وصف الملف. يمكنك تحديد تنسيق خارجي لحقل معين كذلك. حدد التنسيق المطلوب في المواضع 31-34 على مواصفات الدخل. حدد الكلمة الرئيسية المناسبة والتنسيق في المواضع 53-80 على مواصفات الإخراج. لمزيد من المعلومات حول كل نوع من أنواع التنسيق، راجع القسم المناسب في الجزء المتبقي من هذا الفصل. يمثل نوع بيانات الحرف قيم الأحرف وقد يحتوي على أي من التنسيقات التالية: قد تحتوي بيانات الأحرف على حرف واحد أو أكثر من بايت واحد أو مزدوج البايت، بناء على التنسيق المحدد. يمكن أن تحتوي أيضا حقول الأحرف و الرسوم و أوس-2 على تنسيق ثابت أو متغير الطول. يلخص الجدول التالي الأشكال المختلفة لنوع البيانات. نوع بيانات الحرف عدد البايتات يكون تنسيق الأحرف ذات الطول الثابت واحد أو أكثر من البايتات بطول محدد. يمكنك تعريف حقل حرف بتحديد A في إدخال نوع البيانات للمواصفات المناسبة. يمكنك أيضا تعريف واحد باستخدام الكلمة الرئيسية ليك على مواصفات تعريف حيث المعلمة هو حقل الحرف. قيمة التهيئة الافتراضية هي الفراغات. شكل المؤشر هو نوع خاص من بيانات الحرف. المؤشرات كلها بايت واحد فقط ويمكن أن تحتوي فقط على قيم الحرف 0 (إيقاف) و 1 (على). وهي تستخدم عادة للإشارة إلى نتيجة العملية أو إلى الشرط (التحكم) في معالجة العملية. القيمة الافتراضية للمؤشرات هي 0. يمكنك تعريف حقل مؤشر بتحديد N في إدخال نوع البيانات للمواصفات المناسبة. يمكنك أيضا تحديد حقل مؤشر باستخدام الكلمة الرئيسية ليك على مواصفات التعريف حيث المعلمة هي حقل مؤشر. يتم تعريف حقول المؤشر أيضا ضمنا مع الكلمة الرئيسية كوميت على مواصفات وصف الملف. وهناك مجموعة خاصة من مؤشرات رج الرابع المحددة مسبقا (إنكس) متاحة أيضا. وللاطلاع على وصف لهذه المؤشرات، انظر مؤشرات رج الرابع. قواعد تعريف متغيرات المؤشرات هي: يمكن تعريف المؤشرات على أنها حقول مستقلة، وحقول فرعية، ومعلمات نموذجية، وقيم إرجاع الإجراء. إذا تم تعريف متغير مؤشر على أنه مصفوفة زمنية أو مصفوفة وقت تجميع أو جدول، يجب أن تتكون بيانات التهيئة من 0s و 1s فقط. ملاحظة: إذا كان المؤشر يحتوي على قيمة غير 0 أو 1 في وقت التشغيل، فإن النتائج غير متوقعة. إذا تم تحديد الكلمة الرئيسية إنز، يجب أن تكون القيمة واحدة من 0 أو أوف أو 1 أو أون. لا يمكن تحديد الكلمة الرئيسية فاريينغ لحقل مؤشر. قواعد استخدام متغيرات المؤشرات هي: قيمة التهيئة الافتراضية لحقول المؤشرات هي 0. رمز التشغيل كلير يحدد متغير مؤشر إلى 0. وظيفة فارغة بعد تطبيقها على متغير مؤشر تعيينه إلى 0. إذا تم تحديد مجموعة من المؤشرات كما نتيجة عملية موفيا (P)، حرف الحشو هو 0. يتم تعريف المؤشرات ضمنا مع ألتيق (نون). وهذا يعني أن تسلسل التجميع البديل لا يستخدم للمقارنات التي تنطوي على مؤشرات. ويمكن استخدام المؤشرات كمجالات رئيسية حيث يكون المفتاح الخارجي حرف الطول 1. الشكل البياني عبارة عن سلسلة حروف حيث تمثل كل حرف بايتين. الحقول التي تم تعريفها كبيانات بيانية لا تحتوي على رموز التحول (سو) أو التحول في (سي). ويظهر الشكل الفاصل بين حرف البايتة الأحادية والبيانات البيانية المزدوجة البايتة في الشكل التالي: يبلغ طول حقل الرسم، في البايتات، ضعف عدد الحروف البيانية في الحقل. ويكون شكل الرسوم البيانية ذات الطول الثابت عبارة عن سلسلة حروف ذات طول محدد حيث تمثل كل حرف 2 بايت. يمكنك تعريف حقل رسم عن طريق تحديد G في إدخال نوع البيانات للمواصفات المناسبة. يمكنك أيضا تعريف واحد باستخدام الكلمة الرئيسية ليك على مواصفات تعريف حيث المعلمة هو حقل الرسم. قيمة التهيئة الافتراضية للبيانات البيانية هي X4040. قيمة هفال هو زففف، وقيمة لوفال هي X0000. مجموعة الأحرف العالمية (أوس-2) هي عبارة عن سلسلة حروف حيث يتم تمثيل كل حرف ب 2 بايت. يمكن لمجموعة الأحرف هذه ترميز الأحرف للعديد من اللغات المكتوبة. الحقول التي تم تعريفها كبيانات أوس-2 لا تحتوي على أحرف تحول (سو) أو شيفت-إن (سي). طول حقل أوس-2، في وحدات البايت، هو ضعف عدد الأحرف أوس-2 في الحقل. ويكون نسق أوس-2 ذو الطول الثابت عبارة عن سلسلة حروف ذات طول محدد حيث تمثل كل حرف بايتتين. يمكنك تعريف حقل أوس-2 عن طريق تحديد C في إدخال نوع البيانات للمواصفات المناسبة. يمكنك أيضا تعريف واحد باستخدام الكلمة الرئيسية ليك على مواصفات تعريف حيث المعلمة هو حقل أوس-2. قيمة التهيئة الافتراضية لبيانات أوس-2 هي X0020. قيمة هيفال هو زففف، لوفال هو X0000، وقيمة بلانكس هو X0020. لمزيد من المعلومات حول تنسيق أوس-2، راجع موضوع إيزيريز إنفورماتيون سينتر غلوباليتي. حقول حرف متغير الطول لها حد أقصى معلنة وطول الحالي التي يمكن أن تختلف أثناء تشغيل برنامج. ويقاس الطول بايتات مفردة لتنسيق الأحرف وبايتات مزدوجة للصيغ البيانية و أوس-2. ويكون التخزين المخصص لحقول الأحرف ذات الطول المتغير 2 بايتة أطول من الطول الأقصى المعلن. الحد الأقصى 2 بايت هو حقل صحيح غير موقعة يحتوي على الطول الحالي في أحرف أو أحرف رسومية أو أحرف أوس-2. وتبدأ بيانات الأحرف الفعلية عند البايتة الثالثة من حقل الطول المتغير. يوضح الشكل 80 كيفية تخزين حقول الأحرف المتغيرة الطول: يوضح الشكل 81 كيفية تخزين حقول الرسم ذات الطول المتغير. يتم تخزين الحقول أوس-2 بالمثل. يمكنك تعريف حقل بيانات حرف متغير الطول من خلال تحديد حرف (حرف) أو G (رسم) أو C (أوس-2) والكلمة الرئيسية متغير على مواصفات تعريف. ويمكن أيضا تعريفه باستخدام الكلمة الرئيسية ليك على مواصفات تعريف حيث تكون المعلمة حقل حرف متغير الطول. يمكنك الرجوع إلى حقول الطول المتغير الخارجية، على مواصفات الدخل أو الإخراج، مع سمة بيانات فار. يتم تهيئة حقل متغير الطول افتراضيا بحيث يكون طوله الحالي صفر. تنطبق القواعد التالية عند تعريف حقول متغيرة الطول: يمكن أن يكون الطول المعلن للحقل من 1 إلى 65535 من أحرف البايت الواحد ومن 1 إلى 16383 رسم مزدوج البايت أو حرف أوس-2. قد يكون الطول الحالي أي قيمة من 0 إلى الحد الأقصى للطول المعلن للحقل. يمكن تهيئة الحقل باستخدام الكلمة الرئيسية إنز. القيمة الأولية هي القيمة المحددة المحددة والطول الأولي للحقل هو طول القيمة الأولية. الحقل مبطن مع الفراغات للتهيئة، ولكن الفراغات غير مشمولة في الطول. وفي جميع الحالات باستثناء الحقول الفرعية المعرفة باستخدام تدوين الموضعية، يحتوي طول الطول (المواضع 33-39 على مواصفات التعريف) على أقصى طول للمجال لا يشمل طول البايتين. وبالنسبة للحقول الفرعية المعرفة باستخدام تدوين الموضعية، يشمل الطول طول البايتة 2. ونتيجة لذلك، قد يكون حقل فرعي متغير طول 32769 بايت واحد أو 16384 بايت مزدوجة طويلة لهيكل بيانات لم يتم ذكر اسمه. لا يمكن تحديد الكلمة الرئيسية فاريينغ لبنية البيانات. بالنسبة إلى المصفوفات الزمنية ذات الطول المتغير، يتم تخزين بيانات التهيئة في الملف بتنسيق متغير، بما في ذلك البادئة الطولية 2 بايت. وبما أن قراءة صفيف بريرون يتم قراءتها من ملف وملفات يبلغ طولها الأقصى 32766، فإن المصفوفات ذات الوقت المتغير ذات الطول المتغير يبلغ حجمها الأقصى 32764 حرفا أحادي البايت أو 16382 رسم مزدوج البايت أو أحرف أوس-2 . ويمكن تعريف صفيف أو جدول متغير الطول ببيانات وقت التجميع. الفراغات زائدة في مجال البيانات ليست كبيرة. طول البيانات هو موضع آخر حرف فارغ في الحقل. يختلف هذا عن التهيئة بريون-تايم حيث لا يمكن تخزين بادئة الطول في بيانات وقت التجميع. لا يمكن استخدام ديفين لتعريف حقل مثل حقل متغير الطول. فيما يلي مثال لتعريف حقول الأحرف ذات الطول المتغير: التالي هو مثال لتعريف الحقول ذات الطول المتغير و أوس-2: قيمة التهيئة الافتراضية للحقول الرقمية هي صفر. ويعني الشكل الثنائي أن الإشارة (موجبة أو سلبية) في بتة أقصى اليسار من الحقل والقيمة الرقمية في البتات المتبقية من الحقل. الأرقام الإيجابية لها صفر في الأرقام السالبة بت إشارة لها واحد في بت علامة وهي في شكل تكملة مزدوجة. يمكن أن يكون الحقل الثنائي من رقم واحد إلى تسعة أرقام في الطول ويمكن تعريفه بمراكز عشرية. إذا كان طول الحقل من رقم واحد إلى أربعة أرقام، يفترض المترجم طول حقل ثنائي قدره 2 بايت. وإذا كان طول الحقل من خمسة إلى تسعة أرقام، يفترض المترجم طول حقل ثنائي قدره 4 بايتات. يتم تعيين كل حقل الإدخال قراءة في شكل ثنائي طول حقل (عدد من الأرقام) من قبل مترجم. يتم تعيين طول 4 إلى حقل ثنائي 2 بايت يتم تعيين طول 9 إلى حقل ثنائي 4 بايت، إذا لم يتم تعريف الحقل في مكان آخر في البرنامج. وبسبب قيود الطول هذه، تكون أعلى قيمة عشرية يمكن تخصيصها لحقل ثنائي بايتة هي 9999 وأعلى قيمة عشرية يمكن تخصيصها لحقل ثنائي بايتة 4 999 999 999. وبصفة عامة، فإن المجال الثنائي من n أرقام يمكن أن يكون لها قيمة قصوى من n 9s. تفترض هذه المناقشة المواضع العشرية الصفرية. لأن حقل 2 بايت في تنسيق ثنائي يتم تحويلها من قبل مترجم إلى حقل عشري مع 1 إلى 4 أرقام، قد تكون قيمة الإدخال كبيرة جدا. إذا كان هو، يتم إسقاط الرقم أقصى اليسار من عدد. على سبيل المثال، إذا كان حقل الإدخال الثنائي المكون من أربعة أرقام يحتوي على قيمة ثنائية من 6000 سداسي عشري، يقوم المترجم بتحويل هذا إلى 24 576 في عشري. يتم إسقاط 2 والنتيجة هي 4576. وبالمثل، قد تكون قيمة المدخلات كبيرة جدا لحقل 4 بايت في شكل ثنائي. إذا كانت الحقول الثنائية لها صفر (0) المواضع العشرية، يمكنك تجنب هذه المشكلة التحويل عن طريق تحديد حقول عدد صحيح بدلا من المجالات الثنائية. ملاحظة: لا يمكن تعريف حقول الإدخال الثنائي كحقول تطابق أو تحكم. عدد الأرقام من حقل ثنائي هو بالضبط نفس طول في دس الوصف. على سبيل المثال، إذا قمت بتعريف حقل ثنائي في مواصفات دس على أنه يحتوي على 7 أرقام و 0 مواضع عشرية، يعالج ملف إيفكومبيلر رج البيانات كالتالي: يعرف الحقل على أنه حقل ثنائي 4 بايت في مواصفات الدخل A باكيد (7 ، 0) يتم إنشاء حقل للحقل في برنامج رج الرابع. إذا كنت ترغب في الاحتفاظ بمعلومات الحقل الثنائي الكامل، إعادة تعريف الحقل ك حقل فرعي ثنائي في بنية بيانات أو كحقل مستقل ثنائي. لاحظ أن الحقل الثنائي الموصوف خارجيا قد يكون له قيمة خارج النطاق المسموح به من قبل الحقول الثنائية آر بي جي إيف. إذا كان الحقل الثنائي الموصوف خارجيا لديه صفر (0) المواضع العشرية ثم يمكنك تجنب هذه المشكلة. للقيام بذلك، يمكنك تعريف الحقل الثنائي الموصوف خارجيا على مواصفات تعريف وتحديد الكلمة الرئيسية إكستبينينت على مواصفات عنصر التحكم. سيؤدي هذا إلى تغيير التنسيق الخارجي للحقل الموصوف خارجيا إلى عدد صحيح موقَّع. يتكون شكل تعويم من جزأين: العشري والأس. قيمة حقل النقطة العائمة هي نتيجة لضرب العشري من قبل 10 رفعت إلى قوة الأس. على سبيل المثال، إذا كان 1.2345 هو العشري و 5 هو الأس ثم قيمة حقل النقطة العائمة هي: يمكنك تعريف حقل النقطة العائمة من خلال تحديد F في إدخال نوع البيانات للمواصفات المناسبة. يجب ترك الفراغات العشرية فارغة. ومع ذلك، تعتبر حقول النقطة العائمة لديها مواقف عشرية. ونتيجة لذلك، قد لا يتم استخدام المتغيرات العائمة في أي مكان حيث تكون قيمة رقمية بدون المنازل العشرية مطلوبة مثل فهرس صفيف أو فهرس حلقة أو غير ذلك. التهيئة الافتراضية وقيمة كلير لحقل نقطة عائمة هي 0E0. ويعرف طول مجال النقطة العائمة من حيث عدد البايتات. يجب تحديدها إما 4 أو 8 بايتات. مجموعة القيم المسموح بها لحقل نقطة عائمة هي: 4-بايت تعويم (8 أرقام) -3.4028235E38 إلى -1.1754944E-38، 0.0E0، 1.1754944E-38 إلى 3.4028235E38 تعويم 8 بايت (16 رقما) - 1.797693134862315E308 إلى -2.225073858507201E-308، 0.0E0، 2.225073858507201E-308 إلى 1.797693134862315E308 ملاحظة: المتغيرات العائمة مطابقة لمعيار إيي كما يدعمها نظام التشغيل أوس / 400. وبما أن المتغيرات العائمة يقصد بها تمثيل القيم العلمية، فإن القيمة الرقمية المخزنة في متغير تعويم قد لا تمثل القيمة نفسها نفسها كما هي في متغير معبأ. يجب عدم استخدام تعويم عندما تحتاج إلى تمثيل أرقام بالضبط لعدد معين من المنازل العشرية، مثل المبالغ النقدية. راجع تحديد تنسيق خارجي لحقل رقمي للحصول على وصف عام لتمثيل العرض الخارجي. يتم تطبيق العرض الخارجي لقيم التطفو على ما يلي: إخراج بيانات تعويم مع إدخال بيانات-تنسيق فارغ. إدخال بيانات تعويم مع إدخال البيانات-تنسيق فارغ. الشكل الخارجي للمصفوفات والجداول الزمنية في وقت التجميع (عند حذف الكلمة الرئيسية إكستفمت). عرض وإدخال قيم تعويم باستخدام رمز العملية دسبلي. إخراج قيم تعويم على قائمة تفريغ. نتيجة المدمج في وظيفة إديتفلت. عند إخراج قيم التطفية، يستخدم التمثيل الخارجي تنسيقا مشابها للمعادلات الحرفية المتغيرة، باستثناء ما يلي: يتم كتابة القيم دائما بالحرف E وعلامات لكل من العشرية والأسية. القيم هي إما 14 أو 23 حرفا طويلا (ل 4 F و 8 F على التوالي). يتم تطبيع القيم. وهذا يعني أن النقطة العشرية تتبع مباشرة الرقم الأكثر أهمية. حرف فاصل عشري إما فترة أو فاصلة اعتمادا على المعلمة ل كونسيبت سبيسيفيكاتيون ديسديت. وفيما يلي بعض الأمثلة على كيفية عرض قيم التطفو: عند إدخال قيم تعويم، يتم تحديد القيمة تماما مثل الحرفية العائمة. لا يجب أن يتم تطبيع القيمة أو تعديلها في الحقل. عندما يتم تعريف قيم تعويم كبيانات تهيئة صفيف / جدول، يتم تحديدها في حقول إما طول 14 أو 23 حرفا (4F و 8 F على التوالي). لاحظ ما يلي حول حقول تعويم: قد يكون المطلوب محاذاة حقول تعويم لتحسين أداء الوصول إلى الحقول الفرعية تعويم. يمكنك استخدام الكلمة الرئيسية ألين لمحاذاة حقول فرعية تعويم محددة على مواصفات تعريف. تتم محاذاة الحقول الفرعية العائمة ذات 4 بايتات على حدود 4 بايتات وتتم محاذاة الحقول الفرعية العائمة 8 بايتات على طول حدود 8 بايتات. لمزيد من المعلومات حول محاذاة حقول فرعية تعويم، راجع ألين. لا يسمح بتعديل الطول عند استخدام الكلمة الرئيسية ليك لتعريف حقل مثل حقل تعويم. لا يمكن تعريف حقول الإدخال تعويم على أنها حقول مطابقة أو التحكم. الشكل الصحيح مشابه للتنسيق الثنائي مع استثناءين: التنسيق الصحيح يسمح النطاق الكامل للقيم الثنائية عدد المواضع العشرية لحقل صحيح هو دائما صفر. يمكنك تحديد حقل عدد صحيح بتحديد I في إدخال نوع البيانات للمواصفات المناسبة. يمكنك أيضا تحديد حقل صحيح باستخدام الكلمة الرئيسية ليك على مواصفات تعريف حيث تكون المعلمة حقل صحيح. يتم تعريف طول حقل صحيح من حيث عدد الأرقام التي يمكن أن تكون 3 أو 5 أو 10 أو 20 رقما طويلا. حقل 3 أرقام يستغرق 1 بايت من التخزين حقل 5 أرقام يستغرق 2 بايت من التخزين حقل 10 أرقام يستغرق 4 بايت حقل 20 رقما يستغرق 8 بايت. مجموعة القيم المسموح بها لحقل صحيح يعتمد على طولها. طول الحقل نطاق القيم المسموح بها عدد صحيح مكون من 3 أرقام -128 إلى 127 رقم صحيح مكون من 5 أرقام -32768 إلى 32767 رقم صحيح مكون من 10 أرقام -2147483648 إلى 2147483647 رقم صحيح مكون من 20 رقما -9223372036854775808 إلى 9223372036854775807 لاحظ ما يلي حول حقول الأعداد الصحيحة: محاذاة حقول صحيحة المطلوب لتحسين أداء الوصول إلى الحقول الفرعية الصحيحة. يمكنك استخدام الكلمة الرئيسية ألين لمحاذاة الحقول الفرعية الصحيحة المعرفة على مواصفات تعريف. تتم محاذاة الحقول الفرعية 2-بايت عدد صحيح على محاور فرعية 4 بايت عدد صحيح 4 بايت يتم محاذاة الحقول الفرعية على طول حدود 4 بايت يتم محاذاة الحقول الفرعية 8 بايت صحيح على طول حدود 8 بايت. لمزيد من المعلومات حول محاذاة الحقول الفرعية الصحيحة، راجع ألين. إذا تم استخدام الكلمة الرئيسية ليك لتعريف حقل مثل حقل عدد صحيح، قد يحتوي إدخال لينغث على تعديل طول من حيث عدد الأرقام. يجب أن تكون قيمة التعديل بحيث يكون العدد الناتج من الأرقام للحقل 3 أو 5 أو 10 أو 20. لا يمكن تعريف حقول الإدخال الصحيحة كحقول تطابق أو تحكم. التنسيق المعزوف عشري يعني أن كل بايت من التخزين (باستثناء بايت ترتيب منخفض) يمكن أن تحتوي على رقمين عشريين. تحتوي البايتة ذات الترتيب المنخفض على رقم واحد في الجزء الأيسر والأشارة (إيجابية أو سلبية) في الجزء الأيسر. وتستخدم العلامات القياسية: سداسي عشري F للأرقام الإيجابية والسداسي عشري D للأرقام السالبة. الشكل المعبأ عشري يشبه هذا: يشير الجزء علامة من البايت منخفض ترتيب ما إذا كانت القيمة الرقمية ممثلة في أجزاء أرقام إيجابية أو سلبية. ويبين الشكل 89 ما هو الرقم العشري 21544 كما يبدو في شكل عشري معبأة. استخدم الصيغة التالية للبحث عن الطول في أرقام حقل معبأ عشري: تعطيك هذه الصيغة الحد الأقصى لعدد الأرقام التي يمكن تمثيلها بتنسيق عشري معبأ الحد الأعلى هو 31. يمكن أن تصل الحقول المعبأة إلى 16 بايتة طويلة. ويبين الجدول 12 المعادلات المعبأة للمجالات العشرية المخصصة حتى 31 رقما: الطول العشري المخصص في الأرقام عدد البايتات المستعمل في الحقل العشري المعبأ، على سبيل المثال، يبلغ حقل الإدخال الذي يقرأ بتنسيق عشري معبأ طولا قدره 5 بايتات (كما هو محدد في مواصفات الدخل أو التعريف). عدد الأرقام في هذا الحقل يساوي 2 (5) - 1 أو 9. لذلك، عندما يتم استخدام الحقل في مواصفات الحساب، يجب أن يكون حقل النتيجة تسعة مواقف طويلة. يمكن استخدام الكلمة الرئيسية باكيفن على مواصفات التعريف للإشارة إلى أي من الأحجام المحتملة التي تريدها عند تحديد حقل فرعي معبأ باستخدام من وإلى مواضع بدلا من عدد الأرقام. شكل صحيح غير موقعة مثل تنسيق صحيح إلا أن مجموعة القيم لا تتضمن الأرقام السلبية. يجب استخدام التنسيق غير الموقع فقط عند توقع بيانات عدد غير سالب. يمكنك تعريف حقل غير موقعة عن طريق تحديد U في إدخال نوع البيانات للمواصفات المناسبة. يمكنك أيضا تعريف حقل غير موقعة باستخدام الكلمة الرئيسية ليك على مواصفات التعريف حيث المعلمة هي حقل غير موقعة. يتم تعريف طول حقل غير موقعة من حيث عدد الأرقام التي يمكن أن تكون 3 أو 5 أو 10 أو 20 رقما. حقل 3 أرقام يستغرق 1 بايت من التخزين حقل 5 أرقام يستغرق 2 بايت من التخزين حقل 10 أرقام يستغرق 4 بايت حقل 20 رقما يستغرق 8 بايت. يعتمد نطاق القيم المسموح به للحقل غير الموقع على طوله. طول الحقل نطاق القيم المسموح بها 3 أرقام غير موقعة من 0 إلى 255 من 5 أرقام غير موقعة 0 إلى 65535 أرقام غير موقعة من 0 إلى 4294967295 من 20 رقما غير موقعة 0 إلى 18446744073709551615 للاطلاع على اعتبارات أخرى تتعلق باستخدام الحقول غير الموقعة، بما في ذلك معلومات حول المحاذاة، انظر تنسيق صحيح. يعني التنسيق العشري المخصص أن كل بايت من التخزين يمكن أن يحتوي على رقم واحد أو حرف واحد. وفي النسق العشري المخصص للمنطقة، تنقسم كل بايتة من التخزين إلى جزأين: جزء منطقة 4 بت وجزء مكون من 4 بتات. ويظهر الشكل العشري المخصص للمنطقة كما يلي: يشير جزء المنطقة من البايتة ذات الترتيب المنخفض إلى علامة (إيجابية أو سلبية) من الرقم العشري. وتستخدم العلامات القياسية: سداسي عشري F للأرقام الإيجابية والسداسي عشري D للأرقام السالبة. في تنسيق عشري منطقة، كل رقم في رقم عشري يتضمن جزء منطقة ومع ذلك، فقط جزء منطقة منخفضة الترتيب بمثابة علامة. ويبين الشكل 89 الشكل الذي يبدو فيه الرقم 21544 بالتنسيق العشري الخاص بالمنطقة. يجب أن تأخذ في الاعتبار التغيير في طول الحقل عند ترميز الوضع النهائي في المواضع من 40 إلى 43 من مواصفات الإخراج والمجال هو أن يكون الناتج في شكل معبأة. للعثور على طول الحقل بعد تعبئته، استخدم الصيغة التالية: يمكنك تحديد صيغة علامة بديلة للتنسيق العشري المخصص. في نسق الإشارة البديلة، يسبق الحقل الرقمي مباشرة أو يتبعه علامة أو -. علامة الجمع هي علامة 4E سداسي عشري، وعلامة الطرح هي سداسي عشري 60. عند تحديد تنسيق إشارة بديلة، يجب أن يتضمن طول الحقل (المحدد في مواصفات الدخل) موضعا إضافيا للعلامة. على سبيل المثال، إذا كان الحقل يتكون من 5 أرقام، ويتم تحديد تنسيق علامة بديلة، يجب تحديد طول حقل 6 مواضع. ضع في اعتبارك ما يلي عند تحديد الحقول الرقمية: عند ترميز موضع النهاية في المواضع من 47 إلى 51 من مواصفات الإخراج، تأكد من استخدام التنسيق الخارجي عند حساب عدد وحدات البايت التي سيتم شغلها بواسطة حقل الإخراج. على سبيل المثال، يتم تخزين حقل معبأة مع 5 أرقام في 3 بايت، ولكن عندما الإخراج في تنسيق المنطقة، فإنه يتطلب 5 بايت. عندما الإخراج في شكل صحيح، فإنه يتطلب فقط 2 بايت. إذا قمت بنقل حقل حرف إلى رقم جغرافي حسب المنطقة، فسيتم إصلاح علامة حقل الحرف إلى منطقة جغرافية موجبة أو منطقية سالبة. سيتم إجبار الجزء المخصص من بايت أخرى إلى F. ومع ذلك، إذا كان الجزء رقم واحد من وحدات البايت في حقل الحرف لا يحتوي على رقم صحيح خطأ البيانات العشرية سيحدث. عند كتابة حقول رقمية بدون تحرير، لا يتم طباعة الإشارة كحرف منفصل، حيث أن الرقم الأخير من الرقم سيتضمن علامة. هذا يمكن أن تنتج نتائج مثيرة للدهشة على سبيل المثال، عندما يتم كتابة -625 خارج، قيمة عشري منطقة XF6F2D5 الذي يظهر 62N. يجب تحديد التنسيق الصحيح أو غير الموقعة للحقول عندما: أداء الحساب مهم مع بعض العمليات الحسابية، قد يكون من المهم أن تكون القيمة المستخدمة عددا صحيحا. بعض الأمثلة التي يمكن تحسين الأداء فيها تتضمن حسابات فهرس الصفيف وسيطات الدالة المضمنة سوبست. التفاعل مع الإجراءات المكتوبة باللغات الأخرى التي تدعم نوع بيانات صحيح مثل إيل C. استخدام الحقول في مناطق تعليقات الملفات التي تم تعريفها على أنها عدد صحيح والتي قد تحتوي على قيم أعلى من 9999 أو 999999999. يجب تحديد التنسيقات المعبأة والمخصصة والمنطقة للحقول عند: استخدام القيم التي تحتوي على مواضع عشرية ضمنية، قيم العملة هذه التعامل مع القيم التي تحتوي على أكثر من 19 رقما ضمان عدد معين من الأرقام لحقل مهم يجب تعيين تنسيق تعويم للحقول عند: نفس المتغير هو مطلوب لعقد جدا والقيم الصغيرة و / أو الكبيرة جدا التي لا يمكن تمثيلها في قيم معبأة أو مخصصة. ملاحظة: من المرجح أن تحدث تجاوزات مع العمليات الحسابية التي يتم إجراؤها باستخدام الشكل الصحيح أو غير الموقعة، خاصة عندما يحدث الحساب الصحيح في تعبيرات شكل حر. ويرجع ذلك إلى أن يتم الاحتفاظ بالنتائج المتوسطة في شكل صحيح أو غير موقعة بدلا من حقل عشري مؤقت من حجم كاف. يوضح الشكل 89 ما هو الرقم العشري 21544 يبدو في أشكال مختلفة. لاحظ ما يلي حول التمثيل في الشكل. للحصول على القيمة الرقمية لعدد ثنائي أو عدد صحيح موجب، رقم غير موقعة، قم بإضافة قيم البتات الموجودة على (1)، ولكن لا تتضمن بتة الإشارة (إن وجدت). بالنسبة إلى رقم غير موقعة، أضف قيم البتات التي تكون قيد التشغيل، بما في ذلك بتة أقصى اليسار. لا يمكن تمثيل القيمة 21544 في حقل ثنائي بايت 2 على الرغم من أنه يستخدم فقط البتات في البايتين منخفضي الترتيب. حقل ثنائي بايت 2 يمكن أن تعقد فقط ما يصل إلى 4 أرقام، و 21544 ديه 5 أرقام. ويبين الشكل 90 الرقم -21544 بتنسيق صحيح. تحتوي حقول التاريخ على حجم وتنسيق محدد سلفا. ويمكن تعريفها على مواصفات التعريف. مطلوب الأصفار الرائدة و زائدة لجميع بيانات التاريخ. الثوابت التاريخ أو المتغيرات المستخدمة في المقارنات أو التخصيصات لا يجب أن تكون في نفس الشكل أو استخدام نفس الفواصل. كما يتم أيضا تحويل التواريخ المستخدمة لعمليات الإدخال / الإخراج مثل حقول الإدخال أو حقول الإخراج أو حقول المفاتيح (إذا لزم الأمر) إلى النسق اللازم للعملية. التنسيق الداخلي الافتراضي لمتغيرات التاريخ هو إسو. يمكن تجاوز هذا التنسيق الداخلي الافتراضي عالميا من خلال الكلمة الرئيسية للمواصفات عنصر التحكم داتفمت وبشكل فردي بواسطة كلمة تعريف تعريف داتفمت. التسلسل الهرمي المستخدم عند تحديد تنسيق التاريخ الداخلي والفاصل لحقل التاريخ هو من الكلمة الرئيسية داتفمت المحددة في مواصفات التعريف من الكلمة الرئيسية داتفمت المحددة على مواصفات عنصر التحكم إسو هناك ثلاثة أنواع من تنسيقات البيانات التاريخ، اعتمادا على مجموعة من السنوات التي يمكن تمثيلها. يؤدي هذا إلى إمكانية حدوث تجاوز تاريخ أو حالة تراجع في حالة حدوث نتيجة لعملية ما تاريخ خارج النطاق الصحيح للحقل الهدف. الأشكال والنطاقات هي كما يلي: عدد الأرقام في السنة 2 (يمد، دمي، مدي، جول) يتم دعم العديد من الأشكال أيضا للحقول التي تستخدمها موف، موفيل، وعمليات الاختبار فقط. يتم توفير هذا الدعم للتوافق مع القيم المحددة خارجيا التي هي بالفعل في شكل عام مكون من 3 أرقام وتنسيق لونغول السنة المكونة من 4 أرقام. كما ينطبق على تنسيقات السنة المكونة من رقمين عند تحديد جوبرون. يجب استخدام جوبرون عندما يكون من المعروف أن الحقل الذي يصف له سمات من الوظيفة. على سبيل المثال، ستكون نتيجة رقمية مكونة من 12 رقما لعملية تايم في تنسيق تاريخ المهمة. ويعرض الجدول 15 صيغ التاريخ المحددة الصالحة خارجيا والتي يمكن استخدامها في العامل 1 من عملية موف، موفيل، و تيست. تنسيق (فاصل افتراضي) تنسيقات سنة مكونة من 2 أرقام تم تحديدها عند وقت التشغيل من قيم داتفمت أو داتسيب. تنسيقات السنة المكونة من 3 أرقام تنسيقات السنة المكونة من 4 أرقام جوبرون صالحة فقط للطابع أو التواريخ الرقمية مع سنة مكونة من رقمين نظرا لأن سمة وظيفة وقت التشغيل ل داتفمت يمكن أن تكون فقط مدي أو يمد أو دمي أو جول. Valid values for the century character c are: When coding a date format on a MOVE, MOVEL or TEST operation, separators are optional for character fields. To indicate that there are no separators, specify the format followed by a zero. For more information on how to code date formats without separators see MOVE (Move). MOVEL (Move Left) and TEST (Test Date/Time/Timestamp). To initialize the Date field to the system date at runtime, specify INZ(SYS) on the definition specification. To initialize the Date field to the job date at runtime, specify INZ(JOB) on the definition specification. SYS or JOB cannot be used with a field that is exported. The Date field can also be initialized to a literal, named constant or figurative constant. Note: Runtime initialization takes place after static intitialization. Time fields have a predetermined size and format. They can be defined on the definition specification. Leading and trailing zeros are required for all time data. Time constants or variables used in comparisons or assignments do not have to be in the same format or use the same separators. Also, times used for I/O operations such as input fields, output fields or key fields are also converted (if required) to the necessary format for the operation. The default internal format for time variables is ISO. This default internal format can be overridden globally by the control specification keyword TIMFMT and individually by the definition specification keyword TIMFMT. The hierarchy used when determining the internal time format and separator for a time field is From the TIMFMT keyword specified on the definition specification From the TIMFMT keyword specified on the control specification ISO Table 16 shows the time formats supported and their separators. RPG Format Name When coding a time format on a MOVE, MOVEL or TEST operation, separators are optional for character fields. To indicate that there are no separators, specify the format followed by a zero. For more information on how to code time formats without separators see MOVE (Move). To initialize the Time field to the system time at runtime, specify INZ(SYS) on the definition specification. SYS cannot be used with a field that is exported. The Time field can also be initialized at runtime to a literal, named constant or figurative constant. Note: Runtime initialization takes place after static intitialization. A special value of JOBRUN can be used in Factor 1 of a MOVE, MOVEL or TEST operation. This indicates that the separator of the field being described is based on the run-time job attributes, TIMSEP. Timestamp fields have a predetermined size and format. They can be defined on the definition specification. Timestamp data must be in the format Microseconds (.mmmmmm) are optional for timestamp literals and if not provided will be padded on the right with zeros. Leading zeros are required for all timestamp data. The default initialization value for a timestamp is midnight of January 1, 0001 (0001-01-01-00.00.00.000000). The HIVAL value for a timestamp is 9999-12-31-24.00.00.000000. The LOVAL value for timestamp is 0001-01-01-00.00.00.000000. When coding the timestamp format on a MOVE, MOVEL or TEST operation, separators are optional for character fields. To indicate that there are no separators, specify ISO0. For an example of how ISO is used without separators see TEST (Test Date/Time/Timestamp). To initialize the Timestamp field to the system date at runtime, specify INZ(SYS) on the definition specification. SYS cannot be used with a field that is exported. The Timestamp field can also be initialized at runtime to a literal, named constant or figurative constant. Note: Runtime initialization takes place after static intitialization. The object data type allows you to define a Java object. You specify the object data type as follows: In position 40, you specify data type O. In the keyword section, you specify the CLASS keyword to indicate the class of the object. Specify JAVA for the environment, and the class name. If the object is the return type of a Java constructor, the class of the returned object is the same as the class of the method so you do not specify the CLASS keyword. Instead, you specify the EXTPROC keyword with environment JAVA, the class name, and procedure name CONSTRUCTOR. An object cannot be based. It also cannot be a subfield of a data structure. If an object is an array or table, it must be loaded at runtime. Pre-run and compile-time arrays and tables of type Object are not allowed. Every object is initialized to NULL, which means that the object is not associated with an instance of its class. To change the contents of an object, you must use method calls. You cannot directly access the storage used by the object. Classes are resolved at runtime. The compiler does not check that a class exists or that it is compatible with other objects. You can use an object field in the following situations: Free-Form Evaluation You can use the EVAL operation to assign one Object item (field or prototyped procedure) to a field of type Object. Free-Form Comparison You can compare one object to another object. You can specify any comparison, but only the following comparisons are meaningful: Equality or inequality with another object. Two objects are equal only if they represent exactly the same object. Two different objects with the same value are not equal. If you want to test for equality of the value of two objects, use the Java equals method as follows: Equality or inequality with NULL. An object is equal to NULL if it is not associated with a particular instance of its class. Free-Form Call Parameter You can code an object as a parameter in a call operation if the parameter in the prototype is an object. Objects are not valid as input or output fields. Assignment validity is not checked. For example, RPG would allow you to assign an object of class Number to an object variable defined with class String. If this was not correct, a Java error would occur when you tried to use the String variable. Basing pointers are used to locate the storage for based variables. The storage is accessed by defining a field, array, or data structure as based on a particular basing pointer variable and setting the basing pointer variable to point to the required storage location. For example, consider the based variable MYFIELD, a character field of length 5, which is based on the pointer PTR1. The based variable does not have a fixed location in storage. You must use a pointer to indicate the current location of the storage for the variable. Suppose that the following is the layout of some area of storage: If we set pointer PTR1 to point to the G, If MYFIELD is now changed by an EVAL statement to HELLO, the storage starting at the J would change: Use the BASED keyword on the definition specification (see BASED(basingpointername) ) to define a basing pointer for a field. Basing pointers have the same scope as the based field. The length of the basing pointer field must be 16 bytes long and must be aligned on a 16 byte boundary. This requirement for boundary alignment can cause a pointer subfield of a data structure not to follow the preceding field directly, and can cause multiple occurrence data structures to have non-contiguous occurrences. For more information on the alignment of subfields, see Aligning Data Structure Subfields. The default initialization value for basing pointers is NULL. Note: When coding basing pointers, you must be sure that you set the pointer to storage that is large enough and of the correct type for the based field. Figure 96 shows some examples of how not to code basing pointers. Note: You can add or subtract an offset from a pointer in an expression, for example EVAL ptr ptr offset. When doing pointer arithmetic be aware that it is your responsibility to ensure that you are still pointing within the storage of the item you are pointing to. In most cases no exception will be issued if you point before or after the item. When subtracting two pointers to determine the offset between them, the pointers must be pointing to the same space, or the same type of storage. For example, you can subtract two pointers in static storage, or two pointers in automatic storage, or two pointers within the same user space. You set or change the location of the based variable by setting or changing the basing pointer in one of the following ways: Initializing with INZ(ADDR(FLD)) where FLD is a non-based variable Assigning the pointer to the result of ADDR(X) where X is any variable Assigning the pointer to the value of another pointer Using ALLOC or REALLOC (see ALLOC (Allocate Storage). REALLOC (Reallocate Storage with New Length). and the WebSphere Development Studio: ILE RPG Programmers Guide for examples) Moving the pointer forward or backward in storage using pointer arithmetic: (offset is the distance in bytes that the pointer is moved)

Comments

Popular posts from this blog

إنفرتير 1 دولر إن فوريكس

$ 100 لا إيداع مكافأة النقد الاجنبى من فيبو مجموعة الفوركس

ريجينس فوريكس كوربوراتيون فيلبينس سيك