[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Gdzie mozna znalezc opis gramatyki???
Tomasz Fidecki wrote:
>
> Witam.
>
> Poszukuje PELNEGO opisu gramatyki 4GL Progressa. Chce uniknac
> niespodzianek typu niemoznosc uzycia CAN-FIND w skladni OPEN QUERY. Z tego
> co widze zawodnicy z PSC dosc swobodnie traktuja "expression" w zaleznosci
> od kontekstu.
>
> W zwiazku z powyzszym mam nastepujace zadanie:
>
> +------+ lezy w +-----------+
> | kosz |------------------------<| truskawka |
> +------+ zawiera +-----------+
>
> ot taka sobie standardowa relacja 1:wiele
>
> Chcialbym otworzyc browser z danymi o koszach, ale warunek ma
> dotyczyc truskawki. Innymi slowy np. przegladarka koszy, w ktorych
> leza TYLKO czerwone truskawki. (zalozenie: w koszu moga lezec
> czerwone i zielone truskawki)
>
> Pierwsze podejscie:
> OPEN QUERY q1 FOR EACH kosz WHERE NOT CAN-FIND(truskawka OF kosz
> WHERE truskawka.kolor <> "czerwona")
> Pudlo - Progress nie pozwala uzywac CAN-FIND w skladni OPEN QUERY. W
> zwyklym grupowaniu FOR EACH taki manewr przechodzi.
> Drugie podejscie:
> No wlasnie... za prawidlowe odpowiedzi wysylam zagraniczna
> kolorowa pocztowke.
> Za prawidlowa odpowiedz uznajemy taka, ktora nie uzywa browsera w
> wersji 6.
>
> Pozdrawiam serdecznie
>
> Tomasz Fidecki phone (voice) +48 22 6404728
> Financial Services LTD mailto:tomek@fsl.com.pl
> Marynarska 21
> 02-674 Warsaw Poland
Moze ja czegos nie rozumiem, ale problem wydaje sie prosty
def query q for kosz,truskawka.
open query q for each kosz no-lock,
each truskawka of kosz no-lock where kolor="czerwony".
A w browserze mozna wyswietlic tylko dane o koszach.
Albo druga metoda. Jezeli uparles sie, zeby otwierac query tylko dla
kosza, to mozna zrobic tak:
Open Query kosz For Each kosz.
i wstawic trigger
On Find Of kosz run proc.
procedure proc:
find first truskawka of kosz where kolor="czerwony".
if not available truskawka then return error.
end.
Trzeba pamietac, zeby przy wyjsciu z procedury wstawic
on find of kosz revert.