Текущее время: Чт, мар 28 2024, 21:26

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Проект по SAP
СообщениеДобавлено: Сб, фев 20 2016, 13:55 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 18 2016, 18:25
Сообщения: 6
Доброе время суток, форумчане!

Я учусь в Германии и нам была поставлена задача. см ниже.
С SAP я познакомился относительно недавно, до этого работал с другой системой.
Не судите строго за перевод, я старался))

Заранее благодарен.
---------
Советом директоров было решено что началом производственного заказа не могут быть такие дни как пятница, суббота, воскресенье, праздничные дни и один день до праздника.
Так же сообщили, что это правило постоянно нарушалось.

Чтобы получить представление о масштабе нарушений, руководство просит представить подробную информацию и создать список всех производственных заказов которые были созданы с 01.01.2015 г.

Список должен содержать такие данные как: номер заказа, материал продукта, даты создания и даты начала. В другой колонке должно быть указано: если дата начала был праздничный день, тогда с пометкой (Н), если любой другой несанкционированного день, тогда (D). Если же и тот и другой день, тогда оставить „H“.

В конце списка надо указать сколько заказов от общего количества были нарушены.

Наставник дал совет, что функциональная группа SCAL занимается календарными функциями. При тесте функций даты можно к примеру занести как 11.11.2011, однако в призыве будет использоваться форма ггггммдд.

Для призыва функционального блока Вам потребуется ID подходящего праздничного календаря, которое можно вызвать транзакцией OY05 (03)


Есть смысл не допускать изначально „неправильную“ дату начала и перехватывать эту ошибку при сохранении производственного заказа.

Укажите в Вашей документации оценку затрат для такой реализации и обоснуйте ее. (маленький набросок).


Последний раз редактировалось Andrej Пт, фев 26 2016, 14:57, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Сб, фев 20 2016, 14:14 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Готов приехать на ваше предприятие для реализации проекта. Оплата тайм&материал. Ставки в личку :D

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Сб, фев 20 2016, 14:31 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 18 2016, 18:25
Сообщения: 6
Я бы не прочь, но жаль что это не предприятие, а универ :pivo: :roll:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Сб, фев 20 2016, 14:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 19 2012, 08:33
Сообщения: 181
Пол: Мужской
Andrej написал(а):
Доброе время суток, форумчане!

Я учусь в Германии и нам была поставлена задача. см ниже.
С SAP я познакомился относительно недавно, до этого работал с другой системой. Понимаю, что задание для знатоков очень легкое, но моих знаний не хватает. Прошу о помощи Вас!

Не судите строго за перевод, я старался))

Заранее благодарен.
---------
Советом директоров было решено что началом производственного заказа не могут быть такие дни как пятница, суббота, воскресенье, праздничные дни и один день до праздника.
Так же сообщили, что это правило постоянно нарушалось.

Чтобы получить представление о масштабе нарушений, руководство просит представить подробную информацию и создать список всех производственных заказов которые были созданы с 01.01.2015 г.

Список должен содержать такие данные как: номер заказа, материал продукта, даты создания и даты начала. В другой колонке должно быть указано: если дата начала был праздничный день, тогда с пометкой (Н), если любой другой несанкционированного день, тогда (D). Если же и тот и другой день, тогда оставить „H“.

В конце списка надо указать сколько заказов от общего количества были нарушены.

Наставник дал совет, что функциональная группа SCAL занимается календарными функциями. При тесте функций даты можно к примеру занести как 11.11.2011, однако в призыве будет использоваться форма ггггммдд.

Для призыва функционального блока Вам потребуется ID подходящего праздничного календаря, которое можно вызвать транзакцией OY05 (03)


ФМ HOLIDAY_CHECK_AND_GET_INFO
в oy05 выбираете нужный календарь ( 01 например )
проверяете дату ( а так как там еще в день до праздников, то еще и дату + 1 )

Цитата:
Есть смысл не допускать изначально „неправильную“ дату начала и перехватывать эту ошибку при сохранении производственного заказа.

Укажите в Вашей документации оценку затрат для такой реализации и обоснуйте ее. (маленький набросок).

Enhancement при создании заказа.
По оценке затрат - сколько РП в таймшите выставит, столько и будет :mrgreen:

_________________
crusty написал(а):
Логистика - понятие растяжимое


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Пн, фев 22 2016, 14:41 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 18 2016, 18:25
Сообщения: 6
Если быть честным, то я ничего не понял... :(


Последний раз редактировалось Andrej Ср, фев 24 2016, 14:21, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Пн, фев 22 2016, 15:43 
Директор
Директор

Зарегистрирован:
Пн, мар 25 2013, 12:19
Сообщения: 1067
я конечно извиняюсь, но чем отчет COOIS не устраивает? :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Пн, фев 22 2016, 17:44 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 18 2016, 18:25
Сообщения: 6
thebestsaper написал(а):
я конечно извиняюсь, но чем отчет COOIS не устраивает? :)



До сюда я еще как-то добрался, но проблема в том что система ничего не выдает при запросе...

Поправлюсь:

Делается отчет со всеми данными, но это не совсем то, чего требует преподаватель. Нам нужно написать маленькую программку которая делала бы по сути тоже самое, но немного информативней. Т.е. когда сроки нарушались - это нужно пометить, ссылаясь на календарь.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Ср, фев 24 2016, 10:02 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Проверьте данные в ракурсе CAUFV. Возможно в вашей системе необходимо так же создать тестовые заказы.

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Чт, фев 25 2016, 14:29 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 18 2016, 18:25
Сообщения: 6
Цитата:
ФМ HOLIDAY_CHECK_AND_GET_INFO
в oy05 выбираете нужный календарь ( 01 например )
проверяете дату ( а так как там еще в день до праздников, то еще и дату + 1 )



Начали разбираться с HOLIDAY_CHECK_AND_GET_INFO.

Но почему-то когда указываю на нужный календарь (03), система выдаёт ошибку, якобы ошибка в написании. Что делаем не так?






data: auftrags_nr type STANDARD TABLE OF BAPI_PP_ORDERRANGE,
kopfzeile TYPE STANDARD TABLE OF BAPI_ORDER_HEADER1,
return like BAPIRET2.




write:/ 'Auftragsnummer Auftragsmaterial Anlegedatum Starttermin Nicht zugelassener Tag'.
uline.


*Zu Tabellenparametern die Kopfzeilen definieren
data struk_auftrags_nr like line of auftrags_nr.
data struk_kopfzeile like line of kopfzeile.
*Datenbereich Datum JJJJMMTT
data datum type sy-datum.
datum = '20150101'.

*Übergabeobjekt füllen
*kopfzeile füllen
*Das IST NUR DIE KOPFZEILE!
struk_auftrags_nr-sign = 'I'.
struk_auftrags_nr-option = 'BT'.
struk_auftrags_nr-low = '000000000000'.
struk_auftrags_nr-high = '999999999999'.

* Tabelle füllen
insert struk_auftrags_nr into table auftrags_nr.

* Aufruf des Funktionsbausteins mit Parametern - das als erstes
CALL FUNCTION 'BAPI_PRODORD_GET_LIST'
* EXPORTING
* COLLECTIVE_ORDER =
IMPORTING
RETURN = return
TABLES
ORDER_NUMBER_RANGE = auftrags_nr
* MATERIAL_RANGE =
* PRODPLANT_RANGE =
* PLANPLANT_RANGE =
* ORDER_TYPE_RANGE =
* MRP_CNTRL_RANGE =
* PROD_SCHED_RANGE =
* SALES_ORD_RANGE =
* SALES_ORD_ITM_RANGE =
* WBS_ELEMENT_RANGE =
* SEQ_NO_RANGE =
* ORDER_PRIO_RANGE =
ORDER_HEADER = kopfzeile
.

* Ausgabe kopfzeile
loop at kopfzeile into struk_kopfzeile WHERE ENTER_DATE BETWEEN datum AND sy-datum.
write:/ struk_kopfzeile-order_number, struk_kopfzeile-material, struk_kopfzeile-enter_date.
endloop.


CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
EXPORTING
DATE =
HOLIDAY_CALENDAR_ID = 03
WITH_HOLIDAY_ATTRIBUTES = ' '
IMPORTING
HOLIDAY_FOUND =
TABLES
HOLIDAY_ATTRIBUTES =
EXCEPTIONS
CALENDAR_BUFFER_NOT_LOADABLE = 1
DATE_AFTER_RANGE = 2
DATE_BEFORE_RANGE = 3
DATE_INVALID = 4
HOLIDAY_CALENDAR_ID_MISSING = 5
HOLIDAY_CALENDAR_NOT_FOUND = 6
OTHERS = 7
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.



skip.
uline.

WRITE:/ 'Betroffene Fertigungsaufträge', '...', 'von insgesamt', '...'.
uline.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Пт, фев 26 2016, 09:10 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 19 2012, 08:33
Сообщения: 181
Пол: Мужской
Andrej написал(а):
Цитата:
Начали разбираться с HOLIDAY_CHECK_AND_GET_INFO.

Но почему-то когда указываю на нужный календарь (03), система выдаёт ошибку, якобы ошибка в написании. Что делаем не так?


CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
EXPORTING
DATE =
HOLIDAY_CALENDAR_ID = 03
WITH_HOLIDAY_ATTRIBUTES = ' '
IMPORTING
HOLIDAY_FOUND =
TABLES
HOLIDAY_ATTRIBUTES =
EXCEPTIONS
CALENDAR_BUFFER_NOT_LOADABLE = 1
DATE_AFTER_RANGE = 2
DATE_BEFORE_RANGE = 3
DATE_INVALID = 4
HOLIDAY_CALENDAR_ID_MISSING = 5
HOLIDAY_CALENDAR_NOT_FOUND = 6
OTHERS = 7
.


Дату то поставьте во входные параметры.
Вам же нужно проверить, входит ли дата в календарь праздников или нет.

_________________
crusty написал(а):
Логистика - понятие растяжимое


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Вт, мар 01 2016, 02:07 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
"Папа решает, а Вася сдаёт", э? :wink:

Какие-то идиоты внедряли SAP на этом предприятии. Есть такая вещь как factory calendar, там и указывается какие дни рабочие какие нет. Честно говоря, я не уверена, что для этого вообще нужен какой-то enhancement, это должно в стандарте нормально работать, по календарю. Если, конечно, следовать стандартным процессам, а не придумывать ерунду какую-то. (Возможно есть смысл в PP форуме спросить про стандарт, озадачите препода широтой познаний. :) )

А на кого вы учитесь, на программиста или просто так, business management? Не совсем понятно какой уровень исполнения ожидается...

Если честно, такую задачу можно очень легко сделать в SAP Query (SQ01/SQ02), тут всего 1-2 таблицы участвуют. Просто добавить дополнительное поле для этого индикатора и вызывать FM внутри. Всего на 1-2 часа делов. Можно, конечно, и в ABAP сделать. Хоть за день хоть за 2 недели. :) С помощником можно и на месяц растянуть, но трудно.

Для таких отчетов использовать BAPI может быть не очень хорошо, потому что они тащат кучу ненужной информации. Я бы просто вывела дату, тип заказа, Plant (WERKS) (можно проверку авторизации сделать), код календаря (03 по дефолту) на selection screen. В INITIALIZATION заполнить дату так, чтобы было >= 1 января 2015. Потом просто SELECT FROM AFKO / AFPO (не помню точно где какие из этих полей) INTO itab WHERE <selection screen fields>. После этого LOOP AT itab, проверить каждую дату по критериям (не выходной и т.п.), заполнить Н/Д колонку. Потом посчитать процент правильных / неправильных и все это на экран вывести.

WRITE уже мало используется, все отчеты в основном ALV делают. Но для примера сойдет.

Как-то так.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект по SAP
СообщениеДобавлено: Ср, апр 06 2016, 17:37 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 18 2016, 18:25
Сообщения: 6
Jelena написала:
"Папа решает, а Вася сдаёт", э? :wink:


Ну а у кого такого не было?! :D


Jelena написала:
Какие-то идиоты внедряли SAP на этом предприятии. Есть такая вещь как factory calendar, там и указывается какие дни рабочие какие нет. Честно говоря, я не уверена, что для этого вообще нужен какой-то enhancement, это должно в стандарте нормально работать, по календарю. Если, конечно, следовать стандартным процессам, а не придумывать ерунду какую-то. (Возможно есть смысл в PP форуме спросить про стандарт, озадачите препода широтой познаний. :) )

А на кого вы учитесь, на программиста или просто так, business management? Не совсем понятно какой уровень исполнения ожидается...

Если честно, такую задачу можно очень легко сделать в SAP Query (SQ01/SQ02), тут всего 1-2 таблицы участвуют. Просто добавить дополнительное поле для этого индикатора и вызывать FM внутри. Всего на 1-2 часа делов. Можно, конечно, и в ABAP сделать. Хоть за день хоть за 2 недели. :) С помощником можно и на месяц растянуть, но трудно.

Для таких отчетов использовать BAPI может быть не очень хорошо, потому что они тащат кучу ненужной информации. Я бы просто вывела дату, тип заказа, Plant (WERKS) (можно проверку авторизации сделать), код календаря (03 по дефолту) на selection screen. В INITIALIZATION заполнить дату так, чтобы было >= 1 января 2015. Потом просто SELECT FROM AFKO / AFPO (не помню точно где какие из этих полей) INTO itab WHERE <selection screen fields>. После этого LOOP AT itab, проверить каждую дату по критериям (не выходной и т.п.), заполнить Н/Д колонку. Потом посчитать процент правильных / неправильных и все это на экран вывести.

WRITE уже мало используется, все отчеты в основном ALV делают. Но для примера сойдет.

Как-то так.


Спасибо за помощь Елена!
Проект нужно было реализовать именно в ABAP, такова суть семинара.

Программку написали, все сдали вовремя :)

Спасибо Всем большое за помощь! :wink: :lol:


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

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


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

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


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

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