Текущее время: Сб, июл 19 2025, 02:42

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: SCDO
СообщениеДобавлено: Пт, окт 16 2009, 11:37 
Специалист
Специалист

Зарегистрирован:
Вс, янв 11 2009, 11:05
Сообщения: 152
Пол: Мужской
Господа!
есть Z-овская таблица. нужно вести лог изменения.
В элементах данных, по которым нужно вести лог, выставил галку "Документ изменений".
Через SCDO создал ФМ для записи в лог.
формирую данные для ФМа и вызываю его.
данные в лог пишутся.

теперь проблема.
есть в таблице поля "количество" и "сумма".
их значения почему то не хотят в лог писаться.
в логе строка с этим полем есть, а значение всегда пусто. Всякие GJAHR, KUNNR нормально отрабатываются, и вот эти два ни в какую.
проверил таблицу, галки у элементов данных стоят, значения этих полей в ФМ передаются.

что я упускаю?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SCDO  Тема решена
СообщениеДобавлено: Пт, окт 16 2009, 12:27 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
Эти поля нужно по-хитрому обрабатывать. Вот кусок кода, думаю, логика будет понятна:
Code:
DATA:       NEW LIKE CDPOS-VALUE_NEW,
      OLD LIKE CDPOS-VALUE_OLD,
      NEWW LIKE EBAN-MENGE,
      OLDD LIKE EBAN-MENGE.
FIELD-SYMBOLS: <f> TYPE ANY.
...
LOOP AT ICDPOS.
  IF ICDPOS-FNAME = 'MENGE'.
    MOVE ICDPOS-VALUE_NEW TO NEW.
    MOVE ICDPOS-VALUE_OLD TO OLD.
    ASSIGN NEW TO <f>.
    CATCH SYSTEM-EXCEPTIONS CONVT_NO_NUMBER = 2
               OTHERS = 4.
      NEWW = <f>.
    ENDCATCH.
    ASSIGN OLD TO <f>.
    CATCH SYSTEM-EXCEPTIONS CONVT_NO_NUMBER = 2
               OTHERS = 4.
      OLDD = <f>.
    ENDCATCH.
  ENDIF.
ENDLOOP.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SCDO
СообщениеДобавлено: Пт, окт 16 2009, 12:44 
Специалист
Специалист

Зарегистрирован:
Вс, янв 11 2009, 11:05
Сообщения: 152
Пол: Мужской
Честно говоря слабо понял как это мне поможет сгенерированым ФМом данные в лог записать.
Тут насколько я понимаю идет чтение из CDPOS.
Или предлагается сначала записть в лог ФМом, а потом поверх записать напрямую в таблицу CDPOS мои значения для количеств?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SCDO
СообщениеДобавлено: Пт, окт 16 2009, 13:05 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
Не-не-не ... ;-)
Пишешь в лог своим ФМ-ом. Всё.
Данные пишутся, но для количества и денег они в таблицах не видны, вот в чём прикол (но они там есть).
Вышеприведённый кусок кода для просмотра этих данных (использовал в отчёте).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SCDO
СообщениеДобавлено: Пт, окт 16 2009, 13:43 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 08 2009, 05:37
Сообщения: 70
Пол: Мужской
Видишь суслика в кустах. Нет? А он там есть. :D
Данные числовых полей в CDPOS записываются, но они пишутся в поля (VALUE_OLD, VALUE_NEW) размером с(254) в версии <=4.6D c правым выравниванием, а в версии > 4.6D c левым выравниванием, поэтому и возможны проблемы со считываем (из-за преобразовании типов). Предлагаемый выше код как раз и устраняет эту проблему. Посмотрите еще отчет RSSCD100.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SCDO
СообщениеДобавлено: Пт, окт 16 2009, 13:59 
Специалист
Специалист

Зарегистрирован:
Вс, янв 11 2009, 11:05
Сообщения: 152
Пол: Мужской
ВОТ ШАЙТАН!!!
"не видны" - это класс!!! :D
попробовал - получилось.
СПАСИБО!!!


Последний раз редактировалось _garycor_ Пт, янв 20 2012, 20:40, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SCDO
СообщениеДобавлено: Чт, янв 19 2012, 15:55 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
Цитата:
В элементах данных, по которым нужно вести лог, выставил галку "Документ изменений".
Через SCDO создал ФМ для записи в лог.


А как именно это сделать?

Суть моей проблемы: есть отчет ALV, когда то в него добавили 2 колонки со значками.
И есть 3 кнопки, кот. меняют эти значки (убирают/выставляют)

Так вот, нужно как то в таблицу cdpos запихнуть данные (gs_outtab - табличка с данными для отчета):

OBJECTCLAS=’BANF’
OBJECTID=gs_outtab-BANFN
TABNAME=’EBAN’
TABKEY=gs_outtab-MANDT+gs_outtab-BANFN+gs_outtab-BNFPO
FNAME=’BANPR’
CHNGIND=’U’

А вот как это сделать не знаю(((((

PS. Для значков создал ЭД и поставил галку "Документ изменений"


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

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


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

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


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

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