Текущее время: Пн, авг 04 2025, 08:48

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Batch Input ошибка - длина значения ввода больше поля экрана.
СообщениеДобавлено: Ср, янв 16 2008, 18:27 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 10 2007, 23:29
Сообщения: 453
Откуда: и куда?
Пол: Мужской
Меняю батчевой программой 8 инфотип. Добавляю строку в q0008 приблизительно так:
Code:
DATA: oklad type q00008-betrg.
....
rp_provide_from_last p0008 space pn-begda pn-endda.

SELECT SINGLE * FROM t510 WHERE molga = '36' AND begda <= p0008-begda AND endda >= p0008-endda AND trfar = p0008-trfar
                              AND trfgb = p0008-trfgb  AND trfgr = p0008-trfgr AND trfst = p0008-trfst.


oklad = t510-betrg.

perform bdc_dynpro      using 'MP000800' '2000'.
perform bdc_field       using 'BDC_CURSOR'
                              'P0008-BEGDA'.
perform bdc_field       using 'BDC_OKCODE'
                              '=INSL'.
perform bdc_field       using 'BDC_CURSOR'
                              'Q0008-LGART(01)'.
perform bdc_field       using 'BDC_CURSOR'
                              'Q0008-BETRG(01)'.
perform bdc_field       using 'Q0008-LGART(01)'
                              '0010'.
perform bdc_field       using 'Q0008-BETRG(01)'
                              oklad.
....


однако в ходе выполнения программы вываливается такое вот сообщение:
Code:
S Поле Q0008-BETRG (1) (длина значения ввода больше поля экрана)

И собственно все, дальше программа не выполняется :(
Кто с таким сталкивался? Что это???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 16 2008, 18:30 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
А что из этого непонятно: длина значения ввода больше поля экрана? ;)

Кстати, сообщение с типом S. Т.е. батч выполнить можно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 16 2008, 18:34 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 10 2007, 23:29
Сообщения: 453
Откуда: и куда?
Пол: Мужской
В том то и прикол что не может оно быть больше! Ибо в поле Q0008-BETRG (1) записывается переменная типа Q0008-BETRG :shock:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 16 2008, 20:38 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
msv написал:
В том то и прикол что не может оно быть больше! Ибо в поле Q0008-BETRG (1) записывается переменная типа Q0008-BETRG :shock:

1) Зачем такой изврат, когда с инфотипами гораздо удобнее работать через ФМ?
2) Она реально длиннее - посмотрите длину _текстовой_ переменной FVAL и учтите что числовые переменные копируются в текстовые с выраниванием _вправо_.
Кстати, по этой-же причине у Вас могут быть проблемы с десятичным раздилителем - копирование выполняется во внутреннем формати, а, если мне не изменяет память, данные для пакетного ввода должны сохранятться во внешнем.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 16 2008, 20:50 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
msv написал:
переменная типа Q0008-BETRG


Вообще-то тип переменной у вас q00008-betrg (еще один нолик)...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 07:46 
Ассистент
Ассистент

Зарегистрирован:
Ср, янв 19 2005, 17:36
Сообщения: 27
Тип вводимого поля с экрана всегда символьный. Поэтому вместо такого декларирования DATA: oklad type q00008-betrg.
Нужно DATA: oklad(нужная длина).
[/code]


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 10:26 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
Helga написал(а):
Тип вводимого поля с экрана всегда символьный. Поэтому вместо такого декларирования DATA: oklad type q00008-betrg.
Нужно DATA: oklad(нужная длина).
[/code]

+
Code:
*DATA: oklad type q00008-betrg.
DATA: oklad type char LENGHT 18.
...
*oklad = t510-betrg.
WRITE t510-betrg TO oklad CURRENCY валюта.
....
perform bdc_field       using 'Q0008-BETRG(01)'
                              oklad.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB