Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Include ZFI_0287_NIOKTR_CLI02
- *&---------------------------------------------------------------------*
- CLASS data_calc IMPLEMENTATION.
- METHOD scaling.
- PERFORM get_range_zssp USING
- 'FI_0287_NIOKTR11'
- '001'
- 'T001'
- 'BUKRS'
- CHANGING
- mr_001.
- PERFORM get_value_zssp USING
- 'FI_0287_NIOKTR11'
- '002'
- 'ANLB'
- 'AFABE'
- CHANGING
- mv_002.
- ENDMETHOD.
- METHOD select_alv.
- DATA:
- lt_alv_report TYPE TABLE OF zsfi_0287_alv,
- lt_alv_report_grouped TYPE TABLE OF zsfi_0287_alv.
- "** Масштабирование
- "****************************************************************
- scaling( ).
- "****************************************************************
- "****************************************************************
- IF mt_anlkl[] IS NOT INITIAL.
- SELECT anla~bukrs, anla~anln1, anla~anln2
- FROM anla
- JOIN anlz ON
- anla~bukrs = anlz~bukrs
- AND anla~anln1 = anlz~anln1
- AND anla~anln2 = anlz~anln2
- WHERE
- anlz~adatu LE @mv_rdate
- AND anlz~bdatu GE @mv_rdate
- AND anla~bukrs EQ @mv_bukrs
- AND anla~anln1 IN @mt_anln1
- AND anla~anln2 IN @mt_anln2
- AND anla~anlkl IN @mt_anlkl
- AND ( anla~aktiv IS NOT NULL AND anla~aktiv LE @mv_rdate )
- AND ( anla~deakt IS NULL OR anla~deakt GT @mv_rdate )
- AND anla~inken = 'X'
- AND anla~invnr IN @mt_invnr
- AND anlz~kostl IN @mt_kostl
- AND anlz~prctr IN @mt_prctr
- AND anlz~werks IN @mt_werks
- AND anlz~stort IN @mt_stort
- AND anlz~pernr = @mv_mol
- INTO CORRESPONDING FIELDS OF TABLE @mt_os_cards.
- ELSE.
- IF
- mt_anln1[] IS INITIAL
- AND mt_anln2[] IS INITIAL
- AND mt_anlkl[] IS INITIAL
- AND mt_invnr[] IS INITIAL
- AND mt_kostl[] IS NOT INITIAL
- AND mt_werks[] IS NOT INITIAL
- AND mt_stort[] IS NOT INITIAL
- AND mv_mol IS NOT INITIAL.
- SELECT anla~bukrs, anla~anln1, anla~anln2
- FROM anla
- WHERE
- anla~bukrs EQ @mv_bukrs
- AND ( anla~aktiv IS NOT NULL AND anla~aktiv LE @mv_rdate )
- AND ( anla~deakt IS NULL OR anla~deakt GT @mv_rdate )
- AND anla~inken = 'X'
- INTO CORRESPONDING FIELDS OF TABLE @mt_os_cards.
- SELECT anla~bukrs, anla~anln1, anla~anln2
- FROM anla
- JOIN anlz ON
- anla~bukrs = anlz~bukrs
- AND anla~anln1 = anlz~anln1
- AND anla~anln2 = anlz~anln2
- FOR ALL ENTRIES IN @mt_os_cards
- WHERE
- anla~bukrs EQ @mt_os_cards-bukrs
- AND anla~anln1 EQ @mt_os_cards-anln1
- AND anla~anln2 EQ @mt_os_cards-anln2
- AND anlz~adatu LE @mv_rdate
- AND anlz~bdatu GE @mv_rdate
- AND anlz~bukrs EQ @mv_bukrs
- AND anlz~anln1 IN @mt_anln1
- AND anlz~anln2 IN @mt_anln2
- AND anlz~kostl IN @mt_kostl
- AND anlz~prctr IN @mt_prctr
- AND anlz~werks IN @mt_werks
- AND anlz~stort IN @mt_stort
- AND anlz~pernr = @mv_mol
- INTO CORRESPONDING FIELDS OF TABLE @mt_os_cards.
- ELSEIF mt_anlkl[] IS INITIAL.
- " Раскомментировать когда появится таблица ZT_FORMS_LIST
- * SELECT anlkl
- * from zt_forms_list
- * INTO @mt_forms_list_anlkl.
- SELECT anla~bukrs, anla~anln1, anla~anln2
- FROM anla
- JOIN anlz ON
- anla~bukrs = anlz~bukrs
- AND anla~anln1 = anlz~anln1
- AND anla~anln2 = anlz~anln2
- FOR ALL ENTRIES IN @mt_forms_list_anlkl
- WHERE
- anlz~adatu LE @mv_rdate
- AND anlz~bdatu GE @mv_rdate
- AND anla~bukrs EQ @mv_bukrs
- AND anla~anln1 IN @mt_anln1
- AND anla~anln2 IN @mt_anln2
- AND anla~anlkl EQ @mt_forms_list_anlkl-anlkl
- AND ( anla~aktiv IS NOT NULL AND anla~aktiv LE @mv_rdate )
- AND ( anla~deakt IS NULL OR anla~deakt GT @mv_rdate )
- AND anla~inken = 'X'
- AND anla~invnr IN @mt_invnr
- AND anlz~kostl IN @mt_kostl
- AND anlz~prctr IN @mt_prctr
- AND anlz~werks IN @mt_werks
- AND anlz~stort IN @mt_stort
- AND anlz~pernr = @mv_mol
- INTO CORRESPONDING FIELDS OF TABLE @mt_os_cards.
- ENDIF.
- ENDIF.
- "****************************************************************
- "*** Выборка для ALV по карточкам
- "****************************************************************
- "** 1. БЕ
- "****************************************************************
- mv_001_bukrs = mv_bukrs.
- "** 2. Наименование БЕ
- "****************************************************************
- SELECT SINGLE adrc~name1, adrc~name2, adrc~name3, adrc~name4
- FROM adrc
- JOIN t001 ON adrc~addrnumber = t001~adrnr
- WHERE
- adrc~nation EQ ''
- AND t001~bukrs EQ @mv_bukrs
- INTO CORRESPONDING FIELDS OF @lv_002_temp.
- IF lv_002_temp-name1 IS NOT INITIAL.
- CONCATENATE lv_002_temp-name1 mv_002_name_be INTO mv_002_name_be SEPARATED BY ', '.
- ENDIF.
- IF lv_002_temp-name2 IS NOT INITIAL.
- CONCATENATE lv_002_temp-name2 mv_002_name_be INTO mv_002_name_be SEPARATED BY ', '.
- ENDIF.
- IF lv_002_temp-name3 IS NOT INITIAL.
- CONCATENATE lv_002_temp-name3 mv_002_name_be INTO mv_002_name_be SEPARATED BY ', '.
- ENDIF.
- IF lv_002_temp-name4 IS NOT INITIAL.
- CONCATENATE lv_002_temp-name4 mv_002_name_be INTO mv_002_name_be SEPARATED BY ', '.
- ENDIF.
- IF mv_002_name_be IS NOT INITIAL.
- mv_002_name_be = substring( val = mv_002_name_be off = 0 len = strlen( mv_002_name_be ) - 1 ).
- ENDIF.
- LOOP AT mt_os_cards ASSIGNING FIELD-SYMBOL(<cards1>).
- "** 5a. Название ОС
- "****************************************************************
- SELECT SINGLE anla~txt50
- FROM anla
- WHERE
- anla~bukrs = @mv_bukrs
- AND anla~anln1 EQ @<cards1>-anln1
- AND anla~anln2 EQ @<cards1>-anln2
- INTO @mv_05a_name_os_a.
- "** 5b. Название ОС (продолжение)
- "****************************************************************
- SELECT SINGLE anla~txa50
- FROM anla
- WHERE
- anla~bukrs = @mv_bukrs
- AND anla~anln1 EQ @<cards1>-anln1
- AND anla~anln2 EQ @<cards1>-anln2
- INTO @mv_05b_name_os_b.
- **** "** 5c. Название ОС (продолжение из ракурса)
- **** "****************************************************************
- **** select single anla~anlkl
- **** from anla
- **** where
- **** anla~bukrs = @mv_bukrs
- **** and anla~anln1 in @mt_anln1
- **** and anla~anln2 in @mt_anln2
- **** into @mv_05c_name_os_c.
- "** 6. Класс ОС
- "****************************************************************
- SELECT SINGLE anla~anlkl
- FROM anla
- WHERE
- anla~bukrs = @mv_bukrs
- AND anla~anln1 EQ @<cards1>-anln1
- AND anla~anln2 EQ @<cards1>-anln2
- INTO @mv_006_os_class.
- "** 7. Наименование класса
- "****************************************************************
- SELECT SINGLE anla~txt50 " anka~txk50
- FROM anla
- JOIN anka ON anka~anlkl = anla~anlkl
- INTO @mv_007_class_name.
- "** 8. Инвертарный номер
- "****************************************************************
- SELECT SINGLE anla~invnr
- FROM anla
- WHERE
- anla~bukrs EQ @<cards1>-bukrs
- AND anla~anln1 EQ @<cards1>-anln1
- AND anla~anln2 EQ @<cards1>-anln2
- INTO @mv_008_inv_number.
- "** 9. МВЗ
- "****************************************************************
- SELECT SINGLE anlz~kostl
- FROM anlz
- WHERE
- anlz~bukrs = @mv_bukrs
- AND anlz~anln1 EQ @<cards1>-anln1
- AND anlz~anln2 EQ @<cards1>-anln2
- AND anlz~adatu LE @mv_rdate
- AND anlz~bdatu GT @mv_rdate
- INTO @mv_009_mvz.
- "** 10. Наименование МВЗ
- "****************************************************************
- SELECT SINGLE cskt~ktext
- FROM cskt
- JOIN tka02 ON cskt~kokrs = tka02~kokrs
- WHERE
- cskt~spras EQ 'R'
- AND cskt~kostl EQ @mv_009_mvz
- AND cskt~datbi GE @mv_rdate
- AND tka02~kokrs EQ @<cards1>-bukrs
- INTO @mv_010_mvz_name.
- "** 11. Завод
- "****************************************************************
- SELECT SINGLE anlz~werks
- FROM anlz
- WHERE
- anlz~bukrs EQ @<cards1>-bukrs
- AND anlz~anln1 EQ @<cards1>-anln1
- AND anlz~anln2 EQ @<cards1>-anln2
- AND anlz~adatu LE @mv_rdate
- AND anlz~bdatu GT @mv_rdate
- INTO @mv_011_factory.
- "** 12. Наименование завода
- "****************************************************************
- SELECT SINGLE t001w~name1
- FROM t001w
- WHERE
- t001w~werks = @mv_011_factory
- INTO @mv_012_factory_name.
- "** 13. Местоположение
- "****************************************************************
- SELECT SINGLE anlz~stort
- FROM anlz
- WHERE
- anlz~bukrs EQ @<cards1>-bukrs
- AND anlz~anln1 EQ @<cards1>-anln1
- AND anlz~anln2 EQ @<cards1>-anln2
- AND anlz~adatu LE @mv_rdate
- AND anlz~bdatu GT @mv_rdate
- INTO @mv_013_place.
- "** 14. Наименование местоположения
- "****************************************************************
- SELECT SINGLE t499s~ktext
- FROM t499s
- WHERE
- t499s~werks = @mv_011_factory
- AND t499s~stand = @mv_013_place
- INTO @mv_014_place_name .
- "** 15. Табельный номер
- "****************************************************************
- SELECT SINGLE anlz~pernr
- FROM anlz
- WHERE
- anlz~bukrs EQ @<cards1>-bukrs
- AND anlz~anln1 EQ @<cards1>-anln1
- AND anlz~anln2 EQ @<cards1>-anln2
- AND anlz~adatu LE @mv_rdate
- AND anlz~bdatu GT @mv_rdate
- INTO @mv_015_billing_number.
- "** 16. ФИО
- "****************************************************************
- SELECT SINGLE pa0001~ename
- FROM pa0001
- JOIN anlz ON pa0001~pernr = anlz~pernr
- WHERE
- pa0001~begda LE @mv_rdate
- AND pa0001~endda GT @mv_rdate
- INTO @mv_016_fio_emp1.
- "** 17. Должность сотрудника
- "****************************************************************
- SELECT SINGLE t513s~stltx
- FROM t513s
- JOIN pa0001 ON t513s~stell = pa0001~stell
- WHERE
- t513s~sprsl EQ 'R'
- AND t513s~begda LE @mv_rdate
- AND t513s~endda GT @mv_rdate
- AND pa0001~pernr EQ @mv_015_billing_number
- AND pa0001~begda LE @mv_rdate
- AND pa0001~endda GT @mv_rdate
- INTO @mv_017_position_emp1.
- "** 18. МВП
- "****************************************************************
- SELECT SINGLE anlz~prctr
- FROM anlz
- WHERE
- anlz~bukrs EQ @<cards1>-bukrs
- AND anlz~anln1 EQ @<cards1>-anln1
- AND anlz~anln2 EQ @<cards1>-anln2
- AND anlz~adatu LE @mv_rdate
- AND anlz~bdatu GT @mv_rdate
- INTO @mv_018_mvp.
- "** 19. Наименование МВП
- "****************************************************************
- SELECT SINGLE cepct~ltext
- FROM cepct
- JOIN tka02 ON cepct~kokrs = tka02~kokrs
- WHERE
- cepct~spras EQ 'R'
- AND cepct~prctr EQ @mv_018_mvp
- AND cepct~datbi GE @mv_rdate
- AND tka02~bukrs EQ @<cards1>-bukrs
- INTO @mv_019_mvp_name.
- "** 20. Внутренний заказ
- "****************************************************************
- SELECT SINGLE anlz~iaufn
- FROM anlz
- WHERE
- anlz~bukrs EQ @<cards1>-bukrs
- AND anlz~anln1 EQ @<cards1>-anln1
- AND anlz~anln2 EQ @<cards1>-anln2
- AND anlz~adatu LE @mv_rdate
- AND anlz~bdatu GT @mv_rdate
- INTO @mv_020_inner_order.
- "** 21. Наименование внутреннего заказа
- "****************************************************************
- SELECT SINGLE aufk~ktext
- FROM aufk
- WHERE
- aufk~aufnr = @mv_020_inner_order
- INTO @mv_021_inner_order_name.
- "** 22. Организация исполнитель
- "****************************************************************
- SELECT SINGLE but000~name_org1,
- but000~name_org2,
- but000~name_org3,
- but000~name_org4
- FROM but000
- JOIN draw ON but000~partner = draw~zz_bu_partner
- JOIN anlu ON draw~doknr = anlu~zz_dogovor
- WHERE
- anlu~bukrs EQ @<cards1>-bukrs
- AND anlu~anln1 EQ @<cards1>-anln1
- AND anlu~anln2 EQ @<cards1>-anln2
- INTO CORRESPONDING FIELDS OF @ms_022_temp.
- CONCATENATE
- ms_022_temp-name_org1
- ms_022_temp-name_org2
- ms_022_temp-name_org3
- ms_022_temp-name_org4
- INTO
- mv_022_org_executive
- SEPARATED BY space.
- "** 23. Пин объекта
- "****************************************************************
- SELECT SINGLE prps~zzpin
- FROM prps
- JOIN anla ON prps~pspnr = anla~pspnr
- WHERE
- anla~bukrs EQ @<cards1>-bukrs
- AND anla~anln1 EQ @<cards1>-anln1
- AND anla~anln2 EQ @<cards1>-anln2
- INTO @mv_023_pin.
- "** 24. Дата завершения
- "****************************************************************
- SELECT SINGLE anek~bzdat
- FROM anek
- WHERE
- anek~bukrs EQ @<cards1>-bukrs
- AND anek~anln1 EQ @<cards1>-anln1
- AND anek~anln2 EQ @<cards1>-anln2
- AND anek~ldgrp EQ '0L'
- INTO @mv_024_end_date.
- "** 25. Дата постановки на учёт
- "****************************************************************
- SELECT SINGLE anla~aktiv
- FROM anla
- WHERE
- anla~bukrs EQ @<cards1>-bukrs
- AND anla~anln1 EQ @<cards1>-anln1
- AND anla~anln2 EQ @<cards1>-anln2
- INTO @mv_030_registration_date.
- "** 26. Счет затрат
- "****************************************************************
- SELECT SINGLE t095b~ktnafg
- FROM t095b
- JOIN t001 ON t095b~ktopl = t001~ktopl
- JOIN anla ON t095b~ktogr = anla~ktogr
- WHERE
- t001~bukrs EQ @<cards1>-bukrs
- AND t095b~afabe EQ @mv_002
- AND anla~bukrs EQ @<cards1>-bukrs
- AND anla~anln1 EQ @<cards1>-anln1
- AND anla~anln2 EQ @<cards1>-anln2
- INTO @mv_029_accouting_cost.
- "** 27. Первоначальная стоимость
- "****************************************************************
- CREATE OBJECT mo_026_amort.
- APPEND VALUE #( bukrs = <cards1>-bukrs anln1 = <cards1>-anln1 anln2 = <cards1>-anln2 ) TO mt_026_input.
- mo_026_amort->fetch_db(
- EXPORTING
- i_input = mt_026_input
- i_afabe = mv_002
- i_datum = mv_rdate
- ).
- ms_026_amort_out = mo_026_amort->calc( ).
- LOOP AT ms_026_amort_out ASSIGNING FIELD-SYMBOL(<ls_amort_out1>).
- mv_026_amort_perv_st = mv_026_amort_perv_st + <ls_amort_out1>-perv_st.
- ENDLOOP.
- FREE mo_026_amort.
- * "****************************************************************
- * "****************************************************************
- APPEND VALUE #(
- be = mv_001_bukrs
- name_be = mv_002_name_be
- os = <cards1>-anln1
- subnumber = <cards1>-anln2
- os_name_a = mv_05a_name_os_a
- os_name_b = mv_05b_name_os_b
- * os_name_c =
- os_class = mv_006_os_class
- class_name = mv_007_class_name
- inv_number = mv_008_inv_number
- mvz = mv_009_mvz
- mvz_name = mv_010_mvz_name
- factory = mv_011_factory
- factory_name = mv_012_factory_name
- place = mv_013_place
- place_name = mv_014_place_name
- billing_number = mv_015_billing_number
- fio_emp1 = mv_016_fio_emp1
- position_emp1 = mv_017_position_emp1
- mvp = mv_018_mvp
- mvp_name = mv_019_mvp_name
- inner_order = mv_020_inner_order
- inner_order_name = mv_021_inner_order_name
- org_executive = mv_022_org_executive
- pin_obj = mv_023_pin
- end_date = mv_024_end_date
- registration_date = mv_030_registration_date
- accounting_cost = mv_029_accouting_cost
- amort_pert_st = mv_026_amort_perv_st
- ) TO lt_alv_report.
- ENDLOOP.
- "****************************************************************
- "*** Группировка
- "****************************************************************
- grouping( EXPORTING it_alv_report = lt_alv_report
- IMPORTING et_alv_report = lt_alv_report_grouped
- ).
- LOOP AT lt_alv_report_grouped ASSIGNING FIELD-SYMBOL(<lt_alv_report_grouped>).
- APPEND <lt_alv_report_grouped> TO gt_alv_report.
- ENDLOOP.
- ENDMETHOD.
- METHOD select_pdf.
- DATA:
- lv_012_nioktr_name TYPE text240,
- ls_tab1 TYPE zsfi_0287_tab1,
- * ls_tab2 TYPE zsfi_0286_tab2,
- lv_fio_job TYPE text100.
- "** Постоянная часть
- "****************************************************************
- gv_context-editable = mv_intpdf.
- "** 1. Организация
- gv_context-is_main-organization = mv_002_name_be.
- "** 2. Структурное подразделение
- IF mv_bukrs IN mr_001.
- gv_context-is_main-mv_name = mv_019_mvp_name.
- ELSE.
- gv_context-is_main-mv_name = mv_010_mvz_name.
- ENDIF.
- "** 4. Код
- IF mv_bukrs IN mr_001.
- gv_context-is_main-code = mv_018_mvp.
- ELSE.
- gv_context-is_main-code = mv_009_mvz.
- ENDIF.
- * "** 5. номер документа
- * IF mv_shtrh IS NOT INITIAL.
- * gv_context-is_main-barcode = zcl_fiaa_static=>generate_barcode_new(
- * i_context = 'ZFI_NIOKTR21_CONTEXT'
- * i_formname = mv_form
- * i_bukrs = mv_001_bukrs
- * i_anln1 = anln1
- * i_anln2 = anln2
- * i_docnum = <wa>-fsd-n22_doc_nr
- * i_bldat = mv_rdate
- * i_found = lv_found ).
- * gv_context-is_main-card_nioktr_num =
- * ENDIF.
- "** 6. Дата составления. (rep_date с СЭ)
- gv_context-is_main-rep_date = mv_rdate.
- "** 8. Поле дата. (день из p_com_date с СЭ)
- gv_context-is_main-com_day = mv_comdat+6(2). " need test it in IDS
- "** 9. Поле месяц. (месяц из p_com_date с СЭ)
- gv_context-is_main-com_month = mv_comdat+4(2). " need test it in IDS
- "** 10. Поле год. (год из p_com_date с СЭ)
- gv_context-is_main-com_year = mv_comdat+0(4). " need test it in IDS
- "** 11. Поле №. (p_com_number с СЭ)
- gv_context-is_main-com_num = mv_comnum.
- "** 12. Поле дата. (день из p_prot_date с СЭ)
- gv_context-is_main-prot_day = mv_prot_d+6(2). " need test it in IDS
- "** 13. Поле месяц. (месяц из p_prot_date с СЭ)
- gv_context-is_main-prot_month = mv_prot_d+4(2). " need test it in IDS
- "** 14. Поле год. (год из p_prot_date с СЭ)
- gv_context-is_main-prot_year = mv_prot_d+0(4). " need test it in IDS
- "** 15. Поле №. (p_prot_number с СЭ)
- gv_context-is_main-prot_num = mv_prot_n.
- "** 16. Результат / (вид ниоктр)
- gv_context-is_main-results = mv_007_class_name.
- "** 17. Работы по теме/ (полное наименование объекта (темы) НИОКТР)
- gv_context-is_main-job = mv_05a_name_os_a.
- "** 18. Выполненной/ (наименование научной организации, структурного подразделения, номер и дата договора)
- gv_context-is_main-org = mv_022_org_executive.
- "** 19. принят к учету, передан для использования/ (указать область применения результатов НИОКТР, структурное подразделение)
- gv_context-is_main-co = mv_co.
- "** 32. Председатель комиссии
- gv_context-is_main-fio_chrm = mv_fioch.
- "** 33. Должность председатель комиссии
- gv_context-is_main-job_chrm = mv_jobch.
- "** 34. Член комиссии 1
- gv_context-is_main-fio_mc_1 = mv_fiomc1.
- "** 35. Должность члена комиссии 1
- gv_context-is_main-job_mc_1 = mv_jobmc1.
- "** 36. Член комиссии 2
- gv_context-is_main-fio_mc_2 = mv_fiomc2.
- "** 37. Должность члена комиссии 2
- gv_context-is_main-job_mc_2 = mv_jobmc2.
- "** 38. Член комиссии 3
- gv_context-is_main-fio_mc_3 = mv_fiomc3.
- "** 39. Должность члена комиссии 3
- gv_context-is_main-job_mc_3 = mv_jobmc3.
- "** 40. Член комиссии 4
- gv_context-is_main-fio_mc_4 = mv_fiomc4.
- "** 41. Должность члена комиссии 4
- gv_context-is_main-job_mc_4 = mv_jobmc4.
- "** 42. Член комиссии 5
- gv_context-is_main-fio_mc_5 = mv_fiomc5.
- "** 43. Должность члена комиссии 5
- gv_context-is_main-job_mc_5 = mv_jobmc5.
- "** 44. Член комиссии 6
- gv_context-is_main-fio_mc_6 = mv_fiomc6.
- "** 45. Должность члена комиссии 6
- gv_context-is_main-job_mc_6 = mv_jobmc6.
- "** 46. Член комиссии 7
- gv_context-is_main-fio_mc_7 = mv_fiomc7.
- "** 47. Должность члена комиссии 7
- gv_context-is_main-job_mc_7 = mv_jobmc7.
- "** 48. Член комиссии 8
- gv_context-is_main-fio_mc_8 = mv_fiomc8.
- "** 49. Должность члена комиссии 8
- gv_context-is_main-job_mc_8 = mv_jobmc8.
- "** 50. Член комиссии 9
- gv_context-is_main-fio_mc_9 = mv_fiomc9.
- "** 51. Должность члена комиссии 9
- gv_context-is_main-job_mc_9 = mv_jobmc9.
- "** 52. Член комиссии 10
- gv_context-is_main-fio_mc_10 = mv_fiomc10.
- "** 53. Должность члена комиссии 10
- gv_context-is_main-job_mc_10 = mv_jobmc10.
- "** 54. Лицо, ответственное за ведение учета
- gv_context-is_main-fio_uch = mv_fiouch. "проверить название поля gv_context-is_main-...
- "** 55. Должность лица ответственного за учёт
- gv_context-is_main-job_uch = mv_jobuch. "проверить название поля gv_context-is_main-...
- "** 56. Карточку составил
- gv_context-is_main-fio_crd = mv_fiocrd. "проверить название поля gv_context-is_main-...
- "** 57. Должность составившего карточку
- gv_context-is_main-job_crd = mv_jobcrd. "проверить название поля gv_context-is_main...
- "** Таблица 1. 20-29
- LOOP AT gt_alv_report ASSIGNING FIELD-SYMBOL(<ls_tab1>).
- CLEAR ls_tab1.
- ls_tab1-pin_obj = <ls_tab1>-pin_obj. " ПИН объекта НИОКТР/ 1 столбец (20)
- ls_tab1-inv_number = <ls_tab1>-inv_number. "Инвентарный номер объекта/ 3 столбец (21)
- ls_tab1-end_date = <ls_tab1>-end_date. "Дата завершения работ/ 4 столбец (22)
- ls_tab1-registration_date = <ls_tab1>-registration_date. "Дата постановки на учет (отражения по дебету счета 04.04)/ 5 столбец (23)
- ls_tab1-amort_pert_st = <ls_tab1>-amort_pert_st. "Первоначальная стоимость, руб. коп./ 7 столбец (25)
- ls_tab1-method = 'линейный'. "Способ списания/ 9 столбец (27). Проверить название поля.
- ls_tab1-accounting_cost = <ls_tab1>-accounting_cost. "Счет, субсчет, код аналитического учета для отнесения суммы списания НИОКТР/ 11 столбец (29)
- APPEND ls_tab1 TO gv_context-it_tab1.
- ENDLOOP.
- ENDMETHOD.
- METHOD sscr_add_fields.
- ** ms_params = is_params.
- mv_bukrs = iv_bukrs.
- mv_form = iv_form.
- mv_rdate = iv_rdate.
- mt_anln1 = it_anln1. " Основное средство
- mt_anln2 = it_anln2. " Субномер
- mt_anlkl = it_anlkl. " Класс ОС
- mt_invnr = it_invnr. " Инвентарный номер
- mt_kostl = it_kostl. " МВЗ
- mt_werks = it_werks. " Завод
- mt_stort = it_stort. " Местоположение
- mt_pernr = it_pernr. " МОЛ
- mt_prctr = it_prctr. " МВП
- mv_group = iv_group. " В разрезе структурных подразделений
- mv_mol = iv_mol. " В разрезе МОЛ
- mv_plase = iv_plase. " В разрезе местоположений
- mv_comdat = iv_comdat.
- mv_comnum = iv_comnum.
- mv_co = iv_co.
- mv_prot_n = iv_prot_n.
- mv_prot_d = iv_prot_d.
- mv_chrm = iv_chrm.
- mv_mbrc1 = iv_mbrc1.
- mv_mbrc2 = iv_mbrc2.
- mv_mbrc3 = iv_mbrc3.
- mv_mbrc4 = iv_mbrc4.
- mv_mbrc5 = iv_mbrc5.
- mv_mbrc6 = iv_mbrc6.
- mv_mbrc7 = iv_mbrc7.
- mv_mbrc8 = iv_mbrc8.
- mv_mbrc9 = iv_mbrc9.
- mv_mbrc10 = iv_mbrc10.
- mv_uchet = iv_uchet.
- mv_crd = iv_crd.
- mv_fioch = iv_fioch. " TYPE pa0001-ename,
- mv_fiomc1 = iv_fiomc1. " TYPE pa0001-ename,
- mv_fiomc2 = iv_fiomc2. " TYPE pa0001-ename,
- mv_fiomc3 = iv_fiomc3. " TYPE pa0001-ename,
- mv_fiomc4 = iv_fiomc4. " TYPE pa0001-ename,
- mv_fiomc5 = iv_fiomc5. " TYPE pa0001-ename,
- mv_fiomc6 = iv_fiomc6. " TYPE pa0001-ename,
- mv_fiomc7 = iv_fiomc7. " TYPE pa0001-ename,
- mv_fiomc8 = iv_fiomc8. " TYPE pa0001-ename,
- mv_fiomc9 = iv_fiomc9. " TYPE pa0001-ename,
- mv_fiomc10 = iv_fiomc10. " TYPE pa0001-ename,
- mv_fiouch = iv_fiouch. " TYPE pa0001-ename,
- mv_fiocrd = iv_fiocrd. " TYPE pa0001-ename,
- mv_jobch " TYPE t513s-stltx,
- mv_jobmc1 " TYPE t513s-stltx,
- mv_jobmc2 " TYPE t513s-stltx,
- mv_jobmc3 " TYPE t513s-stltx,
- mv_jobmc4 " TYPE t513s-stltx,
- mv_jobmc5 " TYPE t513s-stltx,
- mv_jobmc6 " TYPE t513s-stltx,
- mv_jobmc7 " TYPE t513s-stltx,
- mv_jobmc8 " TYPE t513s-stltx,
- mv_jobmc9 " TYPE t513s-stltx,
- mv_jobmc10 " TYPE t513s-stltx,
- mv_jobuch " TYPE t513s-stltx,
- mv_jobcrd " TYPE t513s-stltx,
- mv_debit = iv_debit. " Ответственный за оприходывание
- mv_pol = iv_pol. " Ответственный за получение
- mv_uchet = iv_uchet. " Ответственный за учёт
- mv_fiodb = iv_fiodb.
- mv_fiopol = iv_fiopol.
- mv_fiouch = iv_fiouch.
- mv_shtrh = iv_shtrh. " Сформировать штрих-код
- mv_format = iv_format.
- mv_prpdf = iv_prpdf. " Предварительный просмотр PDF
- mv_intpdf = iv_intpdf. " Интерактивный просмотр PDF
- mv_pdfnam = iv_pdfnam. " Устройство вывода
- mv_jobdb = iv_jobdb. " Ответственный за оприходывание
- mv_jobpol = iv_jobpol. " Ответственный за получение
- mv_jobuch = iv_jobuch. " Ответственный за учёт
- ENDMETHOD.
- METHOD grouping.
- DATA:
- lt_alv_report TYPE TABLE OF zsfi_0286_alv,
- lt_alv_report_temp TYPE TABLE OF zsfi_0286_alv.
- lt_alv_report = it_alv_report.
- " В разрезе структурных подразделений
- IF mv_group IS NOT INITIAL.
- IF mv_001_bukrs IN mr_001.
- LOOP AT lt_alv_report ASSIGNING FIELD-SYMBOL(<lt_alv_report>) GROUP BY <lt_alv_report>-mvp.
- LOOP AT GROUP <lt_alv_report> INTO DATA(lt_member).
- APPEND lt_member TO lt_alv_report_temp.
- ENDLOOP.
- ENDLOOP.
- ELSE.
- LOOP AT lt_alv_report ASSIGNING <lt_alv_report> GROUP BY <lt_alv_report>-mvz.
- LOOP AT GROUP <lt_alv_report> INTO lt_member.
- APPEND lt_member TO lt_alv_report_temp.
- ENDLOOP.
- ENDLOOP.
- ENDIF.
- ENDIF.
- IF lt_alv_report_temp IS NOT INITIAL.
- CLEAR lt_alv_report.
- APPEND LINES OF lt_alv_report_temp TO lt_alv_report.
- CLEAR lt_alv_report_temp.
- ENDIF.
- " В разрезе МОЛ
- IF mv_mol IS NOT INITIAL.
- LOOP AT lt_alv_report ASSIGNING <lt_alv_report> GROUP BY <lt_alv_report>-inv_number.
- LOOP AT GROUP <lt_alv_report> INTO lt_member.
- APPEND lt_member TO lt_alv_report_temp.
- ENDLOOP.
- ENDLOOP.
- ENDIF.
- IF lt_alv_report_temp IS NOT INITIAL.
- CLEAR lt_alv_report.
- APPEND LINES OF lt_alv_report_temp TO lt_alv_report.
- CLEAR lt_alv_report_temp.
- ENDIF.
- " В разрезе местоположений
- IF mv_plase IS NOT INITIAL.
- LOOP AT lt_alv_report ASSIGNING <lt_alv_report> GROUP BY <lt_alv_report>-place.
- LOOP AT GROUP <lt_alv_report> INTO lt_member.
- APPEND lt_member TO lt_alv_report_temp.
- ENDLOOP.
- ENDLOOP.
- ENDIF.
- IF lt_alv_report_temp IS NOT INITIAL.
- CLEAR lt_alv_report.
- APPEND LINES OF lt_alv_report_temp TO lt_alv_report.
- CLEAR lt_alv_report_temp.
- ENDIF.
- et_alv_report = lt_alv_report.
- " Без группировки
- * IF mv_group IS INITIAL
- * AND mv_mol IS INITIAL
- * AND mv_plase IS INITIAL.
- * LOOP AT lt_alv_report ASSIGNING <lt_alv_report>.
- * APPEND <lt_alv_report> TO gt_alv_report.
- * ENDLOOP.
- * ENDIF.
- ENDMETHOD.
- METHOD add_param_to_range.
- DATA: ls_new_line TYPE REF TO data.
- DATA: lv_sign TYPE char1.
- DATA: lv_option TYPE char2.
- DATA: iv_sign_opt_loc TYPE char3.
- FIELD-SYMBOLS: <lt_itab> TYPE ANY TABLE.
- iv_sign_opt_loc = iv_sign_opt.
- IF strlen( iv_sign_opt_loc ) < 2.
- iv_sign_opt_loc = 'IEQ'.
- ENDIF.
- lv_sign = iv_sign_opt_loc(1).
- lv_option = iv_sign_opt_loc+1.
- ASSIGN ('CT_RANGE[]') TO <lt_itab>.
- IF sy-subrc = 0.
- CREATE DATA ls_new_line LIKE LINE OF <lt_itab>.
- ASSIGN ls_new_line->* TO FIELD-SYMBOL(<ls_line>).
- IF sy-subrc = 0.
- ASSIGN COMPONENT 'SIGN' OF STRUCTURE <ls_line> TO FIELD-SYMBOL(<lv_sign>). <lv_sign> = lv_sign.
- ASSIGN COMPONENT 'OPTION' OF STRUCTURE <ls_line> TO FIELD-SYMBOL(<lv_option>). <lv_option> = lv_option.
- ASSIGN COMPONENT 'LOW' OF STRUCTURE <ls_line> TO FIELD-SYMBOL(<lv_low>). <lv_low> = iv_value.
- ASSIGN COMPONENT 'HIGH' OF STRUCTURE <ls_line> TO FIELD-SYMBOL(<lv_high>). <lv_high> = space.
- INSERT <ls_line> INTO TABLE <lt_itab>.
- ENDIF.
- ENDIF.
- ENDMETHOD.
- ENDCLASS.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement