خواندن خطوط جداول

ساخت وبلاگ

آخرین مطالب

امکانات وب

برای خواندن یک خط از هر جدول ، از عبارت استفاده کنید:

جدول itab نتیجه کلید را بخوانید.

برای اینکه این بیانیه برای هر نوع جدول معتبر باشد ، باید با استفاده از کلید و نه فهرست ، ورودی را مشخص کنید. شما کلید را در قسمت اصلی بیانیه مشخص می کنید. قسمت نتیجه می تواند گزینه پردازش دیگری را برای خطی که بازیابی می شود مشخص کند.

اگر سیستم ورودی پیدا کند ، SY-Subrc را صفر می کند ، اگر نه ، مقدار 4 را می گیرد ، تا زمانی که تحت تأثیر یکی از اضافات احتمالی نباشد. اگر جدول داخلی یک جدول فهرست باشد ، SY-TABIX روی شاخص خط بازیابی شده تنظیم شده است. اگر جدول دارای یک کلید غیر منحصر به فرد باشد و ورودی های تکراری وجود داشته باشد ، اولین ورودی خوانده می شود.

کلید جستجو ممکن است یا کلید جدول یا کلید دیگر باشد.

اگر ورودی های جداول استاندارد را با استفاده از یک کلید غیر از کلید پیش فرض بخوانید ، می توانید به جای جستجوی خطی معمولی از یک جستجوی باینری استفاده کنید.

با استفاده از کلید جدول

برای استفاده از کلید جدول ITAB به عنوان کلید جستجو ، کلید را به شرح زیر وارد کنید:

جدول itab را از نتیجه WA بخوانید.

جدول itab را با کلید جدول k بخوانید1= f1وادkn= fnنتیجه

در حالت اول ، WA باید یک منطقه کاری سازگار با نوع خط ITAB باشد. مقادیر زمینه های کلیدی از مؤلفه های مربوط به منطقه کار گرفته می شود.

در مورد دوم ، شما باید مقادیر هر زمینه کلیدی را صریح تهیه کنید. مجاز نیست چندین بار مشخصات کلیدی را مشخص کنید. اگر نام یکی از قسمتهای اصلی را تا زمان اجرا نمی دانید ، می توانید آن را به صورت پویا به عنوان محتوای یک قسمت n مشخص کنید1وادحرفnبا استفاده از (n1) = F1(N2) = F2اگر انواع داده های f1وادfnبا زمینه های کلیدی سازگار نیستند ، سیستم آنها را تبدیل می کند. اگر نوع ردیف جدول داخلی ساختار یافته نیست ، می توانید مقایسه ای را با جدول شبه مؤلفه_لین مشخص کنید.

جدول itab را با جدول کلید جدول_لین = نتیجه F بخوانید.

محتوای کل خط جدول با محتوای میدان f مقایسه می شود. اگر F با نوع خط جدول سازگار نباشد ، مقدار به نوع خط تبدیل می شود. کلید جستجو به شما امکان می دهد تا در جداول داخلی ورودی هایی را پیدا کنید که از نوع خط ساختاری برخوردار نیستند ، یعنی جایی که خط یک میدان واحد یا یک نوع جدول داخلی است.

If the line type of the inteal table contains object reference variables as component comp or if the entire line type is a reference variable, the attributes of the attr object to which the respective line reference points can be specified as key values using comp->attr or table_line->جاذبه

سیستم انواع جدول مربوطه را به شرح زیر جستجو می کند:

جستجوی خطی ، جایی که زمان اجرا در رابطه خطی با تعداد ورودی های جدول است.

جستجوی باینری ، جایی که زمان اجرا در رابطه لگاریتمی با تعداد ورودی های جدول است.

ورودی با استفاده از الگوریتم هش جدول داخلی یافت می شود. زمان اجرا مستقل از تعداد ورودی های جدول است.

با استفاده از یک کلید جستجوی متفاوت

جدول itab را با کلید k بخوانید1= f1وادkn= fnنتیجه

کلید جستجو شامل قسمتهای جدول دلخواه k است1وادknواداگر تا زمان اجرا نام یک مؤلفه را نمی دانید ، می توانید آن را به صورت پویا به عنوان محتوای یک قسمت n مشخص کنید1وادحرفnبا استفاده از (n1) = F1(N2) = F2اگر n1وادحرفnهنگام اجرای بیانیه خالی است ، قسمت جستجو نادیده گرفته می شود. اگر انواع داده های f1وادfnبا اجزای سازگار نیستند ، سیستم آنها را تبدیل می کند. با مشخص کردن افست و طول می توانید جستجو را به قسمتهای جزئی محدود کنید.

اگر نوع ردیف جدول داخلی ساخته نشده باشد ، می توانید مقایسه ای را با شبه ComponentTable_Line مشخص کنید. همچنین می توانید ویژگی های اشیاء را به عنوان کلیدها مشخص کنید.

جستجو برای همه انواع جدول خطی است. زمان اجرا در رابطه خطی با تعداد خطوط جدول است.

می توانید گزینه ای را مشخص کنید که سیستم را با ورود جدول که پیدا می کند مشخص می کند.

با استفاده از یک محل کار

با مشخص کردن نتیجه به شرح زیر می توانید ورودی جدول خوانده شده از جدول را در یک منطقه کار بنویسید:

جدول itab itab را به WA بخوانید [مقایسه f1f2واد| همه زمینه ها] [حمل و نقل f1f2واد| همه زمینه ها | بدون زمینه].

اگر از مقایسه یا حمل و نقل استفاده نمی کنید ، محتوای خط جدول باید به نوع داده منطقه کار تبدیل شود. اگر مقایسه یا حمل و نقل را مشخص کنید ، نوع خط و منطقه کار باید سازگار باشد. شما همیشه باید از یک منطقه کاری استفاده کنید که با نوع خط جدول داخلی مربوطه سازگار باشد.

اگر از علاوه بر مقایسه استفاده می کنید ، قسمت های جدول مشخص شده f1وادfnاز نوع خط ساختاری قبل از حمل و نقل با زمینه های مربوط به منطقه کار مقایسه می شود. اگر از گزینه All Fields استفاده می کنید ، سیستم همه مؤلفه ها را مقایسه می کند. اگر سیستم با کلید کلید مشخص شده ورودی پیدا کند و اگر محتوای قسمتهای مقایسه شده یکسان باشد ، SY-Subrc روی 0 تنظیم می شود. اگر محتوای قسمتهای مقایسه یکسان نباشد ، SY-Subrc مقدار 2 را برمی گردانداگر سیستم نتواند ورودی را پیدا کند ، SY-Subrc روی 4 تنظیم شده است. اگر سیستم ورودی پیدا کند ، بدون در نظر گرفتن نتیجه مقایسه ، آن را در منطقه کار هدف کپی می کند.

اگر از افزودنی حمل و نقل استفاده می کنید ، می توانید زمینه های جدول را مشخص کنید1وادfnاز نوع خط ساختاری که می خواهید به محل کار منتقل کنید. اگر مزارع را بدون حمل و نقل مشخص کنید ، محتوای همه زمینه ها منتقل می شوند. اگر هیچ زمینه ای را مشخص نکنید ، هیچ زمینه ای منتقل نمی شود. در حالت دوم ، عبارت Read فقط زمینه های سیستم SY-Subrc و Sy-Tabix را پر می کند. مشخص کردن محل کار WA با حمل و نقل هیچ زمینه ای غیر ضروری است و باید حذف شود.

در هر دو مورد ، می توانید زمینه های F را نیز مشخص کنید1وادfn… با استفاده از پویا (n1) (n2) ... به عنوان محتوای یک زمینه n1وادحرفnواداگر n1وادحرفnهنگام اجرای این بیانیه خالی است ، نادیده گرفته می شود. همچنین می توانید همه زمینه های F را محدود کنید1وادfnبا مشخص کردن افست و طول به زیرزمین ها.

با استفاده از یک نماد میدانی

با مشخص کردن نتیجه به شرح زیر می توانید ورودی جدول خوانده شده از جدول را به یک نماد فیلد اختصاص دهید:

جدول itab itab را بخوانید.

پس از بیانیه خوانده شده ، نماد فیلد به خط جدول اشاره می کند. اگر نوع خط ساختار یافته است ، هنگام اعلام آن باید همان نوع را برای نماد فیلد مشخص کنید. این به شما امکان می دهد تا به مؤلفه های نماد فیلد بپردازید. اگر نمی توانید نوع را به صورت آماری مشخص کنید ، باید از نمادهای میدانی بیشتر و تکنیک اختصاص اجزای سازه برای پرداختن به مؤلفه های ساختار استفاده کنید.

برای کسب اطلاعات بیشتر در مورد اختصاص خطوط جدول به نمادهای میدانی ، با استفاده از نمادهای میدانی به دسترسی مراجعه کنید.

داده ها: شروع خط ، Col1 نوع I ، Col2 Type I ، پایان خط.

داده های ITAB مانند جدول خط خط با کلید منحصر به فرد Col1.

4 بار انجام دهیدLine-Col1 = SY-Index. line-col2 = sy-index ** 2. خط را در جدول itab. enddo وارد کنید.

line-col1 = 2. line-col2 = 3.

جدول itab را از خط به خط مقایسه Col2 بخوانید.

بنویسید: 'sy-subrc =' ، sy-subrc. skip. write: / line-col1 ، line-col2.

خروجی لیست:

این برنامه با لیستی از شماره های مربع ، یک جدول هشده را پر می کند. خط منطقه کار ، که با نوع خط سازگار است ، با شماره های 2 و 3 پر شده است. readStatement خط جدول را می خواند که در آن قسمت اصلی Col1has همان مقدار در منطقه کار است و آن را در کار کپی می کندحوزه. SY-Subrcequals 2 ، زیرا تعداد مختلفی در مقایسه با Field Col2 یافت می شود.

داده ها: شروع خط ، Col1 نوع I ، Col2 Type I ، پایان خط.

داده های ITAB مانند جدول مرتب شده خط با کلید منحصر به فرد Col1.

4 بار انجام دهیدLine-Col1 = SY-Index. line-col2 = sy-index ** 2. خط را در جدول itab. enddo وارد کنید.

جدول itab را با جدول کلید col1 = 3 به خط حمل و نقل col2 بخوانید.

بنویسید: 'sy-subrc =' ، sy-subrc ، / 'sy-tabix =' ، sy-tabix. skip. write: / line-col1 ، line-col2.

خروجی لیست:

sy-subrc = 0sy-tabix = 3

این برنامه یک جدول مرتب شده را با لیستی از شماره های مربع پر می کند. در بیانیه خوانده شده ، خط جدول که در آن زمینه کلید Col1 دارای مقدار 3 است ، می خواند. فقط محتوای COL2IS در خط منطقه کار کپی شده است. SY-Subrc دارای مقدار صفر و Sy-Tabix مقدار 3 است ، زیرا Itabis یک جدول فهرست است.

داده ها: شروع خط ، Col1 نوع I ، Col2 Type I ، پایان خط.

داده های ITAB مانند جدول مرتب شده خط با کلید منحصر به فرد Col1.

4 بار انجام دهیدLine-Col1 = SY-Index. line-col2 = sy-index ** 2. خط را در جدول itab. enddo وارد کنید.

جدول itab را با کلید col2 = 16 حمل و نقل بدون زمینه بخوانید.

بنویسید: 'sy-subrc =' ، sy-subrc ، / 'sy-tabix =' ، sy-tabix.

خروجی لیست:

sy-subrc = 0sy-tabix = 4

این برنامه یک جدول مرتب شده را با لیستی از شماره های مربع پر می کند. در بیانیه خوانده شده ، خط جدول را می خواند که در آن زمینه کلید Col2 دارای مقدار 16 است. از کلید جدول استفاده نمی کند. هیچ زمینه ای در یک محل کار کپی نمی شود یا به یک نماد میدانی اختصاص نمی یابد. Sy-Subrcis Zero ، از زمان پیدا شدن یک خط ، و Sy-Tabix چهار است.

داده ها: شروع خط ، Col1 نوع I ، Col2 Type I ، پایان خط.

داده های ITAB مانند جدول خط خط با کلید منحصر به فرد Col1.

نماد میدانی مانند خط Itab.

4 بار انجام دهیدLine-Col1 = SY-Index. line-col2 = sy-index ** 2. خط را در جدول itab. enddo وارد کنید.

جدول ITAB را با جدول جدول COL1 = 2 بخوانید.

حلقه در itab به خط. نوشتن: / line-col1 ، line-col2. endloop.

خروجی لیست:

1 1 2 100 3 9 4 16

این برنامه با لیستی از شماره های مربع ، یک جدول هشده را پر می کند. در بیانیه خوانده شده ، خط جدول را می خواند که در آن زمینه کلید Col1 دارای مقدار 2 است و آن را به نماد فیلد اختصاص می دهد. سپس این برنامه مقدار 100 را به COL2 COL2 اختصاص می دهد. این همچنین زمینه جدول مربوطه را تغییر می دهد.

می توانید با استفاده از شاخص آنها از عبارت Read برای خواندن خطوط در جداول استفاده کنید. برای خواندن یک خط واحد از یک جدول فهرست ، از عبارت استفاده کنید:

جدول ITAB INEDEX نتیجه IDX را بخوانید.

سیستم خط را با index idx از جدول itab می خواند. این سریعتر از جستجوی کلید است. قسمت نتیجه می تواند گزینه پردازش دیگری را برای خطی که بازیابی می شود مشخص کند.

اگر یک ورودی با شاخص مشخص شده پیدا شود ، میدان سیستم SY-SUBRC روی 0 تنظیم شده است و SY-TABIXCONTANS شاخص آن خط را تنظیم می کند. در غیر این صورت ، SY-SUBRC روی مقدار دیگری غیر از 0 تنظیم شده است.

اگر IDX کمتر یا برابر با 0 باشد ، یک خطای زمان اجرا رخ می دهد. اگر IDX از تعداد خطوط جدول بیشتر باشد ، SY-Subrc روی 4 تنظیم شده است.

داده ها: شروع خط ، Col1 نوع I ، Col2 Type I ، پایان خط.

داده های ITAB مانند جدول مرتب شده خط با کلید منحصر به فرد Col1.

نماد میدانی مانند خط Itab.

20 بار انجام دهید. Line-Col1 = SY-Index. line-col2 = 2 * sy-index. خط ضمیمه به itab. enddo.

جدول ITAB را بخوانید فهرست 7.

نوشتن: S Y-Subrc ، S y-tabix. Write: / -Col1 ، -Col2.

خروجی لیست:

مثال یک جدول مرتب شده Itaband آن را با 20 خط پر می کند. خط با فهرست 7 خوانده می شود و به نماد فیلد اختصاص می یابد.

آموزش کار در فارکس...
ما را در سایت آموزش کار در فارکس دنبال می کنید

برچسب : نویسنده : Mihayloo بازدید : <-PostHit-> تاريخ : شنبه 13 اسفند 1401 ساعت: 23:49