Текущее время: Вс, сен 07 2025, 00:12

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Как передать переменную множество значений в FOX
СообщениеДобавлено: Пт, июл 27 2012, 16:26 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 29 2012, 15:16
Сообщения: 13
Добрый день, гуру!

Необходимо передать несколько значений переменных с листа в FOX.

Пробовал различные комбинации, такие как "," ", " ";" "; " но всё-равно при считывании данных система выдаёт ошибку, что значение больше 20 символов (Переменная, естественно, множество отдельных значений). Можно ли в FOX передать с листа множество значений, или он всегда просит только отдельное значение на вход :?:

Сразу вопрос номер 2 - функция планирования построена на тех.кубе с одной строчкой (чтобы 1 раз отрабатывала), однако необходимо запустить FM столько раз, сколько значений множественной переменной придёт. Поможет ли мне в этом какой-нибудь из FOREACH'ей, или это не получится :?:

Пример кода (Возможно ошибочного):

*DATA FORM TYPE I_FORM.
*DATA DEP TYPE I_DEP.
*DATA CY TYPE 0CALYEAR.
DATA STMCL TYPE I_ST_M_CL.

DATA FORMV TYPE I_FORM.
DATA DEPV TYPE I_DEP.
DATA CYV TYPE 0CALYEAR.
DATA STMCLV TYPE I_ST_M_CL.

FORMV = VARV ('I_VARFORM').
DEPV = VARV ('I_DEPT').
CYV = VARV ('I_CALYEAR').

FOREACH STMCL IN VARIABLE I_VAR_STMCL.

STMCLV = STMCL.

CALL FUNCTION ZI_COMM_TYPECHANGE
EXPORTING
I_FORM = FORMV
I_DEPARTAMENT = DEPV
I_CALYEAR = CYV
I_STMCLIENT = STMCLV.
ENDFOR.


Где I_ST_M_CL - множественная переменная! Признак в принципе был создан без основных данных.

Пожалуйста, кидайте сразу пример кода, если есть! :pivo:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как передать переменную множество значений в FOX
СообщениеДобавлено: Пн, июл 30 2012, 13:53 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, янв 25 2007, 09:57
Сообщения: 276
VARI (VARIABLE, IDX)
Или, если мсье знает толк в извращениях и переменная юзается в фильтре:
FOREACH IN SELECTION.

Вроде так.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как передать переменную множество значений в FOX
СообщениеДобавлено: Пн, июл 30 2012, 13:58 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, янв 25 2007, 09:57
Сообщения: 276
Ах да, если не знаем количество значений еще есть функция:
VARC - возвращает количество значений.
Ну вот такой пример кода

DATA L_C type 0CHAR
DATA L_I type I.
DATA l_J type I.

I = VARC (ZVAR).
DO I TIMES.
j = j + 1.
L_C = VARI(ZVAR,J).

CALL FUNCTION DUMMY
IMPORTING
l_CHAR = L_C.

ENNDO.


Последний раз редактировалось sirin Пн, июл 30 2012, 14:04, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как передать переменную множество значений в FOX
СообщениеДобавлено: Пн, июл 30 2012, 14:04 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, янв 25 2007, 09:57
Сообщения: 276
Еще 5 копеек, надо учесть что ФМ может вызываться чаще, чем будет количество записей в переменной. Это не касается Вашего случая с 1-й записью, но вообще этот код будет дергаться для каждого пакета данных, а их количество будет зависеть от количество уникальных комбинаций неизменяемых признаков, выходящих в фильтр. Как-то так.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как передать переменную множество значений в FOX
СообщениеДобавлено: Ср, ноя 28 2012, 08:26 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
FOR EACH ... IN VARIABLE


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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


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

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


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

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