Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 FOX для SAP BW  [new]
Злобин
Member

Откуда:
Сообщений: 185
Здравствуйте!Работаю в SAP BW. Пишу функцию в bps, c FOX никогда не работал, да и с bps немного. Необходимо реализовать такую функцию ( с помощью FOX). Методологически все понятно, вопрос в синтаксисе и возможностей FOX.
Есть ряд позиций , входящих в иерархию.
Проверяются пары значений, ограниченные подпозициями, как указано в исходных данных. Если первое значение <> 0 И второе значение == 0 (пусто), то на соответствующую результирующую подпозицию сохраняется значение 0,01.
Данное действие выполняется для каждой позиции, входящей в узел иерархии G001111000. Результирующая позиция формируется как ‘T’ + 9 символов исходной позиции справа.

Например: на Позиции 0101010000 подпозиции 100 значение <> 0 на 0101010000 подпозиции 200 значение =0. В этом случае создается позиция T101010000 ( как обрабатывать строку 0101010000: заменять первый символ на T?) со значением 0,01.

Есть ли в FOX массивы? как их объявлять и работать с ними?
29 июл 08, 17:46    [6000809]     Ответить | Цитировать Сообщить модератору
 Re: FOX для SAP BW  [new]
Dima T
Member

Откуда:
Сообщений: 15288
Злобин
Есть ли в FOX массивы?

Есть
Злобин
как их объявлять и работать с ними?

dimension MyArray[10]
MyArray [1] = 1
...

Только массивы в фоксе редко нужны, подобные задачи курсорами решать проще и быстрее работать будет. Ну и фокс поизучать для начала прийдется.
29 июл 08, 17:55    [6000898]     Ответить | Цитировать Сообщить модератору
 Re: FOX для SAP BW  [new]
Злобин
Member

Откуда:
Сообщений: 185
а как хотя бы строку обработать? из '0101010000' сделать 'T101010000'.
29 июл 08, 18:03    [6000985]     Ответить | Цитировать Сообщить модератору
 Re: FOX для SAP BW  [new]
Dima T
Member

Откуда:
Сообщений: 15288
Злобин
а как хотя бы строку обработать? из '0101010000' сделать 'T101010000'.

Var1 = '0101010000'
Var2 = 'T' + substr(Var1, 2)

PS Твой первый пост оформлен в духе форума "Работа", никто тут не захочет с нуля за тебя задачу целиком порешать, тут можно получить ответы на конкретные вопросы. Если перефразируешь вопрос с большей конкретикой, то будут конкретные ответы. Например определись как (в каком виде) исходные данные в фокс попадают, потом пиши - есть таблица (с примером заполнения) хочу получить из нее такую-то по таким-то правилам, не получается то-то.
29 июл 08, 18:12    [6001067]     Ответить | Цитировать Сообщить модератору
 Re: FOX для SAP BW  [new]
12345вышелзайчикпогулять
Guest
2 Злобин

возьми на работу фоксиста и не мучь себя
29 июл 08, 18:57    [6001336]     Ответить | Цитировать Сообщить модератору
 Re: FOX для SAP BW  [new]
Sergey Ch
Member

Откуда: Благовещенск
Сообщений: 8873
12345вышелзайчикпогулять
2 Злобин

возьми на работу фоксиста и не мучь себя

30 июл 08, 09:10    [6002384]     Ответить | Цитировать Сообщить модератору
 Re: FOX для SAP BW  [new]
Злобин
Member

Откуда:
Сообщений: 185
тогда начну по возрастающей
NAME = '0101010000'.
NAME = 'T' + SUBSTR(NAME, 2,9).

обработал имя позиции, как присвоить позиции с именем NAME значение?

 Если так 
{'Z4', NAME, '01','320',FPER,PLACE}=0.01.

то ругается, говорит что в формуле переменная должна иметь тип "позиция"

{'Z4',  'T101010000', '01','320',FPER,PLACE}=0.01.
А вот так работает...

Видимо существует функция, которая должна преобразовать NAME в тип "позиция".
30 июл 08, 11:22    [6003187]     Ответить | Цитировать Сообщить модератору
 Re: FOX для SAP BW  [new]
Злобин
Member

Откуда:
Сообщений: 185
эту проблему решил сам, извините тупанул...
30 июл 08, 11:37    [6003310]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить