Текущее время: Вс, июл 27 2025, 20:29

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Чтение результатов расчета, как получить разницу перерасчета?
СообщениеДобавлено: Пн, июл 20 2009, 08:37 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, ноя 14 2006, 16:00
Сообщения: 64
Можете подсказать как получить сразу разницу при обратных расчетах.

например 0111 вид оплаты
в 200905 было 1000 руб
в 200906 стало 4000 руб
на выходе должно быть после перерасчета 200905 0111 3000 руб


Вот так вот читаю результаты расчета.
Code:
  CALL METHOD cl_hrpay99_prr_4_pnp_reps=>get_instance
  EXPORTING
*    IM_PAYTY_SELOPT         =
    im_pn_begda             = begda
    im_pn_endda             = endda
    im_ipview               = 'X'
    im_molga                = '33'
*    IM_ADD_RETROES_TO_RGDIR = X_TRUE
*    IM_CURR_CONV            =
*    IM_PNPABKRS             =
*    IM_PN_PAPER             =
*    IM_PN_PERMO             =
*    IM_PAYTY                =
*    IM_PAYID                =
*    IM_BONDT                =
*    IM_OSR_DEL_OPT          = 'P'
*    IM_OCRSN_SELOPT         =
*    IM_OCCAT_SELOPT         =
*    IM_PNPDISBD             =
*    IM_ARCH_TOO             = X_FALSE
  IMPORTING
    ex_prr                  = go_prr
  EXCEPTIONS
    invalid_entries         = 1
    OTHERS                  = 2
    .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  CALL METHOD go_prr->get_pernr_payr_results_allin1
    EXPORTING
      im_pernr                      = p_pernr
    IMPORTING
      ex_pernr_payroll_results      = gt_pernr_pr
    EXCEPTIONS
      country_version_not_available = 1
      no_authorization              = 2
      no_entries_found              = 3
      read_error                    = 4
      OTHERS                        = 5.
  IF sy-subrc = 0.
    LOOP AT gt_pernr_pr ASSIGNING <pernr_pr>.
      go_pernr_pr ?= <pernr_pr>.
      LOOP AT go_pernr_pr->inter-rt INTO rt_header.
      ......
      ENDLOOP.
    ENDLOOP.
  ENDIF.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Чтение результатов расчета, как получить разницу перерасчета?  Тема решена
СообщениеДобавлено: Пн, июл 20 2009, 12:24 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
необходимо анализировать индикатор актуальности соответствующей записи.

У тебя это будет наверное что-то типа (вставить до лупа, т.е. обработки RT) :
Code:
case go_pernr_pr->period-srtza.
   when 'P'.
      factor = -1.
   when 'A'.
      factor = 1.
   when others.
      ...
endcase.


нужно объявить еще одну вн.таблицу (скажем, X_RT). в которой будешь аккумулировать данные из RT за соответствующие периоды (200905, 200906), предварительно умножив их на множитель FACTOR. В результате после обработки у тебя в твоей X_RT будет разница от пересчета.

т.е. что-то типа:
Code:
move-corresponding rt_header into x_rt.
...
x_rt-betrg = factor * x_rt-betrg.
...
collect x_rt.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Чтение результатов расчета, как получить разницу перерасчета?
СообщениеДобавлено: Пн, июл 20 2009, 14:19 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, ноя 14 2006, 16:00
Сообщения: 64
Спасибо, всё отлично получилось.
Хотя плохо что нету опции в объекте, чтобы сразу получить такой результат.


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

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


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

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


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

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