Include - это отдельные файлы, позволяющие разбить большую программу на более мелкие части.
Это служит для лучшей читаемости программы и возможности повторного использования кода.
Например, если программа называется
ZEKZSR_RECALC_INV_AMOUNT, она может состоять из нескольких Include
ZEKZSR_RECALC_INV_AMOUNT_FORM - подпрограммы
ZEKZSR_RECALC_INV_AMOUNT_SCCR - элементы селекционного экрана
ZEKZSR_RECALC_INV_AMOUNT_TOP - глобальные данные
ZEKZSR_RECALC_INV_AMOUNT_PAI - Process after Input модули
ZEKZSR_RECALC_INV_AMOUNT_PBO - Process beforу output модули.
Главная программа будет содержать:
Code:
REPORT ZEKZSR_RECALC_INV_AMOUNT.
INCLUDE <icon>.
INCLUDE OLE2INCL.
INCLUDE ZEKZSR_RECALC_INV_AMOUNT_TOP
INCLUDE ZEKZSR_RECALC_INV_AMOUNT_FORM
INCLUDE ZEKZSR_RECALC_INV_AMOUNT_SCCR
INCLUDE ZEKZSR_RECALC_INV_AMOUNT_PAI
INCLUDE ZEKZSR_RECALC_INV_AMOUNT_PBO
INITIALIZATION.
...
INCLUDE OLE2INCL - общие данные для работы с интерфейом OLE2 (для доступа к приложениям на персональном компьютере, включая Excel, WinWord) хранятся в одном файле, а используются во многих программах. Достаточно внести исправления в одном include и они будут применены во всех других программах, включающих в себя этот include. Если бы общие данные небыли вынесены в include, пришлось бы вносить изменения в большое количество программ.
PS: В SAP include и программы хранятся не в файлах, а в базе данных.
Добрый день.
Показали исходники одного созданного пакетника, не могли бы пояснить несколько вопросов?
1)no standart page heading line-size 255- означает нестандартная длина данных?
2)"data:" - это объявление переменных?
3)"begin of tab occurs 0
end of..."
Это объявление таблицы?
Непонятно выражение "occurs 0"?
4)"selection-screen begin of...
selection-screen end of...
at selection-screen output.
ctu = X
ctumode = E.
что это означает? Вывод выделения на экран?
5)При объявлении переменной - n(5) пятерка в скобках означает количество разрядов?
6)"call function" вызов или объявление функции?
7)В пакетнике используется цикл
Loop at ...
n=n+1
...
endloop
В то же время в самом теле цикла не вижу переменной "n", а только выражения типа perfom
bdc_dynpro using SAPMILJ0 1110 какого то инклюда, в них как то учитывается "n"?
Спасибо за участие.
Думаю, вам стоит посмотреть ответы в книге, помимо ответов там есть объяснение и примеры. Это лучше для изучения и понимания.
http://www.sapnet.ru/abap21day/
Quote:
7)В пакетнике используется цикл
Loop at ...
n=n+1
...
endloop
В то же время в самом теле цикла не вижу переменной "n", а только выражения типа perfom
bdc_dynpro using SAPMILJ0 1110 какого то инклюда, в них как то учитывается "n"?
Значит переменная объявлена выше по коду или в инклюде. Если Вы находитесь в редакторе se38 (se80), по двойному шелчку по переменной 'n' перейдете к месту, где она объявлена в операторе DATA.
Внутри подпрограммы bdc_dynpro переменная 'n' может быть видима, если она объявлена в глобальной области видимости.
Last edited by Lord on Sun Feb 03, 2008 2:08 pm; edited 1 time in total
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.