Коллеги, в программе HRULT3 существует инклюд HRUIT3F. В нем описана подпрограммка, которая читает инфо-тип 1015. Ну и на основе того что там начитала, потом из t77kl вытаскивает суммы. Поиск сумм описан в конструкции ниже.
Итоговые значения пишутся в it_forma_t_3-s_sum* (где * = 1, 2, 3). Мне нужно вытащить еще и 4-е поле. Описываю его так же как предыдущие (через IF... ENDIF), но на выходе получаю 0. Хотя запись в it1015 есть.
Что делает цикл
DO 6 TIMES, можно только по русски. Доки на англ. почитал, не очень понятно.
Code:
IF sy-subrc = 0.
LOOP AT it1015 WHERE begda <= pc-endda AND endda >= pc-begda.
DO 6 TIMES
VARYING vartype-ctype FROM it1015-ctype NEXT it1015-ctype001
VARYING vartype-waers FROM it1015-waers NEXT it1015-waers001
VARYING vartype-budgt FROM it1015-budgt NEXT it1015-budgt001
VARYING vartype-abart FROM it1015-abart NEXT it1015-abart001
VARYING vartype-dirct FROM it1015-dirct NEXT it1015-dirct001.
* Extra pay 1
IF vartype-ctype = c_ctype1.
PERFORM select_t77kl USING it1015-dirct
CHANGING it_forma_t_3-s_sum1.
PERFORM convert_amount USING it_forma_t_3-s_sum1
vartype-waers.
* For hourly rate extra pay 1
IF vartype-abart = 1.
PERFORM handle_worktime
USING obj_id obj_type p_pchsvect l_subrc 8
CHANGING it_forma_t_3-s_koef1.
ENDIF.
ENDIF.
* Extra pay 2
IF vartype-ctype = c_ctype2.
PERFORM select_t77kl USING it1015-dirct
CHANGING it_forma_t_3-s_sum2.
PERFORM convert_amount USING it_forma_t_3-s_sum2
vartype-waers.
* For hourly rate extra pay 2
IF vartype-abart = 1.
PERFORM handle_worktime
USING obj_id obj_type p_pchsvect l_subrc 8
CHANGING it_forma_t_3-s_koef2.
ENDIF.
ENDIF.
* Extra pay 3
IF vartype-ctype = c_ctype3.
PERFORM select_t77kl USING it1015-dirct
CHANGING it_forma_t_3-s_sum3.
PERFORM convert_amount USING it_forma_t_3-s_sum3
vartype-waers.
* For hourly rate extra pay 3
IF vartype-abart = 1.
PERFORM handle_worktime
USING obj_id obj_type p_pchsvect l_subrc 8
CHANGING it_forma_t_3-s_koef3.
ENDIF.
ENDIF.
*******************************************
* Extra pay 4
IF vartype-ctype = c_ctype4.
PERFORM select_t77kl USING it1015-dirct
CHANGING it_forma_t_3-s_sum4.
PERFORM convert_amount USING it_forma_t_3-s_sum4
vartype-waers.
* For hourly rate extra pay 4
IF vartype-abart = 1.
PERFORM handle_worktime
USING obj_id obj_type p_pchsvect l_subrc 8
CHANGING it_forma_t_3-s_koef4.
ENDIF.
ENDIF.
*******************************************
ENDDO.
ENDLOOP.
ENDIF.
Заранее спасибо.