Текущее время: Вт, май 13 2025, 19:57

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: KSS2 можно-ли получить её раскладку по видам работ в itab ?
СообщениеДобавлено: Вт, янв 25 2005, 13:11 
Гость
Подскажите, кто хорошо контроллинговые ФМ знает - както можно получить во внутреннюю таблицу "развертку затрат" по видам работ (так как это сделано в KSS2)? Или хотябы подлезть в нее, чтобы при просмотре этого списка выкинуть его копию в БД, чтобы потом своей программой обработать актуальные плановые/нормативные затраты?

Я так понял, транзакция рассчитывает значения налету, а какбы их передать в пользовательскую программу для дальнейшего анализа?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: KSS2 можно-ли получить её раскладку по видам работ в ita
СообщениеДобавлено: Вт, янв 25 2005, 13:57 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 14:35
Сообщения: 1519
Откуда: В ВЕЧНОМ БАНЕ
PavelBerezin написал(а):
Подскажите, кто хорошо контроллинговые ФМ знает - както можно получить во внутреннюю таблицу "развертку затрат" по видам работ (так как это сделано в KSS2)? Или хотябы подлезть в нее,

Ну дык SE80 транзакцию знаешь, а /h думаю тоже, ну вот там кода на пару часов анализа максимум группа функций KSS0 и будет тебе счастье :P


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: *
СообщениеДобавлено: Вт, янв 25 2005, 14:04 
Гость
а я чо делаю? :-)

но хочется же простых решений


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 26 2005, 08:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
Нет таких ФМ, извини :)
Отчеты СО генерятся динамически и построены на выборках из таблиц СО. В свое время занимался разработкой отчета "развертки" до первичных видов затрат - задача решается только в привязке к определенным условиям настройки, в общем случае - неподъемно.
Просто прими, что в СО нет простых решений для АВАРера :lol:

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 26 2005, 11:18 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 14:35
Сообщения: 1519
Откуда: В ВЕЧНОМ БАНЕ
nicky555 написал:
Нет таких ФМ, извини :)
Отчеты СО генерятся динамически и построены на выборках из таблиц СО. В свое время занимался разработкой отчета "развертки" до первичных видов затрат - задача решается только в привязке к определенным условиям настройки, в общем случае - неподъемно.
Просто прими, что в СО нет простых решений для АВАРера :lol:

Ну если походить по тексту KSS2 точнее функциональной группы KSS0 то там довольно прозрачно можно вытащить механизмы как оно все работает и перетащить себе в программку, а лекгий это механизм или нет, ну самый легкий это конечно:
Code:
SELECT * FROM табличка.
  WRITE: / чего-то из этой таблички.
ENDSELECT.

:P


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: *
СообщениеДобавлено: Пн, фев 07 2005, 13:36 
Гость
вторая часть марлезонского балета :)

разобрался примерно ... теперь пытаюсь сэкономить на строчках текста: хочу вызвать готовый FORM, который лежит в KSS-ном ФМе из своего репорт'а

*вызываем внутренние процедуры транзакции KSS2
PERFORM DETERMINE_OBJECTS(LKSS0F20)
TABLES LT_OBJ
LT_COIOB.
DESCRIBE TABLE LT_OBJ LINES n.

loop at LT_OBJ.
write: / LT_OBJ-OBJNR.
endloop.

оно валится в дамп - ругается что нельзя вызывать PERFORM для программ типа I (т.к. DETERMINE_OBJECTS сидит в инклуде LKSS0F20)
:(
Пробовал описать include LKSS0F20 (и дополнительного LKSS0D10, который содержит список констант, используемых внутри perform'a) - оно на синтаксис ругается :(

Подскажите, как правильно вызвать "чужой" perform правильно (чтобы максимально задействовать куски имеющегося стандартного алгоритма, а не переписывать его заново в своём репорте)?


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

Зарегистрирован:
Вс, сен 05 2004, 12:11
Сообщения: 420
Откуда: SAP ERP 2005
PERFORM DETERMINE_OBJECTS(SAPLKSS0)

Вместо инклюда указывай главную программу для группы функций, которая этот инклюд содержит.

_________________
Чтоб у нас все было, и нам за это ничего не было ! :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: *
СообщениеДобавлено: Ср, фев 09 2005, 12:12 
Гость
работает :-)
беда в том, что этот PERFORM ссылается на некую "глобальную" переменную, которой я перед вызовом этото perform in program должен присвоить определенное значение (иаче оно внутри performa к ней обратится и свалится в дамп) ... Можно ли как-то достучаться из своей программы к таким переменным (объявленным на уровне главной программы) и модифицировать их, чтото вроде

переменная(SAPLKSS0) = значение.
PERFORM DETERMINE_OBJECTS(SAPLKSS0).


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

Зарегистрирован:
Вс, сен 05 2004, 12:11
Сообщения: 420
Откуда: SAP ERP 2005
Вообще говоря, если подпрограмма использует глобальные переменные, то делать ее внешний вызов не очень хорошо, ошибки могут быть малопредсказуемые. Но если очень хочется, то переменную можно заполнить примерно так:

FIELD-SYMBOLS: <MENGE>.

ASSIGN ('(SAPLV01Z)MENGE') TO <MENGE>.

<MENGE> = X_BNCOM-ZZ_MENGE.

Что-то в этом роде. Удачи !

_________________
Чтоб у нас все было, и нам за это ничего не было ! :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: *
СообщениеДобавлено: Ср, фев 09 2005, 15:23 
Гость
гран мерси :-)

понимаю что хацкерский способ - но хочется облегчить себе жизнь (иначе писанины много)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: *
СообщениеДобавлено: Пн, фев 14 2005, 14:54 
Гость
и снова дамп :-)

оно ругается что cannot overwrite protected variable ... т.е. я так понимаю всетаки нельзя совсем извне их править.
Пока выкрутился так: в заголовок пула функций (ессно с получением ключа разработки на сапнете) воткнул include с двумя хак-процедурами ;-)

form GetVariable
using VariableName type c
changing Value
.
* читает значение переменной
field-symbols: <ptr>.

assign (VariableName) to <ptr>.
Value = <ptr>.
endform.


form SetVariable
using
VariableName type c
Value
.
* присваивает новое значение переменной
field-symbols: <ptr>.

assign (VariableName) to <ptr>.
<ptr> = Value.
endform.

И вот через них уже лучче - вызываю их извне и ими правлю переменные, такое абап пропускает.

А может еще какие способы есть (чтобы ключом разработчика не править стандартный пул ФМ) ?


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

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


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

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


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

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