Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CLASS zcl_fi_0287_nioktr11 DEFINITION
- PUBLIC
- INHERITING FROM zcl_fi_0197_abstract
- FINAL
- CREATE PUBLIC .
- PUBLIC SECTION.
- TYPES:
- *-- Sort fields for control structures
- BEGIN OF t_sort.
- TYPES srtf1 TYPE text1024.
- TYPES srtf2 TYPE text1024.
- TYPES srtf3 TYPE text1024.
- TYPES srtf_bukrs TYPE bukrs.
- TYPES srtf_anln1 TYPE anln1.
- TYPES srtf_anln2 TYPE anln2.
- INCLUDE TYPE zsfi_0287_alv.
- TYPES END OF t_sort .
- TYPES:
- tt_sort TYPE STANDARD TABLE OF t_sort .
- METHODS pdf_print_loc
- IMPORTING
- !io_if TYPE REF TO zreuseif_pdf_print
- !iv_doc_split TYPE xfeld OPTIONAL .
- METHODS change_salv_specific
- REDEFINITION .
- METHODS on_user_command
- REDEFINITION .
- METHODS print_salv
- REDEFINITION .
- METHODS salv_command_zpdf
- REDEFINITION .
- METHODS select_data_specific
- REDEFINITION .
- METHODS show_result
- REDEFINITION .
- PROTECTED SECTION.
- TYPES:
- BEGIN OF gty_os_cards,
- bukrs TYPE anla-bukrs,
- anln1 TYPE anla-anln1,
- anln2 TYPE anla-anln2,
- END OF gty_os_cards .
- TYPES:
- BEGIN OF gty_zpin,
- bukrs TYPE bukrs,
- anln1 TYPE anln1,
- anln2 TYPE anln2,
- zzpin TYPE zepin,
- END OF gty_zpin.
- TYPES:
- BEGIN OF gty_txk50,
- bukrs TYPE bukrs,
- anln1 TYPE anln1,
- anln2 TYPE anln2,
- tkx50 TYPE txt50_ankt,
- END OF gty_txk50.
- TYPES:
- BEGIN OF gty_draw,
- bukrs TYPE bukrs,
- anln1 TYPE anln1,
- anln2 TYPE anln2,
- zz_num_reg TYPE zedms_numreg,
- zz_datum_reg TYPE zedms_datreg,
- END OF gty_draw .
- TYPES:
- BEGIN OF gty_ename,
- ename TYPE emnam,
- pernr TYPE pernr_d,
- END OF gty_ename.
- TYPES:
- BEGIN OF gty_stltx,
- stltx TYPE stltx,
- pernr TYPE pernr_d,
- END OF gty_stltx.
- TYPES:
- BEGIN OF gty_ktnafg,
- ktnafg TYPE ktnafg,
- afabe TYPE afabe_d,
- bukrs TYPE bukrs,
- anln1 TYPE anln1,
- anln2 TYPE anln2,
- END OF gty_ktnafg.
- TYPES:
- BEGIN OF gty_name_org,
- bukrs TYPE bukrs,
- anln1 TYPE anln1,
- anln2 TYPE anln2,
- name_org1 TYPE BU_NAMEOR1,
- name_org2 TYPE BU_NAMEOR2,
- name_org3 TYPE BU_NAMEOR3,
- name_org4 TYPE BU_NAMEOR4,
- END OF gty_name_org.
- TYPES:
- BEGIN OF gty_cskt_ktext,
- ktext TYPE ktext,
- kostl TYPE kostl,
- END OF gty_cskt_ktext.
- TYPES:
- BEGIN OF gty_cepct_ltext,
- ltext TYPE LTEXT,
- prctr TYPE prctr,
- END OF gty_cepct_ltext.
- DATA: mt_cepct_ltext TYPE TABLE OF gty_cepct_ltext WITH NON-UNIQUE KEY prctr.
- DATA: mt_cskt_ktext TYPE TABLE OF gty_cskt_ktext WITH NON-UNIQUE KEY kostl.
- DATA: mt_name_org TYPE TABLE OF gty_name_org WITH NON-UNIQUE KEY bukrs anln1 anln2.
- DATA: mt_ktnafg TYPE TABLE OF gty_ktnafg WITH NON-UNIQUE KEY bukrs anln1 anln2 afabe.
- DATA: mt_stltx TYPE TABLE OF gty_stltx WITH NON-UNIQUE KEY pernr.
- DATA: mt_ename TYPE TABLE OF gty_ename WITH NON-UNIQUE KEY pernr.
- DATA: mt_zpin TYPE TABLE OF gty_zpin WITH NON-UNIQUE KEY bukrs anln1 anln2.
- DATA: mt_txk50 TYPE TABLE OF gty_txk50 WITH NON-UNIQUE KEY bukrs anln1 anln2.
- DATA:
- mt_prctr TYPE RANGE OF anlz-prctr . "МВП
- DATA:
- mt_alv_data TYPE TABLE OF zsfi_0287_alv .
- DATA:
- mt_forms_list_anlkl TYPE TABLE OF anla .
- DATA mv_afabe TYPE anlb-afabe .
- DATA:
- mt_os_cards TYPE TABLE OF gty_os_cards .
- DATA mt_aufk TYPE zifi_0287_aufk_tt.
- DATA:
- mr_001 TYPE RANGE OF t001-bukrs .
- DATA mv_002 TYPE afabe_d .
- DATA mv_co_mvz TYPE ktext .
- DATA mv_co_mvp TYPE ltext .
- DATA mv_001_bukrs TYPE bukrs . " БЕ
- DATA mv_002_name_be TYPE text80 . " Имя БЕ
- DATA mv_002_temp TYPE adrc .
- DATA mv_05a_name_os_a TYPE txa50_anlt . " Название ОС
- DATA mv_05b_name_os_b TYPE txa50_more . " Название ОС (продолжение)
- DATA mv_05c_name_os_c TYPE anlkl . "
- DATA mv_006_os_class TYPE anlkl . " Класс ОС
- DATA mv_007_class_name TYPE txa50_anlt . " Наименование класса
- DATA mv_008_inv_number TYPE invnr_anla . " Инвентарный номер
- DATA mv_009_mvz TYPE kostl . " МВЗ
- DATA mv_010_mvz_name TYPE ktext . " Наименование МВЗ
- DATA mv_011_factory TYPE werks_d . " Завод
- DATA mv_012_factory_name TYPE name1 . " Наименование завода
- DATA mv_013_place TYPE stort . " Местоположение
- DATA mv_014_place_name TYPE ktext . " Наименование местоположения
- DATA mv_015_billing_number TYPE persno . " Табельный номер
- DATA mv_016_fio_emp1 TYPE ename . " ФИО
- DATA mv_017_position_emp1 TYPE stltx . " Должность сотрудника
- DATA mv_018_mvp TYPE prctr . " МВП
- DATA mv_019_mvp_name TYPE ltext . " Наименование МВП
- DATA mv_020_inner_order TYPE aufnr . " Внутренний заказ
- DATA mv_021_inner_order_name TYPE text40 . " Наименование внутреннего заказа
- DATA mv_022_org_executive TYPE text80 . " Организация исполнитель
- DATA ms_022_temp TYPE but000 .
- DATA mv_023_pin TYPE zepin . " Пин объекта
- DATA mv_024_end_date TYPE bzdat . " Дата завершения
- DATA mv_030_registration_date TYPE aktivd . " дата постановки на учёт (25)
- DATA mv_029_accouting_cost TYPE ktnafg . " счёт затрат (26)
- DATA mt_026_input TYPE zifiaa_amort_in . "первонач стоимость (27)
- DATA mv_026_amort_perv_st TYPE j_3r_orig_costs .
- DATA mo_026_amort TYPE REF TO zcl_fiaa_amort_common .
- DATA ms_026_amort_in TYPE zsfiaa_amort_in . "zifiaa_amort_in WITH HEADER LINE,
- DATA ms_026_amort_out TYPE zifiaa_amort_out .
- PRIVATE SECTION.
- DATA:
- mt_afabe TYPE RANGE OF anlb-afabe .
- METHODS pdf_prepare
- RETURNING
- VALUE(ro_object) TYPE REF TO zreuseif_pdf_print .
- METHODS fill_alv .
- ENDCLASS.
- CLASS ZCL_FI_0287_NIOKTR11 IMPLEMENTATION.
- * <SIGNATURE>---------------------------------------------------------------------------------------+
- * | Instance Public Method ZCL_FI_0287_NIOKTR11->CHANGE_SALV_SPECIFIC
- * +-------------------------------------------------------------------------------------------------+
- * +--------------------------------------------------------------------------------------</SIGNATURE>
- METHOD change_salv_specific.
- DATA: lo_column TYPE REF TO cl_salv_column.
- DATA: lt_columns TYPE TABLE OF lvc_fname.
- DATA: lo_layout TYPE REF TO cl_salv_layout.
- DATA: lo_layout_key TYPE salv_s_layout_key.
- DATA: lo_functs TYPE REF TO cl_salv_functions.
- mo_salv->set_screen_status(
- pfstatus = 'SALV_STANDARD'
- report = 'ZFI_0287_NIOKTR11'
- set_functions = mo_salv->c_functions_all ).
- CLEAR: lo_layout, lo_layout_key.
- MOVE ms_params-repid TO lo_layout_key-report. "Set Report ID as Layout Key"
- lo_layout = mo_salv->get_layout( ). "Get Layout of Table"
- lo_layout->set_key( lo_layout_key ). "Set Report Id to Layout"
- lo_layout->set_save_restriction( if_salv_c_layout=>restrict_none ). "No Restriction to Save Layout"
- IF ms_params-format IS INITIAL.
- lo_layout->set_default( abap_true ). "Set Default Variant"
- ELSE.
- lo_layout->set_initial_layout( ms_params-format ). "Set the Selected Variant as Initial"
- ENDIF.
- DATA(lo_selections) = mo_salv->get_selections( ). "Set selection mode
- lo_selections->set_selection_mode( if_salv_c_selection_mode=>row_column ).
- lo_functs = mo_salv->get_functions( ).
- lo_functs->set_all( abap_true ).
- " ** Убираем кнопки, логика которых которые ещё не реализована
- TRY.
- lo_functs->set_function( name = 'ZEXPORT' boolean = abap_false ).
- lo_functs->set_function( name = 'ZIMPORT' boolean = abap_false ).
- lo_functs->set_function( name = 'ZSAVE' boolean = abap_false ).
- CATCH cx_salv_not_found.
- CATCH cx_salv_wrong_call.
- ENDTRY.
- mo_salv_columns = mo_salv->get_columns( ).
- mo_salv_columns->set_optimize( 'X' ).
- DATA: lo_events TYPE REF TO cl_salv_events_table.
- lo_events = mo_salv->get_event( ).
- SET HANDLER me->on_user_command FOR lo_events.
- SET HANDLER me->on_double_click FOR lo_events.
- ENDMETHOD.
- * <SIGNATURE>---------------------------------------------------------------------------------------+
- * | Instance Private Method ZCL_FI_0287_NIOKTR11->FILL_ALV
- * +-------------------------------------------------------------------------------------------------+
- * +--------------------------------------------------------------------------------------</SIGNATURE>
- METHOD fill_alv. " Заполнение таблицы для вывода в ALV
- DATA: ls_anla LIKE LINE OF mt_anla,
- ls_anlz LIKE LINE OF mt_anlz,
- ls_t001w LIKE LINE OF mt_t001w,
- ls_t499s LIKE LINE OF mt_t499s,
- ls_aufk LIKE LINE OF mt_aufk,
- ls_zpin LIKE LINE OF mt_zpin,
- ls_txk50 LIKE LINE OF mt_txk50,
- ls_ename LIKE LINE OF mt_ename,
- ls_stltx LIKE LINE OF mt_stltx,
- ls_ktnafg LIKE LINE OF mt_ktnafg,
- ls_name_org LIKE LINE OF mt_name_org,
- ls_cskt_ktext LIKE LINE OF mt_cskt_ktext,
- ls_cepct_ltext LIKE LINE OF mt_cepct_ltext.
- CALL METHOD zcl_params=>get_range
- EXPORTING
- i_prgid = 'Z_FORMS_VNA'
- i_varid = '001'
- i_table = 'T001'
- i_field = 'BUKRS'
- IMPORTING
- e_range = mr_001
- EXCEPTIONS
- no_data = 1
- is_parameter = 2
- OTHERS = 3.
- IF sy-subrc <> 0.
- MESSAGE s002(zca_zssp) WITH 'Z_FORMS_VNA' '001' 'T001'.
- ENDIF.
- CALL METHOD zcl_params=>get_parameter
- EXPORTING
- i_prgid = 'Z_FORMS_VNA'
- i_varid = '002'
- i_table = 'ANLB'
- i_field = 'AFABE'
- IMPORTING
- e_value = mv_002
- EXCEPTIONS
- no_data = 1
- is_range = 2
- OTHERS = 3.
- IF sy-subrc <> 0.
- MESSAGE s001(zca_zssp) WITH 'Z_FORMS_VNA' '002'.
- ENDIF.
- CLEAR mt_anla.
- SELECT bukrs, anln1, anln2, txt50, txa50, anlkl, invnr, posnr, aktiv, ktogr
- FROM anla
- INTO CORRESPONDING FIELDS OF TABLE @mt_anla
- FOR ALL ENTRIES IN @mt_os_cards
- WHERE
- anla~bukrs = @mt_os_cards-bukrs AND
- anla~anln1 = @mt_os_cards-anln1 AND
- anla~anln2 = @mt_os_cards-anln2.
- CLEAR mt_anlz.
- SELECT bukrs, anln1, anln2, bdatu, kostl, werks, stort, pernr, prctr, caufn
- FROM anlz
- INTO CORRESPONDING FIELDS OF TABLE @mt_anlz
- FOR ALL ENTRIES IN @mt_os_cards
- WHERE
- anlz~bukrs = @mt_os_cards-bukrs AND
- anlz~anln1 = @mt_os_cards-anln1 AND
- anlz~anln2 = @mt_os_cards-anln2 AND
- anlz~bdatu GT @ms_params-date AND
- anlz~adatu LE @ms_params-date.
- CLEAR mt_t001w.
- SELECT werks, name1
- FROM t001w
- INTO CORRESPONDING FIELDS OF TABLE @mt_t001w.
- CLEAR mt_t499s.
- SELECT werks, stand, ktext
- FROM t499s
- INTO CORRESPONDING FIELDS OF TABLE @mt_t499s.
- CLEAR mt_aufk.
- SELECT aufnr, ktext "#EC CI_NOWHERE
- FROM aufk
- INTO CORRESPONDING FIELDS OF TABLE @mt_aufk.
- CLEAR mt_zpin.
- SELECT anla~bukrs, anla~anln1, anla~anln2, prps~zzpin
- FROM prps
- JOIN anla ON prps~pspnr = anla~posnr
- INTO TABLE @mt_zpin
- FOR ALL ENTRIES IN @mt_os_cards
- WHERE anla~bukrs = @mt_os_cards-bukrs AND
- anla~anln1 = @mt_os_cards-anln1 AND
- anla~anln2 = @mt_os_cards-anln2.
- CLEAR mt_txk50.
- SELECT anla~bukrs, anla~anln1, anla~anln2, ankt~txk50 " anka~txk50 "#EC CI_BUFFJOIN
- FROM anla
- JOIN anka ON anka~anlkl = anla~anlkl
- JOIN ankt ON anka~anlkl = ankt~anlkl
- INTO TABLE @mt_txk50
- FOR ALL ENTRIES IN @mt_os_cards
- WHERE
- anla~bukrs = @mt_os_cards-bukrs
- AND anla~anln1 = @mt_os_cards-anln1
- AND anla~anln2 = @mt_os_cards-anln2.
- CLEAR mt_ename.
- SELECT pa0001~ename, anlz~pernr
- FROM pa0001
- JOIN anlz ON pa0001~pernr = anlz~pernr
- WHERE
- pa0001~begda LE @ms_params-date AND
- pa0001~endda GT @ms_params-date
- INTO TABLE @mt_ename.
- CLEAR mt_stltx.
- SELECT t513s~stltx, pa0001~pernr
- FROM t513s
- JOIN pa0001 ON t513s~stell = pa0001~stell
- WHERE
- t513s~sprsl EQ 'R' AND
- t513s~begda LE @ms_params-date AND
- t513s~endda GT @ms_params-date AND
- pa0001~begda LE @ms_params-date AND
- pa0001~endda GT @ms_params-date
- INTO TABLE @mt_stltx.
- CLEAR mt_ktnafg.
- SELECT t095b~ktnafg, t095b~afabe, anla~bukrs, anla~anln1, anla~anln2
- FROM t095b
- JOIN t001 ON t095b~ktopl = t001~ktopl
- JOIN anla ON t095b~ktogr = anla~ktogr "#EC CI_BUFFJOIN
- WHERE
- anla~bukrs EQ @ms_params-bukrs AND
- t095b~afabe EQ @mv_002
- INTO TABLE @mt_ktnafg.
- SELECT anlu~bukrs, anlu~anln1, anlu~anln2,
- 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
- INTO TABLE @mt_name_org
- FOR ALL ENTRIES IN @mt_os_cards
- WHERE
- anlu~bukrs EQ @mt_os_cards-bukrs
- AND anlu~anln1 EQ @mt_os_cards-anln1
- AND anlu~anln2 EQ @mt_os_cards-anln2.
- SELECT cskt~ktext, cskt~kostl
- FROM cskt
- JOIN tka02 ON cskt~kokrs = tka02~kokrs "#EC CI_BUFFJOIN
- WHERE
- cskt~spras EQ 'R'
- AND cskt~datbi GE @ms_params-date
- INTO TABLE @mt_cskt_ktext.
- SELECT cepct~ltext, cepct~prctr
- FROM cepct
- JOIN tka02 ON cepct~kokrs = tka02~kokrs "#EC CI_BUFFJOIN
- WHERE
- cepct~spras EQ 'R'
- AND cepct~datbi GE @ms_params-date
- AND tka02~bukrs EQ @ms_params-bukrs
- INTO TABLE @mt_cepct_ltext.
- IF ms_params-bukrs NOT IN mr_001.
- READ TABLE mt_cskt_ktext INTO ls_cskt_ktext WITH TABLE KEY kostl = ms_params-nioktr11-co.
- mv_co_mvz = ls_cskt_ktext-ktext.
- ELSE.
- READ TABLE mt_cepct_ltext INTO ls_cepct_ltext WITH TABLE KEY prctr = ms_params-nioktr11-co.
- mv_co_mvp = ls_cepct_ltext-ltext.
- ENDIF.
- "****************************************************************
- "*** Выборка для ALV по карточкам
- "****************************************************************
- "** 1. БЕ
- "****************************************************************
- mv_001_bukrs = ms_params-bukrs.
- "** 2. Наименование БЕ
- "****************************************************************
- SELECT SINGLE adrc~name1, adrc~name2, adrc~name3, adrc~name4 "#EC CI_BUFFJOIN
- FROM adrc
- JOIN t001 ON adrc~addrnumber = t001~adrnr
- WHERE
- adrc~nation EQ ''
- AND t001~bukrs EQ @ms_params-bukrs
- INTO CORRESPONDING FIELDS OF @mv_002_temp.
- IF mv_002_temp-name1 IS NOT INITIAL.
- CONCATENATE mv_002_temp-name1 mv_002_name_be INTO mv_002_name_be SEPARATED BY ', '.
- ENDIF.
- IF mv_002_temp-name2 IS NOT INITIAL.
- CONCATENATE mv_002_temp-name2 mv_002_name_be INTO mv_002_name_be SEPARATED BY ', '.
- ENDIF.
- IF mv_002_temp-name3 IS NOT INITIAL.
- CONCATENATE mv_002_temp-name3 mv_002_name_be INTO mv_002_name_be SEPARATED BY ', '.
- ENDIF.
- IF mv_002_temp-name4 IS NOT INITIAL.
- CONCATENATE mv_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(<ls_cards>).
- "** 5a. Название ОС
- "****************************************************************
- CLEAR ls_anla.
- READ TABLE mt_anla INTO ls_anla WITH TABLE KEY bukrs = <ls_cards>-bukrs
- anln1 = <ls_cards>-anln1
- anln2 = <ls_cards>-anln2.
- "** 7. Наименование класса
- "****************************************************************
- CLEAR ls_txk50.
- READ TABLE mt_txk50 INTO ls_txk50 WITH TABLE KEY bukrs = <ls_cards>-bukrs
- anln1 = <ls_cards>-anln1
- anln2 = <ls_cards>-anln2.
- "** 9. МВЗ
- "****************************************************************
- CLEAR ls_anlz.
- LOOP AT mt_anlz INTO ls_anlz USING KEY primary_key WHERE bukrs = <ls_cards>-bukrs AND "#EC CI_NESTED
- anln1 = <ls_cards>-anln1 AND
- anln2 = <ls_cards>-anln2 AND
- bdatu GT ms_params-date AND
- adatu LE ms_params-date.
- EXIT.
- ENDLOOP.
- "** 10. Наименование МВЗ
- "****************************************************************
- CLEAR ls_cskt_ktext.
- READ TABLE mt_cskt_ktext INTO ls_cskt_ktext WITH TABLE KEY kostl = ls_anlz-kostl.
- "** 12. Наименование завода
- "****************************************************************
- CLEAR ls_t001w.
- READ TABLE mt_t001w INTO ls_t001w WITH TABLE KEY werks = ls_anlz-werks.
- "** 14. Наименование местоположения
- "****************************************************************
- CLEAR ls_t499s.
- READ TABLE mt_t499s INTO ls_t499s WITH TABLE KEY werks = ls_anlz-werks
- stand = ls_anlz-stort.
- "** 16. ФИО
- "****************************************************************
- CLEAR ls_ename.
- READ TABLE mt_ename INTO ls_ename WITH TABLE KEY pernr = ls_anlz-pernr.
- "** 17. Должность сотрудника
- "****************************************************************
- CLEAR ls_stltx.
- READ TABLE mt_stltx INTO ls_stltx WITH TABLE KEY pernr = ls_anlz-pernr.
- "** 19. Наименование МВП
- "****************************************************************
- CLEAR ls_cepct_ltext.
- READ TABLE mt_cepct_ltext INTO ls_cepct_ltext WITH TABLE KEY prctr = ls_anlz-prctr.
- "** 21. Наименование внутреннего заказа
- "****************************************************************
- CLEAR ls_aufk.
- READ TABLE mt_aufk INTO ls_aufk WITH TABLE KEY aufnr = ls_anlz-caufn.
- "** 22. Организация исполнитель
- "****************************************************************
- CLEAR ls_name_org.
- READ TABLE mt_name_org INTO ls_name_org WITH TABLE KEY bukrs = <ls_cards>-bukrs
- anln1 = <ls_cards>-anln1
- anln2 = <ls_cards>-anln2.
- CONCATENATE
- ls_name_org-name_org1
- ls_name_org-name_org2
- ls_name_org-name_org3
- ls_name_org-name_org4
- INTO
- mv_022_org_executive
- SEPARATED BY space.
- "** 23. Пин объекта
- "****************************************************************
- CLEAR ls_zpin.
- READ TABLE mt_zpin INTO ls_zpin WITH TABLE KEY bukrs = <ls_cards>-bukrs
- anln1 = <ls_cards>-anln1
- anln2 = <ls_cards>-anln2.
- "** 26. Счет затрат
- "****************************************************************
- CLEAR ls_ktnafg.
- READ TABLE mt_ktnafg INTO ls_ktnafg WITH TABLE KEY bukrs = <ls_cards>-bukrs
- anln1 = <ls_cards>-anln1
- anln2 = <ls_cards>-anln2
- afabe = mv_002.
- "** 27. Первоначальная стоимость
- "****************************************************************
- CREATE OBJECT mo_026_amort.
- CLEAR mt_026_input.
- CLEAR mv_026_amort_perv_st.
- FREE ms_026_amort_out.
- APPEND VALUE #( bukrs = <ls_cards>-bukrs anln1 = <ls_cards>-anln1 anln2 = <ls_cards>-anln2 ) TO mt_026_input.
- mo_026_amort->fetch_db(
- EXPORTING
- i_input = mt_026_input
- i_afabe = mv_002
- i_datum = ms_params-date
- ).
- ms_026_amort_out = mo_026_amort->calc( ).
- LOOP AT ms_026_amort_out ASSIGNING FIELD-SYMBOL(<ls_amort_out1>). "#EC CI_NESTED
- 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 = <ls_cards>-anln1
- subnumber = <ls_cards>-anln2
- os_name_a = ls_anla-txt50
- os_name_b = ls_anla-txa50
- os_class = ls_anla-anlkl
- class_name = ls_txk50-tkx50
- inv_number = ls_anla-invnr
- mvz = ls_anlz-kostl
- mvz_name = ls_cskt_ktext-ktext
- factory = ls_anlz-werks
- factory_name = ls_t001w-name1
- place = ls_anlz-stort
- place_name = ls_t499s-ktext
- billing_number = ls_anlz-pernr
- fio_emp1 = ls_ename-ename
- position_emp1 = ls_stltx-stltx
- mvp = ls_anlz-prctr
- mvp_name = ls_cepct_ltext-ltext
- inner_order = ls_anlz-caufn
- inner_order_name = ls_aufk-ktext
- org_executive = mv_022_org_executive
- pin_obj = ls_zpin-zzpin
- end_date = mv_024_end_date
- registration_date = ls_anla-aktiv
- accounting_cost = ls_ktnafg-ktnafg
- amort_pert_st = mv_026_amort_perv_st
- ) TO mt_alv_data.
- ENDLOOP.
- ENDMETHOD.
- * <SIGNATURE>---------------------------------------------------------------------------------------+
- * | Instance Public Method ZCL_FI_0287_NIOKTR11->ON_USER_COMMAND
- * +-------------------------------------------------------------------------------------------------+
- * | [--->] E_SALV_FUNCTION LIKE
- * +--------------------------------------------------------------------------------------</SIGNATURE>
- METHOD on_user_command.
- CALL METHOD super->on_user_command
- EXPORTING
- e_salv_function = e_salv_function.
- ENDMETHOD.
- * <SIGNATURE>---------------------------------------------------------------------------------------+
- * | Instance Private Method ZCL_FI_0287_NIOKTR11->PDF_PREPARE
- * +-------------------------------------------------------------------------------------------------+
- * | [<-()] RO_OBJECT TYPE REF TO ZREUSEIF_PDF_PRINT
- * +--------------------------------------------------------------------------------------</SIGNATURE>
- METHOD pdf_prepare.
- CONSTANTS: lc_prgid TYPE programm VALUE 'Z_FORMS_VNA',
- lc_varid_001 TYPE variant VALUE '001',
- lc_table_t001 TYPE tabname VALUE 'T001',
- lc_field_bukrs TYPE fieldname VALUE 'BUKRS',
- lc_adatu_empty TYPE sy-datum VALUE '19000101'.
- DATA: lo_sel TYPE REF TO cl_salv_selections,
- lr_bukrs_forms_vna TYPE RANGE OF anla-bukrs,
- lt_row TYPE salv_t_row,
- lv_index TYPE sy-index,
- lt_group_table TYPE tt_sort,
- lv_adatu_min TYPE sy-datum,
- lt_context TYPE zifi_0287_context,
- lv_barcode TYPE zefi_barcode,
- lv_found TYPE xfeld,
- lv_dock_num TYPE zedfi_0197_form_nbr,
- lv_xstil_prev TYPE c VALUE 'F'. "проставим значение для первого прохода
- DATA ls_context TYPE zsfi_0287_context.
- DATA lo_nioktr11 TYPE REF TO zcl_fi_0287_nioktr11_pdf.
- CREATE OBJECT lo_nioktr11.
- lo_sel = mo_salv->get_selections( ).
- lt_row = lo_sel->get_selected_rows( ).
- IF lines( lt_row ) = 0.
- LOOP AT mt_alv_data ASSIGNING FIELD-SYMBOL(<ls_alv>).
- APPEND sy-tabix TO lt_row.
- ENDLOOP.
- ENDIF.
- "выборка ZSSP Z_FORMS_VNA
- zcl_params=>get_range( EXPORTING i_prgid = lc_prgid
- i_varid = lc_varid_001
- i_table = lc_table_t001
- i_field = lc_field_bukrs
- IMPORTING e_range = lr_bukrs_forms_vna
- EXCEPTIONS no_data = 1
- is_parameter = 2
- OTHERS = 3 ).
- IF sy-subrc NE 0.
- CLEAR lr_bukrs_forms_vna[].
- ENDIF.
- " **********************************************************************
- " Группировка
- LOOP AT lt_row ASSIGNING FIELD-SYMBOL(<ls_row>).
- READ TABLE mt_alv_data ASSIGNING <ls_alv> INDEX <ls_row>.
- IF sy-subrc EQ 0.
- APPEND INITIAL LINE TO lt_group_table ASSIGNING FIELD-SYMBOL(<ls_group>).
- MOVE-CORRESPONDING <ls_alv> TO <ls_group>.
- IF ms_params-nioktr11-group EQ abap_true.
- IF ms_params-bukrs IN lr_bukrs_forms_vna.
- <ls_group>-srtf1 = <ls_alv>-mvp. "МВП
- ELSE.
- <ls_group>-srtf1 = <ls_alv>-mvz. "МВЗ
- ENDIF.
- ENDIF.
- IF ms_params-nioktr11-mol EQ abap_true. "Группировка в разрезе МОЛ
- <ls_group>-srtf2 = <ls_alv>-billing_number.
- ENDIF.
- IF ms_params-nioktr11-plase EQ abap_true. "Группировка в разрезе Местоположение
- CONCATENATE <ls_alv>-factory <ls_alv>-place
- INTO <ls_group>-srtf3.
- ENDIF.
- IF ms_params-nioktr11-group EQ abap_false AND
- ms_params-nioktr11-mol EQ abap_false AND
- ms_params-nioktr11-plase EQ abap_false.
- <ls_group>-srtf_bukrs = <ls_alv>-be.
- <ls_group>-srtf_anln1 = <ls_alv>-os.
- <ls_group>-srtf_anln2 = <ls_alv>-subnumber.
- ENDIF.
- ENDIF.
- ENDLOOP.
- SORT lt_group_table BY srtf1 srtf2 srtf3 srtf_bukrs srtf_anln1 srtf_anln2.
- LOOP AT lt_group_table ASSIGNING <ls_group>.
- AT NEW srtf_anln2.
- CLEAR: ls_context, lv_adatu_min.
- lv_xstil_prev = 'F'.
- ls_context-is_main-organization = <ls_group>-name_be. " 1. Организация
- IF ms_params-bukrs IN lr_bukrs_forms_vna. " 2. структурное подразделение
- ls_context-is_main-mv_name = <ls_group>-mvp_name. "МВП
- ELSE.
- ls_context-is_main-mv_name = <ls_group>-mvz_name. "МВЗ
- ENDIF.
- IF ms_params-bukrs IN lr_bukrs_forms_vna. " 4. Код
- ls_context-is_main-code = <ls_group>-mvp. "МВП
- ELSE.
- ls_context-is_main-code = <ls_group>-mvz. "МВЗ
- ENDIF.
- " 5. Номер документа Заполняется порядковым номером
- "Заполняется только при активированной опции на селекционном экране «сформировать штрих-код»
- IF ms_params-nioktr11-shtrh EQ abap_true.
- ls_context-is_main-card_nioktr_num = ''.
- ENDIF.
- " 6. Дата составления
- ls_context-is_main-rep_date = ms_params-date.
- "** 8. Поле дата. (день из p_com_date с СЭ)
- ls_context-is_main-com_day = ms_params-nioktr11-comdat+6(2).
- "** 9. Поле месяц. (месяц из p_com_date с СЭ)
- DATA lv_com_month TYPE t7ru9a-regno.
- CALL FUNCTION 'HR_RU_MONTH_NAME_IN_GENITIVE'
- EXPORTING
- month = ms_params-nioktr11-comdat+4(2)
- IMPORTING
- name = lv_com_month.
- ls_context-is_main-com_month = lv_com_month.
- "** 10. Поле год. (год из p_com_date с СЭ)
- ls_context-is_main-com_year = ms_params-nioktr11-comdat+0(4).
- "** 11. Поле №. (p_com_number с СЭ)
- ls_context-is_main-com_num = ms_params-nioktr11-comnum.
- "** 12. Поле дата. (день из p_prot_date с СЭ)
- ls_context-is_main-prot_day = ms_params-nioktr11-prot_d+6(2).
- "** 13. Поле месяц. (месяц из p_prot_date с СЭ)
- DATA lv_prot_month TYPE t7ru9a-regno.
- CALL FUNCTION 'HR_RU_MONTH_NAME_IN_GENITIVE'
- EXPORTING
- month = ms_params-nioktr11-prot_d+4(2)
- IMPORTING
- name = lv_prot_month.
- ls_context-is_main-prot_month = lv_prot_month.
- "** 14. Поле год. (год из p_prot_date с СЭ)
- ls_context-is_main-prot_year = ms_params-nioktr11-prot_d+0(4).
- "** 15. Поле №. (p_prot_number с СЭ)
- ls_context-is_main-prot_num = ms_params-nioktr11-prot_n.
- "** 16. Результат / (вид ниоктр)
- ls_context-is_main-results = <ls_group>-class_name.
- "** 17. Работы по теме/ (полное наименование объекта (темы) НИОКТР)
- ls_context-is_main-job = <ls_group>-os_name_a.
- "** 18. Выполненной/ (наименование научной организации, структурного подразделения, номер и дата договора)
- ls_context-is_main-org = <ls_group>-org_executive.
- "** 19. принят к учету, передан для использования/ (указать область применения результатов НИОКТР, структурное подразделение)
- IF ms_params-bukrs IN lr_bukrs_forms_vna.
- ls_context-is_main-co = mv_co_mvp.
- ELSE.
- ls_context-is_main-co = mv_co_mvz.
- ENDIF.
- ENDAT.
- APPEND INITIAL LINE TO ls_context-it_tab1 ASSIGNING FIELD-SYMBOL(<ls_tab1>).
- <ls_tab1>-pin = <ls_group>-pin_obj.
- <ls_tab1>-inv_num = <ls_group>-inv_number.
- <ls_tab1>-end_dat = <ls_group>-end_date.
- <ls_tab1>-reg_dat = <ls_group>-registration_date.
- <ls_tab1>-amort_pert_st = <ls_group>-amort_pert_st.
- <ls_tab1>-debit_method = 'линейный'.
- <ls_tab1>-accounting_cost = <ls_group>-accounting_cost.
- AT END OF srtf_anln2.
- "** 32. Председатель комиссии
- ls_context-is_main-fio_chrm = ms_params-nioktr11-fioch. " mv_fioch.
- "** 33. Должность председатель комиссии
- ls_context-is_main-job_chrm = ms_params-nioktr11-jobch. " mv_jobch.
- "** 34. Член комиссии 1
- ls_context-is_main-fio_mc_1 = ms_params-nioktr11-fiomc1. " mv_fiomc1.
- "** 35. Должность члена комиссии 1
- ls_context-is_main-job_mc_1 = ms_params-nioktr11-jobmc1. " mv_jobmc1.
- "** 36. Член комиссии 2
- ls_context-is_main-fio_mc_2 = ms_params-nioktr11-fiomc2. " mv_fiomc2.
- "** 37. Должность члена комиссии 2
- ls_context-is_main-job_mc_2 = ms_params-nioktr11-jobmc2. " mv_jobmc2.
- "** 38. Член комиссии 3
- ls_context-is_main-fio_mc_3 = ms_params-nioktr11-fiomc3. " mv_fiomc3.
- "** 39. Должность члена комиссии 3
- ls_context-is_main-job_mc_3 = ms_params-nioktr11-jobmc3. " mv_jobmc3.
- "** 40. Член комиссии 4
- ls_context-is_main-fio_mc_4 = ms_params-nioktr11-fiomc4. " mv_fiomc4.
- "** 41. Должность члена комиссии 4
- ls_context-is_main-job_mc_4 = ms_params-nioktr11-jobmc4. " mv_jobmc4.
- "** 42. Член комиссии 5
- ls_context-is_main-fio_mc_5 = ms_params-nioktr11-fiomc5. " mv_fiomc5.
- "** 43. Должность члена комиссии 5
- ls_context-is_main-job_mc_5 = ms_params-nioktr11-jobmc5. " mv_jobmc5.
- "** 44. Член комиссии 6
- ls_context-is_main-fio_mc_6 = ms_params-nioktr11-fiomc6. " mv_fiomc6.
- "** 45. Должность члена комиссии 6
- ls_context-is_main-job_mc_6 = ms_params-nioktr11-jobmc6. " mv_jobmc6.
- "** 46. Член комиссии 7
- ls_context-is_main-fio_mc_7 = ms_params-nioktr11-fiomc7. " mv_fiomc7.
- "** 47. Должность члена комиссии 7
- ls_context-is_main-job_mc_7 = ms_params-nioktr11-jobmc7. " mv_jobmc7.
- "** 48. Член комиссии 8
- ls_context-is_main-fio_mc_8 = ms_params-nioktr11-fiomc8. " mv_fiomc8.
- "** 49. Должность члена комиссии 8
- ls_context-is_main-job_mc_8 = ms_params-nioktr11-jobmc8. " mv_jobmc8.
- "** 50. Член комиссии 9
- ls_context-is_main-fio_mc_9 = ms_params-nioktr11-fiomc9. " mv_fiomc9.
- "** 51. Должность члена комиссии 9
- ls_context-is_main-job_mc_9 = ms_params-nioktr11-jobmc9. " mv_jobmc9.
- "** 52. Член комиссии 10
- ls_context-is_main-fio_mc_10 = ms_params-nioktr11-fiomc10. " mv_fiomc10.
- "** 53. Должность члена комиссии 10
- ls_context-is_main-job_mc_10 = ms_params-nioktr11-jobmc10. " mv_jobmc10.
- "** 54. Лицо, ответственное за ведение учета
- ls_context-is_main-fio_uch = ms_params-nioktr11-fiouch. " mv_fiouch.
- "** 55. Должность лица ответственного за учёт
- ls_context-is_main-job_uch = ms_params-nioktr11-jobuch. " mv_jobuch.
- "** 56. Карточку составил
- ls_context-is_main-fio_crd = ms_params-nioktr11-fiocrd. " mv_fiocrd.
- "** 57. Должность составившего карточку
- ls_context-is_main-job_crd = ms_params-nioktr11-jobcrd. " mv_jobcrd.
- " Штрихкод
- IF ms_params-nioktr11-shtrh IS NOT INITIAL.
- IF lv_dock_num IS INITIAL.
- lv_dock_num = zcl_fiaa_static=>generate_docnum_new(
- EXPORTING i_context = ms_ztfi_0197_form-pdf_form
- i_formname = CONV j_3r_formname( ms_ztfi_0197_form-form_name )
- i_bukrs = <ls_group>-be
- i_anln1 = <ls_group>-os
- i_anln2 = <ls_group>-subnumber
- i_bldat = ms_params-date
- CHANGING c_found = lv_found ).
- ENDIF.
- ls_context-is_main-card_nioktr_num = lv_dock_num.
- IF lv_barcode IS INITIAL.
- ls_context-is_main-barcode = zcl_fiaa_static=>generate_barcode_new(
- i_context = 'ZFI_NIOKTR11_CONTEXT'
- i_formname = CONV j_3r_formname( 'NIOKTR11' )
- i_bukrs = <ls_group>-be
- i_anln1 = <ls_group>-os
- i_anln2 = <ls_group>-subnumber
- i_docnum = ls_context-is_main-card_nioktr_num
- i_bldat = ms_params-date
- i_found = abap_true
- i_wait = abap_true ).
- ELSE.
- zcl_fiaa_static=>generate_barcode_new(
- i_context = ms_ztfi_0197_form-pdf_form
- i_formname = CONV j_3r_formname( ms_ztfi_0197_form-form_name )
- i_bukrs = <ls_group>-be
- i_anln1 = <ls_group>-os
- i_anln2 = <ls_group>-subnumber
- i_docnum = ls_context-is_main-card_nioktr_num
- i_bldat = ms_params-date
- i_found = abap_true
- i_barcode = lv_barcode
- i_wait = abap_true ).
- ENDIF.
- ENDIF.
- APPEND ls_context TO lt_context.
- ENDAT.
- ENDLOOP.
- lo_nioktr11->mt_form_data[] = lt_context[].
- ro_object ?= lo_nioktr11.
- ENDMETHOD.
- * <SIGNATURE>---------------------------------------------------------------------------------------+
- * | Instance Public Method ZCL_FI_0287_NIOKTR11->PDF_PRINT_LOC
- * +-------------------------------------------------------------------------------------------------+
- * | [--->] IO_IF TYPE REF TO ZREUSEIF_PDF_PRINT
- * | [--->] IV_DOC_SPLIT TYPE XFELD(optional)
- * +--------------------------------------------------------------------------------------</SIGNATURE>
- METHOD pdf_print_loc.
- ms_ztfi_0197_form-pdf_form = 'ZFI_NIOKTR11_CONTEXT'.
- CHECK ms_ztfi_0197_form-pdf_form IS NOT INITIAL.
- DATA lr_pdf TYPE REF TO zreusecl_pdf_print.
- CREATE OBJECT lr_pdf.
- DATA(ls_outpar) = lr_pdf->get_outputparams( ).
- CASE abap_true.
- WHEN ms_params-pdfpre.
- *-- Print preview
- ls_outpar-noprint = abap_true.
- ls_outpar-dest = ms_params-printr.
- CLEAR ls_outpar-reqimm.
- ls_outpar-pdftagged = abap_true.
- WHEN ms_params-pdfint.
- *-- Interactive PDF Preview
- ls_outpar-dest = ms_params-printr.
- lr_pdf->set_fillable( abap_true ).
- CLEAR ls_outpar-reqimm.
- ls_outpar-pdftagged = abap_true.
- ENDCASE.
- ls_outpar-device = 'PRINTER'.
- ls_outpar-copies = ms_params-numcpy.
- lr_pdf->set_outputparams( ls_outpar ).
- DATA lv_fpname TYPE fpname.
- lv_fpname = ms_ztfi_0197_form-pdf_form.
- CALL METHOD lr_pdf->show_pdf
- EXPORTING
- i_fpname = lv_fpname
- io_if = io_if.
- ENDMETHOD.
- * <SIGNATURE>---------------------------------------------------------------------------------------+
- * | Instance Public Method ZCL_FI_0287_NIOKTR11->PRINT_SALV
- * +-------------------------------------------------------------------------------------------------+
- * | [--->] IV_EDIT TYPE XFELD(optional)
- * | [<-->] IT_TABLE TYPE ANY TABLE(optional)
- * | [!CX!] CX_SALV_NOT_FOUND
- * | [!CX!] CX_SALV_WRONG_CALL
- * +--------------------------------------------------------------------------------------</SIGNATURE>
- METHOD print_salv.
- super->print_salv( EXPORTING iv_edit = space CHANGING it_table = mt_alv_data ).
- ENDMETHOD.
- * <SIGNATURE>---------------------------------------------------------------------------------------+
- * | Instance Public Method ZCL_FI_0287_NIOKTR11->SALV_COMMAND_ZPDF
- * +-------------------------------------------------------------------------------------------------+
- * +--------------------------------------------------------------------------------------</SIGNATURE>
- METHOD salv_command_zpdf.
- "Интерактивный просмотр PDF
- "Предварительный просмотр PDF
- IF ms_params-pdfpre IS NOT INITIAL OR ms_params-pdfint IS NOT INITIAL.
- DATA(lo_nioktr11) = pdf_prepare( ).
- pdf_print_loc( lo_nioktr11 ).
- ENDIF.
- ENDMETHOD.
- * <SIGNATURE>---------------------------------------------------------------------------------------+
- * | Instance Public Method ZCL_FI_0287_NIOKTR11->SELECT_DATA_SPECIFIC
- * +-------------------------------------------------------------------------------------------------+
- * | [!CX!] ZCX_GENERIC
- * +--------------------------------------------------------------------------------------</SIGNATURE>
- METHOD select_data_specific. " Выбор данных из БД для конкретной формы
- CONSTANTS: lc_fikrs TYPE fmfctrt-fikrs VALUE '1000',
- lc_prgid TYPE programm VALUE 'ZFI_0287_NIOKTR11',
- lc_varid_002 TYPE variant VALUE '002',
- lc_table_anlb TYPE tabname VALUE 'ANLB',
- lc_field_afabe TYPE fieldname VALUE 'AFABE'.
- DATA lr_forms_list_anlkl TYPE RANGE OF ztfi_forms_list-anlkl.
- SELECT SINGLE *
- FROM ztfi_forms_vna
- INTO CORRESPONDING FIELDS OF @ms_ztfi_0197_form
- WHERE bukrs EQ @ms_params-bukrs
- AND form EQ 'НН.НИОКТР-1.1'
- AND begda LE @ms_params-date
- AND endda GE @ms_params-date.
- IF sy-subrc NE 0.
- SELECT SINGLE *
- FROM ztfi_forms_vna
- INTO CORRESPONDING FIELDS OF @ms_ztfi_0197_form
- WHERE bukrs EQ '+'
- AND form EQ 'НН.НИОКТР-1.1'
- AND begda LE @ms_params-date
- AND endda GE @ms_params-date.
- ENDIF.
- "выборка ZSSP Z_FORMS_VNA
- zcl_params=>get_parameter( EXPORTING i_prgid = lc_prgid
- i_varid = lc_varid_002
- i_table = lc_table_anlb
- i_field = lc_field_afabe
- IMPORTING e_value = mv_afabe
- EXCEPTIONS no_data = 1
- is_range = 2
- OTHERS = 3 ).
- "выборка ZSSP Z_FORMS_VNA
- zcl_params=>get_range( EXPORTING i_prgid = lc_prgid
- i_varid = lc_varid_002
- i_table = lc_table_anlb
- i_field = lc_field_afabe
- IMPORTING e_range = mt_afabe
- EXCEPTIONS no_data = 1
- is_parameter = 2
- OTHERS = 3 ).
- IF ms_params-tables-anla-r_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 @ms_params-date
- AND anlz~bdatu GE @ms_params-date
- AND anla~bukrs EQ @ms_params-bukrs
- AND anla~anln1 IN @ms_params-r_anln1
- AND anla~anln2 IN @ms_params-r_anln2
- AND anla~anlkl IN @ms_params-tables-anla-r_anlkl
- AND ( anla~aktiv IS NOT NULL AND anla~aktiv LE @ms_params-date )
- AND anla~invnr IN @ms_params-tables-anla-r_invnr
- AND anlz~kostl IN @ms_params-tables-anlz-r_kostl
- AND anlz~prctr IN @ms_params-nioktr11-r_prctr
- AND anlz~werks IN @ms_params-tables-anlz-r_werks
- AND anlz~stort IN @ms_params-tables-anlz-r_stort
- AND anlz~pernr IN @ms_params-tables-anlz-r_pernr
- INTO CORRESPONDING FIELDS OF TABLE @mt_os_cards.
- ELSE.
- IF
- ms_params-r_anln1 IS INITIAL
- AND ms_params-r_anln2 IS INITIAL
- AND ms_params-tables-anla-r_anlkl[] IS INITIAL
- AND ms_params-tables-anla-r_invnr IS INITIAL
- AND ms_params-tables-anlz-r_kostl IS NOT INITIAL
- AND ms_params-tables-anlz-r_werks IS NOT INITIAL
- AND ms_params-tables-anlz-r_stort IS NOT INITIAL
- AND ms_params-tables-anlz-r_pernr IS NOT INITIAL.
- SELECT anla~bukrs, anla~anln1, anla~anln2 "#EC CI_NO_TRANSFORM
- FROM anla
- WHERE
- anla~bukrs EQ @ms_params-bukrs
- AND ( anla~aktiv IS NOT NULL AND anla~aktiv LE @ms_params-date )
- AND ( anla~deakt IS NULL OR anla~deakt GT @ms_params-date )
- AND anla~inken = 'X'
- INTO CORRESPONDING FIELDS OF TABLE @mt_os_cards.
- SELECT anla~bukrs, anla~anln1, anla~anln2 "#EC CI_NO_TRANSFORM
- 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 @ms_params-date
- AND anlz~bdatu GE @ms_params-date
- AND anlz~bukrs EQ @ms_params-bukrs
- AND anlz~anln1 IN @ms_params-r_anln1
- AND anlz~anln2 IN @ms_params-r_anln2
- AND anlz~kostl IN @ms_params-tables-anlz-r_kostl
- AND anlz~prctr IN @ms_params-nioktr11-r_prctr
- AND anlz~werks IN @ms_params-tables-anlz-r_werks
- AND anlz~stort IN @ms_params-tables-anlz-r_stort
- AND anlz~pernr IN @ms_params-tables-anlz-r_pernr
- INTO CORRESPONDING FIELDS OF TABLE @mt_os_cards.
- ELSEIF ms_params-tables-anla-r_anlkl[] IS 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 @ms_params-date
- AND anlz~bdatu GE @ms_params-date
- AND anla~bukrs EQ @ms_params-bukrs
- AND anla~anln1 IN @ms_params-r_anln1
- AND anla~anln2 IN @ms_params-r_anln2
- AND anla~anlkl IN @ms_params-tables-anla-r_anlkl
- AND ( anla~aktiv IS NOT NULL AND anla~aktiv LE @ms_params-date )
- AND anla~invnr IN @ms_params-tables-anla-r_invnr
- AND anlz~kostl IN @ms_params-tables-anlz-r_kostl
- AND anlz~prctr IN @ms_params-nioktr11-r_prctr
- AND anlz~werks IN @ms_params-tables-anlz-r_werks
- AND anlz~stort IN @ms_params-tables-anlz-r_stort
- AND anlz~pernr IN @ms_params-tables-anlz-r_pernr
- INTO CORRESPONDING FIELDS OF TABLE @mt_os_cards.
- ENDIF.
- ENDIF.
- ENDMETHOD.
- * <SIGNATURE>---------------------------------------------------------------------------------------+
- * | Instance Public Method ZCL_FI_0287_NIOKTR11->SHOW_RESULT
- * +-------------------------------------------------------------------------------------------------+
- * | [!CX!] ZCX_GENERIC
- * | [!CX!] CX_SALV_NOT_FOUND
- * | [!CX!] CX_SALV_WRONG_CALL
- * +--------------------------------------------------------------------------------------</SIGNATURE>
- METHOD show_result.
- " Заполнение таблицы для ALV
- fill_alv( ).
- DESCRIBE TABLE mt_alv_data LINES sy-tfill.
- IF sy-tfill > 0.
- " Вывод ALV на экран
- print_salv( EXPORTING iv_edit = space CHANGING it_table = mt_alv_data ).
- ELSE.
- MESSAGE e006 INTO DATA(lv_msg). " По заданным критериям записи не найдены
- zcx_generic=>raise( ).
- ENDIF.
- ENDMETHOD.
- ENDCLASS.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement