Текущее время: Сб, июл 26 2025, 11:36

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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