Текущее время: Вт, апр 16 2024, 16:29

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Амортизация ОС будущего года
СообщениеДобавлено: Вт, янв 10 2023, 07:58 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
За текущий год амортизацию берется из ANLC. Нужно посчитать амортизацию за будущий год. Но в ANLC этих данных нет.

Стандартный отчет S_ALR_87012936 моделирует будущий год. Попробовал разобраться как там это делается, но там стандартный ужас-ужас. И уже закопался по самую макушку в стандартный код.

Может кто-то знает как можно смоделировать амортизацию по ОС будущего года? Какие-то ФМ-ы?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Амортизация ОС будущего года  Тема решена
СообщениеДобавлено: Вт, янв 10 2023, 11:43 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Вот так вроде работает
Code:
   DATA:  lt_anlb  LIKE  TABLE OF anlb WITH HEADER LINE
        ,ls_anla  TYPE  anla
        ,ls_anlb  TYPE  anlb
        ,lt_anlc  LIKE  TABLE OF anlc WITH HEADER LINE
        ,lt_anep  LIKE  TABLE OF anep WITH HEADER LINE
        ,lt_anea  LIKE  TABLE OF anea WITH HEADER LINE
        ,lt_anek  LIKE  TABLE OF anek WITH HEADER LINE
        ,lt_anfm  LIKE  TABLE OF anfm WITH HEADER LINE
        ,lt_anlz  TYPE  STANDARD TABLE OF anlz

        .
  SELECT * FROM anlb INTO TABLE lt_anlb
    WHERE bukrs = i_anla-bukrs
      AND anln1 = i_anla-anln1
      AND anln2 = i_anla-anln2
*    and afabe = i_afabe
    .
  SELECT * FROM anlc INTO TABLE lt_anlc
    WHERE bukrs = i_anla-bukrs
      AND anln1 = i_anla-anln1
      AND anln2 = i_anla-anln2
*      and afabe = i_afabe
      AND gjahr = i_gjahr.
  et_anlc[] = lt_anlc[].
  IF sy-subrc <> 0.
    CALL FUNCTION 'FIAA_DEPR_RECALCULATE'
      EXPORTING
        i_bukrs   = i_anla-bukrs
        i_anln1   = i_anla-anln1
        i_anln2   = i_anla-anln2
        i_gjahr   = i_gjahr
      TABLES
        t_anlz    = lt_anlz
        t_anlb    = lt_anlb
        t_anlc    = lt_anlc
        t_anep    = lt_anep
        t_anea    = lt_anea
        t_anfm    = lt_anfm
      EXCEPTIONS
        not_found = 1
        OTHERS    = 2.
    IF sy-subrc <> 0.
      RETURN.
    ENDIF.
    et_anlc[] = lt_anlc[].
    ls_anlb-lgjan = i_gjahr.
    MODIFY lt_anlb FROM ls_anlb TRANSPORTING lgjan WHERE afabe = i_afabe.
  ENDIF.
  SELECT SINGLE * FROM anla INTO ls_anla
    WHERE bukrs = i_anla-bukrs
      AND anln1 = i_anla-anln1
      AND anln2 = i_anla-anln2.
  CHECK sy-subrc = 0.



  SELECT * FROM anep INTO TABLE lt_anep
    WHERE bukrs = i_anla-bukrs
      AND anln1 = i_anla-anln1
      AND anln2 = i_anla-anln2
*      and afabe = i_afabe
      AND gjahr = i_gjahr.
  SELECT * FROM anea INTO TABLE lt_anea
    WHERE bukrs = i_anla-bukrs
      AND anln1 = i_anla-anln1
      AND anln2 = i_anla-anln2
*      and afabe = i_afabe
      AND gjahr = i_gjahr.
  SELECT * FROM anek INTO TABLE lt_anek
    WHERE bukrs = i_anla-bukrs
      AND anln1 = i_anla-anln1
      AND anln2 = i_anla-anln2
      AND gjahr = i_gjahr.
  DATA: lv_gjahr TYPE gjahr.
  lv_gjahr = i_gjahr.
  CALL FUNCTION 'AM_SHOW_POST_DEPR'
    EXPORTING
      i_anla                       = ls_anla
      i_afabe                      = i_afabe
      i_gjahr                      = lv_gjahr
      i_simu                       = i_simu
    TABLES
      t_dpost                      = t_dpost
      t_anlb                       = lt_anlb
      t_anlc                       = lt_anlc
      t_anep                       = lt_anep
      t_anea                       = lt_anea
      t_anek                       = lt_anek
*     T_ANFM                       =
   EXCEPTIONS
     not_found                    = 1
     differences_posted_afa       = 2
     OTHERS                       = 3
            .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Амортизация ОС будущего года
СообщениеДобавлено: Вт, янв 10 2023, 20:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Нужно для начала сходить к гадалке. А если серьезно, то давай с БТ начнем. Самый простой способ посчитать амортизацию будущего года - это взять текущую и умножить ее на 1. А дальше уже надо или в БТ смотреть, или к гадалке.

PS. Поступления ОС за будущий год надо тоже откуда-то взять.

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


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

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


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

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


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

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