| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		jamil Участник - экстремал
 
  Вступление в Клуб: 11.08.2014
  | 
		
			
				 Чт Апр 27, 2017 10:55   Импорт данных из txt | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Подскажите, пожалуйста, как из файла txt импортировать  данные в справочник IBSO?
 
Есть ли какие то примеры? | 
			 
		  | 
	 
	
		  | 
	 
	
		vtar Эксперт
 
  Вступление в Клуб: 20.03.2009
  | 
		
			
				 Чт Апр 27, 2017 11:29    | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				-- позиционный формат
 
PR_CRED::EXP_OP_DEBT
 
 
-- с разделителями
 
 
DEPN::Z3118300833 | 
			 
		  | 
	 
	
		  | 
	 
	
		yaffil Профи
 
  Вступление в Клуб: 18.08.2011
  | 
		
			
				 Чт Апр 27, 2017 11:36    | 
				     | 
			 
			
				Полезность: 2 
  | 
			 
			
				Есть
 
 
Проверка:
 
 	  | Код: | 	 		  
 
begin
 
   if p_message = 'DEFAULT' then
 
      P_FILE.[DST_DELETE] := true;
 
      P_FILE.[DST_MASK] := '*.*';
 
      P_FILE.[DST_PATH] := ::[SYSTEM_PARAMS].[GET]('PATH',null);
 
      P_FILE.[DST_TYPE] := true;
 
      P_FILE.[SRC_DELETE] := false;
 
      P_FILE.[SRC_MASK] := '*.*';
 
      P_FILE.[SRC_TYPE] := false;
 
      C_FIL := STDLIB.USERID.FILIAL;
 
      
 
   elsif p_message = 'VALIDATE' then
 
      if p_info = 'OK' then
 
         if P_FILE.[SRC_NAME] is null or P_FILE.[SRC_PATH] is null then   
 
            pragma error('Не указан файл для импорта');
 
         end if;
 
         
 
         if P_FILE.[SRC_TYPE] then
 
         P_FILE.[SRC_TYPE] := nvl(P_FILE.[SRC_TYPE], false);
 
         P_FILE.[DST_NAME] := P_FILE.[SRC_NAME];
 
         P_FILE.[DST_PATH] := P_FILE.[SRC_PATH];
 
         else P_FILE.[DST_NAME] := P_FILE.[SRC_NAME];
 
         end if;
 
         
 
      end if;   
 
   end if;
 
end;
 
 | 	  
 
Кусок тела 
 
 	  | Код: | 	 		  
 
file   integer;
 
vStr   varchar2(32000);
 
begin
 
   file := stdio.open(P_FILE.[DST_PATH], P_FILE.[DST_NAME], 'r');
 
   while stdio.get_line(file, vStr, false, stdio.WINTEXT) loop
 
 
vStr:=replace(replace(vStr,chr(10)),chr(13));
 
debug_pipe(vStr,0);
 
 
   end loop;
 
   stdio.close(file);
 
 
end;
 
 | 	  
 
Получаете vStr - это данные строки вашего файла; | 
			 
		  | 
	 
	
		  | 
	 
	
		jamil Участник - экстремал
 
  Вступление в Клуб: 11.08.2014
  | 
		
			
				 Чт Апр 27, 2017 11:55    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| спасибо Всем. Примеры помогли | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |