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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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