Текущее время: Сб, авг 02 2025, 23:37

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: 2а параметра в методе
СообщениеДобавлено: Пн, авг 06 2007, 13:04 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
есть метод

Code:
CLASS-METHODS MMM IMPORTING
                     J TYPE I
                     RETURNING VALUE(BB) TYPE I.



хочу так

Code:
CLASS-METHODS MMM IMPORTING
                     J TYPE I
                     G TYPE i
                     RETURNING VALUE(BB) TYPE I.


не могу понять почему <я не знать русский языка> добавить 2й параметр. (G)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 14:08 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
На что ругается ?

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 14:14 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
Lars написал:
На что ругается ?


Ругается на что нужно PREFERED PARAMETER
Вопрос решил так
Code:
CLASS-METHODS MMM IMPORTING
                     J TYPE I
                     G TYPE I OPTIONAL
                     RETURNING VALUE(BB) TYPE I.


Но так и не понял что нужно указать после PREFERED PARAMETER


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 14:37 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
А что в implementation для метода ?

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 14:50 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
Lars написал:
А что в implementation для метода ?


ничего

Code:
METHOD MMM.
  BB = J + G.
ENDMETHOD.


вот так всеголишь.. создан был для теста..

Осваиваю как вызывать "функции" в выражениях.

Функции низя а статические классы можно.

получается так

Code:
DATA ZZ TYPE I.
ZZ = 45 + MYStatClass=>MMM( J = 45  G = 55  )



Освоил 8)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 15:12 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
apetrenko написал:
Вопрос решил так
Code:
CLASS-METHODS MMM IMPORTING
                     J TYPE I
                     G TYPE I OPTIONAL
                     RETURNING VALUE(BB) TYPE I.


Но так и не понял что нужно указать после PREFERED PARAMETER


Нужно глянуть более внимательно на описание класса, т.к. следующий вырожденный случай компилиться без проблем:
Code:
CLASS zzz DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS mmm IMPORTING
                         j TYPE i
                         g TYPE i
                         RETURNING value(bb) TYPE i.
ENDCLASS.                    "zzz DEFINITION
CLASS zzz IMPLEMENTATION.
  METHOD mmm.
    bb = 1.
  ENDMETHOD.                    "mmm
ENDCLASS.                    "zzz DEFINITION

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 17:46 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
Вопрос чисто по теории.
просто уехал с работы уже нет возможности проверить. (дома прочту ответ и буду обдумывать)

Как поведет себя статический класс.

запустил я сап.

вызвал например. MyCLASS=>STATICMETHOD = 1.


Открыл 2й пользователь где то туже программу. чему будет равен
STATICMETHOD ?

В других языках там понятно, там exe модуль и область видимости локальная.

а тут сап и сервер приложений.


или каждая сессия открытая это своя область видимости переменных?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 2а параметра в методе
СообщениеДобавлено: Пн, авг 06 2007, 18:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
apetrenko написал:
не могу понять почему <я не знать русский языка> добавить 2й параметр. (G)

Если optional помогло, то значит был вызов этого метода без второго параметра?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 18:14 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
apetrenko написал:
Открыл 2й пользователь где то туже программу. чему будет равен STATICMETHOD ?

Разве можно методу что-то присваивать?

В словаре статические аттрибуты класса могут быть только константами, типа cl_abap_char_utilities=>horizontal_tab.
Был неправ.


Последний раз редактировалось sibrin Вт, авг 07 2007, 07:55, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 18:26 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
sibrin написал:
apetrenko написал:
Открыл 2й пользователь где то туже программу. чему будет равен STATICMETHOD ?

Разве можно методу что-то присваивать?

В словаре статические аттрибуты класса могут быть только константами, типа cl_abap_char_utilities=>horizontal_tab.


ну пардон.. атрибут будем считать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 18:57 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
apetrenko написал:
Вопрос чисто по теории.
просто уехал с работы уже нет возможности проверить. (дома прочту ответ и буду обдумывать)

Как поведет себя статический класс.

запустил я сап.

вызвал например. MyCLASS=>STATICMETHOD = 1.

Открыл 2й пользователь где то туже программу. чему будет равен
STATICMETHOD ?

В других языках там понятно, там exe модуль и область видимости локальная.
И здесь всё почти так-же
Цитата:
а тут сап и сервер приложений.

или каждая сессия открытая это своя область видимости переменных?

Memory Structures of an ABAP Program - переменные, и статические, "живут" в пределах внутренней сессии.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 19:58 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
sibrin написал:
В словаре статические аттрибуты класса могут быть только константами, типа cl_abap_char_utilities=>horizontal_tab.


В основном они конечно константы, но ничего не мешает снять признак read-only, установить видимость public, чтобы атрибуты были доступны на запись из клиента. Если Вы это имели ввиду.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 20:09 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
vga написал(а):
sibrin написал:
В словаре статические аттрибуты класса могут быть только константами, типа cl_abap_char_utilities=>horizontal_tab.


В основном они конечно константы, но ничего не мешает снять признак read-only, установить видимость public, чтобы атрибуты были доступны на запись из клиента. Если Вы это имели ввиду.


да, было-бы жестоко их поставить перманенто в read-only.
зачем они тогда нужны будут?

Специально проверял седня. присваиваются им значения на ура.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 21:17 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Тут вопрос не видимости переменных, а принадлежности. Статические переменные принадлежат классу, а не конкретному экземпляру класа.
Советую ознакомиться с общим подходом к ООП, а затем прочитать BC404, чтобы понять как это реализовано в ABAP.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 07 2007, 09:13 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
__Gennady написал(а):
Тут вопрос не видимости переменных, а принадлежности. Статические переменные принадлежат классу, а не конкретному экземпляру класа.


Попробуйте указать видимость private и обратиться к атрибуту из клиента. Только ли в принадлежности дело?


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB