Shurup's blog 
					Начало
					Mon Jul 21, 2008 9:28 am
					
  
					Решил было запостить на Форум, но все заняты своими делами. Тем более мой опыт программирования в ABAP не позволяет ПОКА задавать мне более корректные вопросы,
 
вот ссылка
 
http://www.sapnet.ru/viewtopic.php?t=2394
 
Вобщем решил делать так!
 
1) Обрабатывать ПОКА только Исходящие документы. Во-первых их больше.
 
2) Сделал 3 таблицы:
 
1-ая Таблица Заголовков Выписки Клиент-Банк (далее К-Б)
 
2-ая Таблица самих Записей Выписки К-Б
 
3-ая Таблица Настроек. Она содержит параметры которые я записал у бухгалтера, когда она лепит документы (транзакции) 
									   
  
				   
					 					 
					
					The Trackback URL for this entry is:
					http://www.sapnet.ru/trackback.php?e=26
  
				
				 
				
					
						| Author | 
						Message | 
					 
										
						
						Shurup Участник
  Joined: 10 Apr 2008 Posts: 5 Location: Глазов View Blog
 
  | 
						
						
							
								
								 Posted: Mon Jul 21, 2008 9:43 am    Post subject:  | 
								    | 
							 
						 
							 
							Сделал BDC Тр.F-02. Самый простой вид Исходящих документов - Перечисление зарплаты. У нас за это отвечает прямая проводка в Гл.Книге. Как у остальных, интересно?
 
Из новшеств на седняшний день научился использовать
 
1) вызов метода  call method cl_gui_frontend_services=>gui_upload
 
2) динамический вызов нужной транзакции  perform (locl_Z1CCBEX_EQ_TAB-DynPro_call) in program z1835_sb_cl.
 
3) приделал обработку try / catch
 
4) научился сохранять номер документа 
 
* Надо взять номер документа, который будет создан в R/3
 
clear n_b_doc.
 
    CALL TRANSACTION 'F-02' USING BDCDATA MODE 'E'.
 
    if sy-subrc eq 0.
 
      GET PARAMETER ID 'BLN' FIELD n_b_doc.
 
      write: / 'СООБЩЕНИЕ П/пр F-02. BDC транз. F-02 выполнен! Документ из Выписки Номер',
 
               locl_Z1CCBEX_BROWSE-VBLNR,
 
               'обработан. Создан FI документ R/3',
 
               n_b_doc.						 | 
					 
					
						| Back to top | 
						
							            						 | 
					 
					
						  | 
					 
										
						
						Shurup Участник
  Joined: 10 Apr 2008 Posts: 5 Location: Глазов View Blog
 
  | 
						
						
							
								
								 Posted: Mon Jul 21, 2008 10:03 am    Post subject:  | 
								    | 
							 
						 
							 
							Иду дальше. 
 
Берем Исходящие Документы типа - За расчетные услуги банку, Комиссии за обналичивание чеков и др. комиссии банку.
 
BDC для них МОЖНО содать, несмотря на то, что в начале я писал что обработать Открытие позиции типа очччсложно. Для этого добавил поле в Настроечную таблицу поле LIFNR элемент данных LIFNR. Т.е. буду хранить документ, созданный в транзакции F-43, а потом искать его в Открытых позициях Тр.F-53.
 
A! Забыл сказать, что этот тип документов у нас отрабатывается вот этими 2-мя транзакциями  						 | 
					 
					
						| Back to top | 
						
							            						 | 
					 
					
						  | 
					 
										
						
						Shurup Участник
  Joined: 10 Apr 2008 Posts: 5 Location: Глазов View Blog
 
  | 
						
						
							
								
								 Posted: Mon Jul 21, 2008 12:26 pm    Post subject:  | 
								    | 
							 
						 
							 
							 	  | Quote: | 	 		   а потом искать его в Открытых позициях Тр.F-53. 
 
 | 	  
 
Не надо искать, надо передавать как праметр п п/прогр. BDC F-53						 | 
					 
					
						| Back to top | 
						
							            						 | 
					 
					
						  | 
					 
										
						
						Shurup Участник
  Joined: 10 Apr 2008 Posts: 5 Location: Глазов View Blog
 
  | 
						
						
							
								
								 Posted: Wed Jul 23, 2008 7:10 am    Post subject:  | 
								    | 
							 
						 
							 
							Вчера возникла проблема, которую я пока не знаю как решить. А проблема такая. Из программы динамически вызывается п/программа, назовем ее F-43. Она изменяет глобальнубю переменную data n_b_doc like bseg-BELNR. Номер созданного документа, который является документом Открытой Позиции.
 
Далее из F-43 динамически вызывается п/программа F-53, для которой тоже использует переменную n_b_doc. для поиска. Т.е. F-53 это BDC и внем есть вызов Поиска документа по № док.
 
Так вот проблема, BDC безсистемно (каждый раз по разному) останавливается на шаге ввода Номера документа для поиска!!! Как будтоб в переменной n_b_doc значение Space! 
 
Трассировка в debugger доказывает, что не для всех итераций F-53 переменная n_b_doc имеет значение! ПОЧЕМУ!!!???????
 
Мысли в слух. 1) Может п/программа F-53 не сразу видит те документы, которые были созданы в F-43.
 
 Решение для 1) Пробуем заврешить F-43 полностью, и 
 
потом только вызвать F-53.\
 
2) Криво записан BDC для поиска в F-53
 
 Решение для 2) Еще раз перезаписать BDC Транз. F-53						 | 
					 
					
						| Back to top | 
						
							            						 | 
					 
					
						  | 
					 
										
						
						Shurup Участник
  Joined: 10 Apr 2008 Posts: 5 Location: Глазов View Blog
 
  | 
						
						
							
								
								 Posted: Wed Jul 23, 2008 9:08 am    Post subject:  | 
								    | 
							 
						 
							 
							Такое впечателеие, что когда п/пр. F-43 создает в Тр.F-43 документы, не все они успеваю попасть в табл. Открытые позиции.
 
Может сначала прокурутить тр.F-43 по всем документам, а потом F-53?						 | 
					 
					
						| Back to top | 
						
							            						 | 
					 
					
						  | 
					 
																				
						 | 
					 
				 
														 Russian ABAP Developer's Club Forum Index
						-> Blogs
						-> Shurup's blog
						-> Начало
  
				 | 
			 
		 
		 | 
	 
 		 |