YarrowSoft

Архив : RE: [cache_ru] Import global Как импортировать файл ? : группа пользователей постреляционной СУБД Cache


[Предыдущее - Re: [cache_ru] Import global Как импортировать файл ?] [Следующее - RE: [cache_ru] Import global Как импортировать файл ?]


Письмо #5239

Тема: RE: [cache_ru] Import global Как импортировать файл ?
Начало этой темы: RE: [cache_ru] Import global Как импортировать файл ?
Это ответ на: нет
Ответ на это письмо: нет
От: zan Дата: 09 Октября 2006 22:16

Добрый день

Спасибо за цитирование меня! :)
Но мы теперь полностью перешли на формат $system.OBJ.Export|Load, что позволяет экспортировать и импортировать любые элементы Каше...

С уважением
Кривошеев Сергей
ICQ # 271037203


> -----Original Message-----
> From: E-Mail
> [mailto:E-Mail] On Behalf Of Алексей Маслов
> Sent: Monday, October 09, 2006 12:18 PM
> To: E-Mail
> Subject: Re: [cache_ru] Import global Как импортировать файл ?
>
>
> Всем привет!
>
> Слишком много ошибок, чтобы их исправлять :) Привожу полное решение от
> Сергея Кривошеева, публиковавшееся когда-то здесь же.
> Могу добавить, что для переноса в 5.2 придется глобал %utility
> заменить на ^CacheTempJ , а также подправить имена утилит: %Wgr ->
> %SYS.Wgr и т.д. Протестировать, конечно же, сперва надо в терминале.
>
> И еще: как представляется, если нужна скорость/компактность файла
> экспорта, лучше уж использовать блочный формат (GOF) (тип 7 в
> терминологии %Wgs/%Wgr), если же это не критично, то предпочтительнее
> XML (т.к. документировано и официально поддерживается начиная с 5.0).
>
> Удачи,
>  Алексей
>
> = ==
> Это работало в каких-то четверках но перестало работать на
> 100% начиная с кокой-то пятерки :(
>
> В тексте есть использование других наших программ но это
> можно заменить...
>  
> ASYS4 ;Кривошеев С.А.;Системные процедуры и функции;;[
> 23/10/2003 8:54 ]
> Ri(File,Typ)                           ; * Импорт программ *
>  N case
>  ; File  - имя файла
>  ; Fetch - строка шаблон
>  s Typ=$g(Typ,"Cache")
>  s File=File_":(""RU"")"
>  S case=$$rload^%Wr(File,Typ,0,0,0,0,0,0)
>  Q case
> Ro(File,Name,Type,Descrip)             ; * Экспорт программ *
>  N case,type,name
>  ; File    - имя файла
>  ; Name    - имя переменной со списком программ @Name@(i)="rtn.INT"
>  ; Type    - тип программ INT, MAC, OBJ
>  ; Descrip - коментарий
>  S Name=$G(Name)
>  S Type=$G(Type,"INT")
>  S Descrip=$G(Descrip)
>  S name=$NA(^%utility($J))
>  I Name'="" K @name M @name=@Name
>  S type="Cache"
>  S:Type="OBJ" type="Object"
>  S case=$$rsave^%Wr(Type,File_":(""NW"")",Descrip,type,0,0,1)
>  Q case
> FetchR(Fetch,Name,Type)                ; * Выбрать программы
> по шаблону *
>  N case,name,nam,i
>  ; Fetch - Строка шаблон "rtn,a*,'ab,'ac"
>  ; Name  - имя переменной результата
>  ; Type  - переделывать результат в @Name@(i)=rtn или
> оставить @Name@(rtn)=""
>  S Fetch=$G(Fetch,"*")
>  S Name=$G(Name)
>  S Type=$G(Type,1)
>  K:Name'="" @Name
>  S name=$NA(^%utility($J))
>  K @name
>  S case=$$rsel^%Wr(Fetch)
>  Q:'case 0
>  I Type=0 M:Name'="" @Name=@name K:Name'="" @name Q case
>  S:Name="" Name=name
>  S nam=""
>  F  S nam=$O(@name@(nam)) Q:(nam="")!(+nam=nam)  S
> @Name@($I(i))=nam K @name@(nam)
>  K:Name'=name @name
>  Q case
> Gi(File,Fetch,Scr)                     ; * Импорт глобалов
> тип 5 Cache *
>  N case,name,IO
>  ; File  - имя файла
>  ; Fetch - строка шаблон "^glb"_$C(13,10)_"^tmp*"
>  ; Scr   - вывод на экран
>  S Fetch=$G(Fetch,"*")
>  S Scr=$G(Scr,0)
>  S IO=Scr
>  S case=$$main^%Wgr(File_":(""VR"")",5,Fetch,0,0,0)
>  Q case
> Go(File,Name,Rm,Scr)                   ; * Экспорт глобала
> тип 5 Cache *
>  N case,name,IO,RM
>  ; File  - имя файла
>  ; Name  - имя переменной со списком глобалов @Name@(i)="^tmp(1,2"
>  ; Rm    -
>  ; Scr   - вывод на экран
>  S Name=$G(Name)
>  S Rm=$G(Rm,80)
>  S Scr=$G(Scr,0)
>  S name=$NA(^%utility($J))
>  M:Name'="" @name=@Name
>  S IO=Scr
>  S RM=Rm
>  S case=$$main^%Wgs(File_":(""VNW"")",5,"",0,0)
>  Q case
> Gif(File,Del,Fetch,Name,Scr)           ; * Импорт глобалов
> тип 7 Cache Block *
>  N case,name,IO
>  ; File  - имя файла
>  ; Del   - удалять глобалы
>  ; Fetch - строка шаблон "^glb"_$C(13,10)_"^tmp*"
>  ; Name  - имя переменной со списком глобалов @Name@("glb")=""
>  ; Scr   - вывод на экран
>  S Fetch=$G(Fetch,"*")
>  S Name=$G(Name)
>  S Scr=$G(Scr,0)
>  S Del=$G(Del,1)
>  S name=$NA(^%utility($J))
>  S IO=Scr
>  D Gif1
>  Q:case=0 0
>  D:Del Gif2
>  S case=$$main^%Wgr(File_":(""RU"")",7,Fetch,0,0,0)
>  Q case
> Gif2                                   ; удаление глобалов
>  N var,nam
>  S var=""
>  F  S nam=$O(@name@(var)) Q:var=""  S nam="^"_var K @nam
>  Q
> Gif1                                   ; прочитать заголовок из файла
>  N i,r
>  S case=$$header^%Wgr(File_":(""UR"")",7,0)
>  Q:case=0
>  I Name'="" Q:Name=1  K @name M @name=@Name Q
>  S case=$P(case,$C(22,35,1),2)
>  K @name
>  S r=$C(19,94,1)
>  F i=1:1:$L(case,r)-1 S @name@($P(case,r,i))=""
>  Q
> Gof(File,Comment,Name,Scr)             ; * Экспорт глобалов
> тип 7 Cache Block *
>  N case,name,IO
>  ; File    - имя файла
>  ; Comment - строка коментария к данным
>  ; Name    - имя переменной со списком глобалов @Name@(i)="^glb"
>  ; Scr     - вывод на экран
>  S Comment=$G(Comment)
>  S Name=$G(Name)
>  S Scr=$G(Scr,0)
>  S name=$NA(^%utility($J))
>  M:Name'="" @name=@Name
>  S IO=Scr
>  S case=$$main^%Wgs(File_":(""WNU"")",7,Comment,0,0)
>  Q case
> GoMSM(Fetch,File,Scr)                  ; * Экспорт глобалов в
> формате %GS MSM *
>  n ok,name,glb,i
>  s Scr=$g(Scr,1)
>  s File=$$FOpen^ASYS(File)
>  i File="" q:$q 0 q
>  s ok=$$FetchG(Fetch)
>  i 'ok q:$q 0 q
>  S name=$NA(^%utility($J))
>  w:Scr !,"Запись глобалов",!
>  d BEGTXT
>  s i=0
>  s glb=""
>  f  s glb=$o(@name@(glb)) q:glb=""  d NEWGLB
>  d END("**")
>  c File
>  w !,"Запись завершена! Записан(о) ",i," глобал(а)"
>  q:$q 1
>  q
> BEGTXT                                 ; Начальный текст
>  n txt
>  s txt=$$Time^zfunc()_" "_$$Date^zfunc()_" OOO NTC Air, 2003"
>  d USE^ASYS3(File)
>  w txt,!
>  w "",!
>  d USE^ASYS3()
>  q
> NEWGLB                                 ; Очередной глобал
>  n uz,val
>  s i=i+1
>  s uz=@name@(glb)
>  w $$PadR^zfunc(uz,10)
>  s val=$d(@uz)
>  i (val=1)!(val=11) d W(uz)
>  f  s uz=$q(@uz) q:uz=""  d W(uz)
>  d END("*")
>  q
> END(Txt)                               ; Записать концовку
>  d USE^ASYS3(File)
>  w Txt,!
>  w Txt,!
>  d USE^ASYS3()
>  q
> W(Name)                                ; Запись узла
>  d USE^ASYS3(File)
>  w Name,!
>  w @Name,!
>  d USE^ASYS3()
>  q
> FetchG(Fetch,Name,Type)                ; * Выбрать глобалы по
> шаблону *
>  N count,name,i,nam
>  ; Fetch - Строка шаблон "glb;a*;'ab;'ac"
>  ; Name  - имя переменной результата
>  ; Type  - переделывать результат в @Name@(i)=glb или
> оставить @Name@(glb)=""
>  S Fetch=$G(Fetch,"*")
>  S Name=$G(Name)
>  S Type=$G(Type,1)
>  K:Name'="" @Name
>  S name=$NA(^%utility($J))
>  K @name
>  S count=$$Fetch^%GD(Fetch,1,0)
>  I $I=2 K ^%utility("SPOOL")
>  Q:'count 0
>  I Type=0 M:Name'="" @Name=@name K:Name'="" @name Q count
>  S:Name="" Name=name
>  S nam=""
>  F  S nam=$O(@name@(nam)) Q:(nam="")!(+nam=nam)  S:$D(@nam)
> @Name@($I(i))=nam K @name@(nam)
>  K:Name'=name @name
>  Q count
>
>
>
>  
> Yahoo! Groups Links
>
>
>
>
>
>
>
>


[2000|2001|2002|2003|2004|2005|2006|2007|2008] [Январь|Февраль|Март|Апрель|Май|Июнь]
[01|02|03|04|05|06]

Error. Page cannot be displayed. Please contact your service provider for more details. (10)