Текущее время: Сб, сен 06 2025, 20:26

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


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

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


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

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