Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Номер спецификации: BR_D_024
- *& Наименование спецификации: Печатные формы
- *& Дата создания: 22.12.2020
- *& Проект: Создание печатных форм
- *& Разработчик: Федоров К
- METHOD get_vehwaybill_data.
- DATA: ls_form TYPE zstm_vehicle_waybill,
- lt_tor_root TYPE /scmtms/t_tor_root_k,
- lt_tor_stop TYPE /scmtms/t_tor_stop_k,
- lt_tor_stop_first TYPE /scmtms/t_tor_stop_k,
- lt_mtrl_description TYPE /scmtms/t_mat_description_k,
- lt_tor_item_tr TYPE /scmtms/t_tor_item_tr_k,
- lt_sel_opt_f TYPE /bobf/t_frw_query_selparam,
- lt_sel_opt_l TYPE /bobf/t_frw_query_selparam,
- ls_sel_opt_f LIKE LINE OF lt_sel_opt_f,
- ls_sel_opt_l LIKE LINE OF lt_sel_opt_l,
- lt_loc_data_f TYPE /scmtms/t_loc_q_elem_result,
- lt_loc_data_l TYPE /scmtms/t_loc_q_elem_result,
- lv_node_key TYPE /bobf/obm_node_key,
- lv_assoc_key TYPE /bobf/obm_assoc_key,
- lv_node_key_tel TYPE /bobf/obm_node_key,
- lv_assoc_key_tel TYPE /bobf/obm_assoc_key,
- lt_pos_address TYPE /bofu/t_addr_postal_addressk,
- lt_loc_root_f TYPE /scmtms/t_bo_loc_root_k,
- lt_loc_root_l TYPE /scmtms/t_bo_loc_root_k,
- lt_drv_root TYPE /scmtms/t_res_lab_root_k,
- lt_tras_capa_offer TYPE /scmtms/t_res_quantity_k,
- lt_bupa_consignee TYPE /bofu/t_bupa_root_k,
- lt_bupa_root TYPE /bofu/t_bupa_root_k,
- lt_role TYPE /bofu/t_bupa_role_k,
- lt_bupa_ship_root TYPE /bofu/t_bupa_root_k,
- lt_bupa_data TYPE /bofu/t_bupa_root_k,
- ls_bupa_data LIKE LINE OF lt_bupa_data,
- lt_but000 TYPE TABLE OF but000,
- lt_but000_bupa_ship TYPE TABLE OF but000,
- lt_but000_bupa_consignee TYPE TABLE OF but000,
- lt_but000_tor_root TYPE TABLE OF but000,
- lt_relationship TYPE /bofu/t_bupa_relship_k,
- lt_transp_capa_offer TYPE /scmtms/t_res_quantity_k,
- lt_res_root TYPE /scmtms/t_res_root_k,
- lt_telephone TYPE /bofu/t_addr_telephonek,
- lt_stop_first TYPE /scmtms/t_tor_stop_k,
- lt_key_bupa TYPE /bobf/t_frw_key,
- ls_key_bupa LIKE LINE OF lt_key_bupa,
- lt_role_ship TYPE /bofu/t_bupa_role_k,
- lt_bp_root TYPE /bofu/t_bupa_root_k,
- ls_selpar TYPE /bobf/s_frw_query_selparam,
- lt_selpar TYPE /bobf/t_frw_query_selparam,
- go_message TYPE REF TO /bobf/if_frw_message.
- *поле 2
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-root
- it_key = it_tor_key
- iv_association = /scmtms/if_tor_c=>sc_association-root-stop_first
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_tor_stop_first ).
- * IF lt_tor_stop_first IS INITIAL.
- * RETURN.
- * ENDIF.
- "2 записи в узле stop
- READ TABLE lt_tor_stop_first ASSIGNING FIELD-SYMBOL(<ls_tor_stop_first>) INDEX 1.
- IF <ls_tor_stop_first> IS ASSIGNED.
- ls_form-zzdate = <ls_tor_stop_first>-plan_trans_time.
- ENDIF.
- *поле 3
- mo_tor_srv->retrieve(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-root
- it_key = it_tor_key
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_tor_root ).
- * IF lt_tor_root IS INITIAL.
- * RETURN.
- * ENDIF.
- READ TABLE lt_tor_root ASSIGNING FIELD-SYMBOL(<ls_tor_root>) INDEX 1.
- IF <ls_tor_root> IS ASSIGNED.
- ls_form-zznumber = <ls_tor_root>-tor_id.
- ENDIF.
- SHIFT ls_form-zznumber LEFT DELETING LEADING '0'.
- *4, 6, 63; 5, 7, 62; 42, 43, 65; 44
- *4, 6, 63
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-root
- it_key = it_tor_key
- iv_association = /scmtms/if_tor_c=>sc_association-root-bupa_ship_root
- iv_fill_data = abap_true
- IMPORTING
- et_target_key = DATA(lt_bupa_ship_keys)
- et_data = lt_bupa_ship_root ).
- * IF lt_bupa_ship_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- *
- * IF lt_bupa_ship_root IS INITIAL.
- * RETURN.
- * ENDIF.
- SELECT *
- FROM but000
- INTO TABLE lt_but000_bupa_ship
- FOR ALL ENTRIES IN lt_bupa_ship_root
- WHERE but000~partner EQ lt_bupa_ship_root-partner.
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-root
- it_key = it_tor_key
- iv_association = /scmtms/if_tor_c=>sc_association-root-item_tr
- IMPORTING
- et_target_key = DATA(lt_itemtr_keys) ).
- * IF lt_itemtr_keys IS NOT INITIAL.
- * RETURN.
- * ENDIF.
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-item_tr
- it_key = lt_itemtr_keys
- iv_association = /scmtms/if_tor_c=>sc_association-item_tr-itemparty
- IMPORTING
- et_target_key = DATA(lt_itemparty_keys) ).
- * IF lt_itemparty_keys IS NOT INITIAL.
- * RETURN.
- * ENDIF.
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-itemparty
- it_key = lt_itemparty_keys
- iv_association = /scmtms/if_tor_c=>sc_association-itemparty-bupa_root
- IMPORTING
- et_data = lt_bupa_root
- et_target_key = DATA(lt_bupa_root_keys) ).
- * IF lt_bupa_root_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- *
- * IF lt_bupa_root_keys IS NOT INITIAL.
- * RETURN.
- * ENDIF.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_bupa_ship_keys
- iv_node_key = /bofu/if_bupa_constants=>sc_node-root
- iv_association = /bofu/if_bupa_constants=>sc_association-root-role
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_role_ship ).
- * IF lt_role IS NOT INITIAL.
- * RETURN.
- * ENDIF.
- LOOP AT lt_role_ship ASSIGNING FIELD-SYMBOL(<ls_role_bupa_ship>).
- READ TABLE lt_bupa_ship_root ASSIGNING FIELD-SYMBOL(<ls_bupa_ship_root>) WITH KEY key = <ls_role_bupa_ship>-parent_key BINARY SEARCH.
- CHECK sy-subrc = 0.
- IF <ls_role_bupa_ship>-partnerrole = mc_bbp000.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_bupa_ship_keys
- iv_node_key = /bofu/if_bupa_constants=>sc_node-root
- iv_association = /bofu/if_bupa_constants=>sc_association-root-addressinformation
- IMPORTING
- et_target_key = DATA(lt_bupa_addrinfo_keys) ).
- * IF lt_bupa_addrinfo_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_bupa_addrinfo_keys
- iv_node_key = /bofu/if_bupa_constants=>sc_node-addressinformation
- iv_association = /bofu/if_bupa_constants=>sc_association-addressinformation-address
- IMPORTING
- et_target_key = DATA(lt_address_root_keys) ).
- * IF lt_address_root_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- /scmtms/cl_common_helper=>get_do_keys_4_rba(
- EXPORTING
- iv_host_bo_key = /bofu/if_bupa_constants=>sc_bo_key
- iv_host_do_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_do_node_key = /bofu/if_addr_constants=>sc_node-telephone
- iv_do_assoc_key = /bofu/if_addr_constants=>sc_association-root-telephone
- IMPORTING
- ev_node_key = lv_node_key_tel
- ev_assoc_key = lv_assoc_key_tel ).
- * IF lv_node_key_tel IS INITIAL.
- * RETURN.
- * ENDIF.
- *
- * IF lv_assoc_key_tel IS INITIAL.
- * RETURN.
- * ENDIF.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_association = lv_assoc_key_tel
- iv_fill_data = abap_true
- it_key = lt_address_root_keys
- IMPORTING
- et_data = lt_telephone ).
- * IF lt_telephone IS INITIAL.
- * RETURN.
- * ENDIF.
- /scmtms/cl_common_helper=>get_do_keys_4_rba(
- EXPORTING
- iv_host_bo_key = /bofu/if_bupa_constants=>sc_bo_key
- iv_host_do_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_do_node_key = /bofu/if_addr_constants=>sc_node-postal_address
- iv_do_assoc_key = /bofu/if_addr_constants=>sc_association-root-postal_address
- IMPORTING
- ev_node_key = lv_node_key
- ev_assoc_key = lv_assoc_key ).
- * IF lv_node_key IS INITIAL.
- * RETURN.
- * ENDIF.
- *
- * IF lv_assoc_key IS INITIAL.
- * RETURN.
- * ENDIF.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_association = lv_assoc_key
- iv_fill_data = abap_true
- it_key = lt_address_root_keys
- IMPORTING
- et_data = lt_pos_address ).
- * IF lt_pos_address IS INITIAL.
- * RETURN.
- * ENDIF.
- *4 поле
- IF <ls_bupa_ship_root>-type = '1'.
- READ TABLE lt_but000_bupa_ship ASSIGNING FIELD-SYMBOL(<ls_but000_bupa_ship_4>) WITH KEY partner = <ls_bupa_ship_root>-partner BINARY SEARCH.
- READ TABLE lt_pos_address ASSIGNING FIELD-SYMBOL(<ls_pos_address_4>) INDEX 1.
- READ TABLE lt_telephone ASSIGNING FIELD-SYMBOL(<ls_telephone_4>) INDEX 1.
- IF <ls_bupa_ship_root> IS ASSIGNED
- AND <ls_but000_bupa_ship_4> IS ASSIGNED
- AND <ls_pos_address_4> IS ASSIGNED
- AND <ls_telephone_4> IS ASSIGNED.
- ls_form-zzshipper_name = |{ <ls_bupa_ship_root>-description } { <ls_bupa_ship_root>-partner } { <ls_but000_bupa_ship_4>-name_first } { <ls_but000_bupa_ship_4>-name_last } { <ls_but000_bupa_ship_4>-namemiddle } { <ls_pos_address_4>-city_name } {
- <ls_pos_address_4>-street_name } { <ls_pos_address_4>-house_id } { <ls_pos_address_4>-region } { <ls_telephone_4>-formatted_number_text }|.
- ENDIF.
- *6 поле
- ELSEIF <ls_bupa_ship_root>-type = '2'.
- READ TABLE lt_but000_bupa_ship ASSIGNING FIELD-SYMBOL(<ls_but000_bupa_ship_6>) WITH KEY partner = <ls_bupa_ship_root>-partner BINARY SEARCH.
- READ TABLE lt_pos_address ASSIGNING FIELD-SYMBOL(<ls_pos_address_6>) INDEX 1.
- READ TABLE lt_telephone ASSIGNING FIELD-SYMBOL(<ls_telephone_6>) INDEX 1.
- IF <ls_bupa_ship_root> IS ASSIGNED
- AND <ls_but000_bupa_ship_6> IS ASSIGNED
- AND <ls_pos_address_6> IS ASSIGNED
- AND <ls_telephone_6> IS ASSIGNED.
- ls_form-zzname_shipper = |{ <ls_bupa_ship_root>-description } { <ls_bupa_ship_root>-partner } { <ls_but000_bupa_ship_6>-name_first } { <ls_but000_bupa_ship_6>-name_last } { <ls_but000_bupa_ship_6>-namemiddle } { <ls_pos_address_6>-city_name } {
- <ls_pos_address_6>-street_name } { <ls_pos_address_6>-house_id } { <ls_pos_address_6>-region } { <ls_telephone_6>-formatted_number_text }|.
- ENDIF.
- ENDIF.
- *63 поле
- READ TABLE lt_but000_bupa_ship ASSIGNING FIELD-SYMBOL(<ls_but000_bupa_ship_63>) WITH KEY partner = <ls_bupa_ship_root>-partner BINARY SEARCH.
- IF <ls_bupa_ship_root> IS ASSIGNED.
- ls_form-zzfn_shipper = <ls_bupa_ship_root>-description.
- ENDIF.
- ENDIF.
- ENDLOOP.
- *5, 7, 62
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-root
- it_key = it_tor_key
- iv_association = /scmtms/if_tor_c=>sc_association-root-bupa_consignee_root
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_bupa_consignee
- et_target_key = DATA(lt_bupa_consignee_keys) ).
- * IF lt_bupa_consignee_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- *
- * IF lt_bupa_consignee IS INITIAL.
- * RETURN.
- * ENDIF.
- SELECT *
- FROM but000
- INTO TABLE lt_but000_bupa_consignee
- FOR ALL ENTRIES IN lt_bupa_consignee
- WHERE but000~partner EQ lt_bupa_consignee-partner.
- LOOP AT lt_role ASSIGNING FIELD-SYMBOL(<ls_role_bupa_consignee>).
- READ TABLE lt_bupa_consignee ASSIGNING FIELD-SYMBOL(<ls_bupa_consignee>) WITH KEY key = <ls_role_bupa_consignee>-parent_key BINARY SEARCH.
- IF <ls_role_bupa_consignee>-partnerrole = mc_crm002.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_bupa_consignee_keys
- iv_node_key = /bofu/if_bupa_constants=>sc_node-root
- iv_association = /bofu/if_bupa_constants=>sc_association-root-addressinformation
- IMPORTING
- et_target_key = DATA(lt_bupa_cons_addrinfo_keys) ).
- * IF lt_bupa_cons_addrinfo_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_bupa_cons_addrinfo_keys
- iv_node_key = /bofu/if_bupa_constants=>sc_node-addressinformation
- iv_association = /bofu/if_bupa_constants=>sc_association-addressinformation-address
- IMPORTING
- et_target_key = DATA(lt_bupa_cons_address_root_keys) ).
- * IF lt_bupa_cons_address_root_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- CLEAR lt_telephone.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_association = lv_assoc_key_tel
- iv_fill_data = abap_true
- it_key = lt_bupa_cons_address_root_keys
- IMPORTING
- et_data = lt_telephone ).
- * IF lt_telephone IS INITIAL.
- * RETURN.
- * ENDIF.
- CLEAR lt_pos_address.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_association = lv_assoc_key
- iv_fill_data = abap_true
- it_key = lt_bupa_cons_address_root_keys
- IMPORTING
- et_data = lt_pos_address ).
- * IF lt_pos_address IS INITIAL.
- * RETURN.
- * ENDIF.
- ENDIF.
- *5 поле
- IF <ls_bupa_consignee>-type = '1'.
- READ TABLE lt_but000_bupa_consignee ASSIGNING FIELD-SYMBOL(<ls_but000_bupa_consignee_5>) WITH KEY partner = <ls_bupa_consignee>-partner BINARY SEARCH.
- READ TABLE lt_pos_address ASSIGNING FIELD-SYMBOL(<ls_pos_address_5>) INDEX 1.
- READ TABLE lt_telephone ASSIGNING FIELD-SYMBOL(<ls_telephone_5>) INDEX 1.
- IF <ls_bupa_consignee> IS ASSIGNED
- AND <ls_but000_bupa_consignee_5> IS ASSIGNED
- AND <ls_pos_address_5> IS ASSIGNED
- AND <ls_telephone_5> IS ASSIGNED.
- ls_form-zzcons = |{ <ls_bupa_consignee>-description } { <ls_bupa_consignee>-partner } { <ls_but000_bupa_consignee_5>-name_first } { <ls_but000_bupa_consignee_5>-name_last } { <ls_but000_bupa_consignee_5>-namemiddle } {
- <ls_pos_address_5>-city_name } { <ls_pos_address_5>-street_name } { <ls_pos_address_5>-house_id } { <ls_pos_address_5>-region } { <ls_telephone_5>-formatted_number_text }|.
- ENDIF.
- *7 поле
- ELSEIF <ls_bupa_consignee>-type = '2'.
- READ TABLE lt_but000_bupa_consignee ASSIGNING FIELD-SYMBOL(<ls_but000_bupa_consignee_7>) WITH KEY partner = <ls_bupa_consignee>-partner BINARY SEARCH.
- READ TABLE lt_pos_address ASSIGNING FIELD-SYMBOL(<ls_pos_address_7>) INDEX 1.
- READ TABLE lt_telephone ASSIGNING FIELD-SYMBOL(<ls_telephone_7>) INDEX 1.
- IF <ls_bupa_consignee> IS ASSIGNED
- AND <ls_but000_bupa_consignee_7> IS ASSIGNED
- AND <ls_pos_address_7> IS ASSIGNED
- AND <ls_telephone_7> IS ASSIGNED.
- ls_form-zzname_consignee = |{ <ls_bupa_consignee>-description } { <ls_bupa_consignee>-partner } { <ls_but000_bupa_consignee_7>-name_first } { <ls_but000_bupa_consignee_7>-name_last } { <ls_but000_bupa_consignee_7>-namemiddle } {
- <ls_pos_address_7>-city_name } { <ls_pos_address_7>-street_name } { <ls_pos_address_7>-house_id } { <ls_pos_address_7>-region } { <ls_telephone_7>-formatted_number_text }|.
- ENDIF.
- ENDIF.
- *62 поле
- IF <ls_role_bupa_consignee>-partnerrole = mc_crm003.
- CLEAR lt_pos_address.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_association = lv_assoc_key
- iv_fill_data = abap_true
- it_key = lt_bupa_cons_address_root_keys
- IMPORTING
- et_data = lt_pos_address ).
- * IF lt_pos_address IS INITIAL.
- * RETURN.
- * ENDIF.
- READ TABLE lt_but000_bupa_consignee ASSIGNING FIELD-SYMBOL(<ls_but000_bupa_consignee_62>) WITH KEY partner = <ls_bupa_consignee>-partner BINARY SEARCH.
- READ TABLE lt_pos_address ASSIGNING FIELD-SYMBOL(<ls_pos_address_62>) INDEX 1.
- IF <ls_bupa_consignee> IS ASSIGNED
- AND <ls_pos_address_62> IS ASSIGNED.
- ls_form-zzsupplied_certif = |{ <ls_bupa_consignee>-partner } { <ls_bupa_consignee>-description } { <ls_pos_address_62>-city_name } { <ls_pos_address_62>-street_name } { <ls_pos_address_62>-house_id } { <ls_pos_address_62>-region }|.
- ENDIF.
- ENDIF.
- ENDLOOP.
- *42, 43, 65
- SELECT *
- FROM but000
- INTO TABLE lt_but000_tor_root
- FOR ALL ENTRIES IN lt_tor_root
- WHERE but000~partner EQ lt_tor_root-tspid.
- LOOP AT lt_tor_root ASSIGNING FIELD-SYMBOL(<ls_tor_root_2>).
- ls_selpar-attribute_name = /bofu/if_bupa_constants=>sc_query_attribute-root-query_by_role-partner.
- ls_selpar-option = 'EQ'.
- ls_selpar-sign = 'I'.
- ls_selpar-low = <ls_tor_root_2>-tspid.
- APPEND ls_selpar TO lt_selpar.
- *
- * mo_bp_srv = /bobf/cl_tra_serv_mgr_factory=>get_service_manager( /bofu/if_bupa_constants=>sc_bo_key ).
- mo_bp_srv->query(
- EXPORTING
- iv_query_key = /bofu/if_bupa_constants=>sc_query-root-query_by_role
- it_selection_parameters = lt_selpar
- iv_fill_data = abap_true
- IMPORTING
- eo_message = go_message
- et_data = lt_bp_root
- et_key = DATA(lt_bp_root_keys) ).
- ENDLOOP.
- LOOP AT lt_role ASSIGNING FIELD-SYMBOL(<ls_role_tor_root>).
- READ TABLE lt_tor_root ASSIGNING FIELD-SYMBOL(<ls_tor_root_42>) WITH KEY key = <ls_role_tor_root>-parent_key BINARY SEARCH.
- CHECK sy-subrc = 0.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_bp_root_keys
- iv_node_key = /bofu/if_bupa_constants=>sc_node-root
- iv_association = /bofu/if_bupa_constants=>sc_association-root-addressinformation
- IMPORTING
- et_target_key = DATA(lt_tor_root_addrinfo_keys) ).
- * IF lt_tor_root_addrinfo_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_tor_root_addrinfo_keys
- iv_node_key = /bofu/if_bupa_constants=>sc_node-addressinformation
- iv_association = /bofu/if_bupa_constants=>sc_association-addressinformation-address
- IMPORTING
- et_target_key = DATA(lt_tor_root_address_keys) ).
- /scmtms/cl_common_helper=>get_do_keys_4_rba(
- EXPORTING
- iv_host_bo_key = /bofu/if_bupa_constants=>sc_bo_key
- iv_host_do_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_do_node_key = /bofu/if_addr_constants=>sc_node-telephone
- iv_do_assoc_key = /bofu/if_addr_constants=>sc_association-root-telephone
- IMPORTING
- ev_node_key = lv_node_key_tel
- ev_assoc_key = lv_assoc_key_tel ).
- * IF lt_tor_root_address_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- * CLEAR lt_telephone.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_association = lv_assoc_key_tel
- iv_fill_data = abap_true
- it_key = lt_tor_root_address_keys
- IMPORTING
- et_data = lt_telephone ).
- * IF lt_telephone IS INITIAL.
- * RETURN.
- * ENDIF.
- CLEAR lt_pos_address.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_association = lv_assoc_key
- iv_fill_data = abap_true
- it_key = lt_tor_root_address_keys
- IMPORTING
- et_data = lt_pos_address ).
- * IF lt_pos_address IS INITIAL.
- * RETURN.
- * ENDIF.
- IF <ls_role_tor_root>-partnerrole = mc_crm010.
- *42 поле
- READ TABLE lt_bupa_root ASSIGNING FIELD-SYMBOL(<ls_bupa_root>) INDEX 1.
- IF <ls_bupa_root>-type = '1'.
- READ TABLE lt_but000_tor_root ASSIGNING FIELD-SYMBOL(<lt_but000_tor_root_42>) WITH KEY partner = <ls_tor_root_42>-tspid BINARY SEARCH.
- READ TABLE lt_pos_address ASSIGNING FIELD-SYMBOL(<ls_pos_address_42>) INDEX 1.
- READ TABLE lt_telephone ASSIGNING FIELD-SYMBOL(<ls_telephone_42>) INDEX 1.
- IF <lt_but000_tor_root_42> IS ASSIGNED
- AND <ls_pos_address_42> IS ASSIGNED
- AND <ls_telephone_42> IS ASSIGNED.
- ls_form-zza42 = |{ <lt_but000_tor_root_42>-name_first } { <lt_but000_tor_root_42>-name_last } { <lt_but000_tor_root_42>-namemiddle } { <ls_pos_address_42>-city_name } { <ls_pos_address_42>-street_name } { <ls_pos_address_42>-house_id } {
- <ls_pos_address_42>-region } { <ls_telephone_42>-formatted_number_text }|.
- ENDIF.
- ENDIF.
- *43 поле
- IF <ls_bupa_root>-type = '2'.
- READ TABLE lt_but000_tor_root ASSIGNING FIELD-SYMBOL(<lt_but000_tor_root_43>) WITH KEY partner = <ls_tor_root_42>-tspid BINARY SEARCH.
- READ TABLE lt_pos_address ASSIGNING FIELD-SYMBOL(<ls_pos_address_43>) INDEX 1.
- READ TABLE lt_telephone ASSIGNING FIELD-SYMBOL(<ls_telephone_43>) INDEX 1.
- IF <lt_but000_tor_root_43> IS ASSIGNED
- AND <ls_pos_address_43> IS ASSIGNED
- AND <ls_telephone_43> IS ASSIGNED.
- ls_form-zza43 = |{ <lt_but000_tor_root_43>-name_first } { <lt_but000_tor_root_43>-name_last } { <lt_but000_tor_root_43>-namemiddle } { <ls_pos_address_43>-city_name } { <ls_pos_address_43>-street_name } { <ls_pos_address_43>-house_id } {
- <ls_pos_address_43>-region } { <ls_telephone_43>-formatted_number_text }|.
- ENDIF.
- ENDIF.
- *65 поле
- IF <ls_bupa_root> IS ASSIGNED.
- ls_form-zza51 = <ls_bupa_root>-description.
- ENDIF.
- ENDIF.
- ENDLOOP.
- *44 поле
- CLEAR lt_but000.
- SELECT *
- FROM but000
- INTO TABLE lt_but000
- FOR ALL ENTRIES IN lt_bupa_root
- WHERE but000~partner EQ lt_bupa_root-partner.
- LOOP AT lt_role ASSIGNING FIELD-SYMBOL(<ls_role_bupa_root>).
- READ TABLE lt_bupa_root ASSIGNING FIELD-SYMBOL(<ls_bupa_root_44>) WITH KEY key = <ls_role_bupa_root>-parent_key BINARY SEARCH.
- CHECK sy-subrc = 0.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_bupa_root_keys
- iv_node_key = /bofu/if_bupa_constants=>sc_node-root
- iv_association = /bofu/if_bupa_constants=>sc_association-root-addressinformation
- IMPORTING
- et_target_key = DATA(lt_bupa_root_addrinfo_keys) ).
- * IF lt_bupa_root_addrinfo_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_bupa_root_addrinfo_keys
- iv_node_key = /bofu/if_bupa_constants=>sc_node-addressinformation
- iv_association = /bofu/if_bupa_constants=>sc_association-addressinformation-address
- IMPORTING
- et_target_key = DATA(lt_bupa_root_address_keys) ).
- * IF lt_bupa_root_address_keys IS INITIAL.
- * RETURN.
- * ENDIF.
- CLEAR lt_telephone.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_association = lv_assoc_key_tel
- iv_fill_data = abap_true
- it_key = lt_bupa_root_address_keys
- IMPORTING
- et_data = lt_telephone ).
- * IF lt_telephone IS INITIAL.
- * RETURN.
- * ENDIF.
- CLEAR lt_pos_address.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_association = lv_assoc_key
- iv_fill_data = abap_true
- it_key = lt_bupa_root_address_keys
- IMPORTING
- et_data = lt_pos_address ).
- * IF lt_pos_address IS INITIAL.
- * RETURN.
- * ENDIF.
- IF <ls_role_tor_root>-partnerrole = mc_tm0001.
- READ TABLE lt_but000 ASSIGNING FIELD-SYMBOL(<ls_but000_bupa_root_44>) WITH KEY partner = <ls_bupa_root_44>-partner BINARY SEARCH.
- READ TABLE lt_telephone ASSIGNING FIELD-SYMBOL(<ls_telephone_44>) INDEX 1.
- IF <ls_but000_bupa_root_44> IS ASSIGNED
- AND <ls_telephone_44> IS ASSIGNED.
- ls_form-zza44 = |{ <ls_but000_bupa_root_44>-name_first } { <ls_but000_bupa_root_44>-name_last } { <ls_but000_bupa_root_44>-namemiddle } { <ls_telephone_44>-formatted_number_text }|.
- ENDIF.
- ENDIF.
- ENDLOOP.
- *9 и 10 поле
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-root
- it_key = it_tor_key
- iv_association = /scmtms/if_tor_c=>sc_association-root-item_tr
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_tor_item_tr
- et_target_key = DATA(lt_tor_item_tr_key) ).
- * IF lt_tor_item_tr_key IS INITIAL.
- * RETURN.
- * ENDIF.
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-item_tr
- it_key = lt_tor_item_tr_key
- iv_association = /scmtms/if_tor_c=>sc_association-item_tr-bo_material
- IMPORTING
- et_target_key = DATA(lt_tor_bo_material_key) ).
- * IF lt_tor_bo_material_key IS INITIAL.
- * RETURN.
- * ENDIF.
- mo_mtrl_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_mat_c=>sc_node-root
- it_key = lt_tor_bo_material_key
- iv_association = /scmtms/if_mat_c=>sc_association-root-description
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_mtrl_description ).
- * IF lt_mtrl_description IS INITIAL.
- * RETURN.
- * ENDIF.
- READ TABLE lt_mtrl_description ASSIGNING FIELD-SYMBOL(<ls_mtrl_description>) INDEX 1.
- READ TABLE lt_tor_item_tr ASSIGNING FIELD-SYMBOL(<ls_tor_item_tr>) WITH KEY item_cat = mc_item_cat.
- IF <ls_mtrl_description> IS ASSIGNED
- AND <ls_tor_item_tr> IS ASSIGNED.
- ls_form-zzcargo_space = |{ <ls_mtrl_description>-maktx } { <ls_tor_item_tr>-qua_pcs_val }|.
- ENDIF.
- IF <ls_tor_item_tr> IS ASSIGNED.
- ls_form-zzcargo_condition = <ls_tor_item_tr>-gro_wei_val.
- ENDIF.
- *17 поле
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-root
- it_key = it_tor_key
- iv_association = /scmtms/if_tor_c=>sc_association-root-stop
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_tor_stop ).
- READ TABLE lt_tor_stop ASSIGNING FIELD-SYMBOL(<ls_tor_stop_pos_f>) WITH KEY stop_seq_pos = mc_stop_seq_pos_f.
- ls_sel_opt_f-attribute_name = 'LOCATION_ID'.
- ls_sel_opt_f-option = 'EQ'.
- ls_sel_opt_f-sign = 'I'.
- IF <ls_tor_stop_pos_f> IS ASSIGNED.
- ls_sel_opt_f-low = <ls_tor_stop_pos_f>-log_locid.
- ENDIF.
- APPEND ls_sel_opt_f TO lt_sel_opt_f.
- mo_loc_srv->query(
- EXPORTING
- iv_query_key = /scmtms/if_location_c=>sc_query-root-qdb_by_elements
- it_selection_parameters = lt_sel_opt_f
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_loc_data_f ).
- * IF lt_loc_data_f IS INITIAL.
- * RETURN.
- * ENDIF.
- READ TABLE lt_loc_data_f INTO DATA(ls_query_data_f) INDEX 1.
- mo_loc_srv->retrieve(
- EXPORTING
- iv_node_key = /scmtms/if_location_c=>sc_node-root
- it_key = VALUE #( ( key = ls_query_data_f-db_key ) )
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_loc_root_f ).
- * IF lt_loc_root_f IS INITIAL.
- * RETURN.
- * ENDIF.
- READ TABLE lt_loc_root_f ASSIGNING FIELD-SYMBOL(<ls_loc_root_f>) INDEX 1.
- CLEAR lt_pos_address.
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
- iv_association = lv_assoc_key
- iv_fill_data = abap_true
- it_key = lt_address_root_keys
- IMPORTING
- et_data = lt_pos_address ).
- * IF lt_pos_address IS INITIAL.
- * RETURN.
- * ENDIF.
- READ TABLE lt_pos_address ASSIGNING FIELD-SYMBOL(<ls_pos_address_17>) INDEX 1.
- IF <ls_tor_stop_pos_f> IS ASSIGNED
- AND <ls_loc_root_f> IS ASSIGNED
- AND <ls_pos_address_17> IS ASSIGNED.
- ls_form-zzload_adress = |{ <ls_tor_stop_pos_f>-log_locid } { <ls_loc_root_f>-adrnummer } { <ls_pos_address_17>-country_code } { <ls_pos_address_17>-region } { <ls_pos_address_17>-city_name }|.
- ENDIF.
- *26 поле
- READ TABLE lt_tor_stop ASSIGNING FIELD-SYMBOL(<ls_tor_stop_pos_l>) WITH KEY stop_seq_pos = mc_stop_seq_pos_l.
- ls_sel_opt_l-attribute_name = 'LOCATION_ID'.
- ls_sel_opt_l-option = 'EQ'.
- ls_sel_opt_l-sign = 'I'.
- IF <ls_mtrl_description> IS ASSIGNED.
- ls_sel_opt_l-low = <ls_tor_stop_pos_l>-log_locid.
- ENDIF.
- APPEND ls_sel_opt_l TO lt_sel_opt_l.
- mo_loc_srv->query(
- EXPORTING
- iv_query_key = /scmtms/if_location_c=>sc_query-root-qdb_by_elements
- it_selection_parameters = lt_sel_opt_l
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_loc_data_l ).
- * IF lt_loc_data_l IS INITIAL.
- * RETURN.
- * ENDIF.
- READ TABLE lt_loc_data_l INTO DATA(ls_query_data_l) INDEX 1.
- mo_loc_srv->retrieve(
- EXPORTING
- iv_node_key = /scmtms/if_location_c=>sc_node-root
- it_key = VALUE #( ( key = ls_query_data_l-db_key ) )
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_loc_root_l ).
- * IF lt_loc_root_l IS INITIAL.
- * RETURN.
- * ENDIF.
- READ TABLE lt_loc_root_l ASSIGNING FIELD-SYMBOL(<ls_loc_root_l>) INDEX 1.
- READ TABLE lt_pos_address ASSIGNING FIELD-SYMBOL(<ls_pos_address_26>) INDEX 1.
- IF <ls_tor_stop_pos_l> IS ASSIGNED
- AND <ls_loc_root_l> IS ASSIGNED
- AND <ls_pos_address_26> IS ASSIGNED.
- ls_form-zzuploading_adress = |{ <ls_tor_stop_pos_l>-log_locid } { <ls_loc_root_l>-adrnummer } { <ls_pos_address_26>-country_code } { <ls_pos_address_26>-region } { <ls_pos_address_26>-city_name }|.
- ENDIF.
- *18 поле
- READ TABLE lt_tor_stop ASSIGNING FIELD-SYMBOL(<ls_tor_stop_l>) WITH KEY stop_seq_pos = mc_stop_seq_pos_l.
- IF <ls_tor_stop_pos_l> IS ASSIGNED.
- ls_form-zztimedate_admission = <ls_tor_stop_l>-plan_trans_time.
- ENDIF.
- *19 поле
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_tor_c=>sc_node-root
- it_key = it_tor_key
- iv_association = /scmtms/if_tor_c=>sc_association-root-stop_first
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_stop_first ).
- * IF lt_stop_first IS INITIAL.
- * RETURN.
- * ENDIF.
- READ TABLE lt_stop_first ASSIGNING FIELD-SYMBOL(<ls_stop_first>) INDEX 1.
- IF <ls_stop_first> IS ASSIGNED.
- ls_form-zztimedate_admission2 = <ls_stop_first>-plan_trans_time.
- ENDIF.
- IF <ls_tor_item_tr> IS ASSIGNED.
- *22 поле
- ls_form-zzweight_load = <ls_tor_item_tr>-gro_wei_val.
- *23 поле
- ls_form-zzn_seats = <ls_tor_item_tr>-qua_pcs_val.
- ENDIF.
- *24 поле
- mo_bp_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_bupa_root_keys
- iv_node_key = /bofu/if_bupa_constants=>sc_node-root
- iv_association = /bofu/if_bupa_constants=>sc_association-root-relationship
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_relationship ).
- * IF lt_relationship IS INITIAL.
- * RETURN.
- * ENDIF.
- CLEAR lt_but000.
- SELECT *
- FROM but000
- INTO TABLE lt_but000
- FOR ALL ENTRIES IN lt_relationship
- WHERE but000~partner EQ lt_relationship-partner.
- READ TABLE lt_but000 ASSIGNING FIELD-SYMBOL(<ls_but000>) INDEX 1.
- IF <ls_but000> IS ASSIGNED.
- ls_form-zzattached_doc = |{ <ls_but000>-partner } { <ls_but000>-name_first } { <ls_but000>-name_last }|.
- ENDIF.
- *25 поле
- mo_tor_srv->retrieve_by_association(
- EXPORTING
- it_key = lt_tor_item_tr_key
- iv_node_key = /scmtms/if_tor_c=>sc_node-item_tr
- iv_association = /scmtms/if_tor_c=>sc_association-item_tr-bo_driver
- IMPORTING
- et_target_key = DATA(lt_driver_key) ).
- mo_drv_srm->retrieve(
- EXPORTING
- it_key = lt_driver_key
- iv_node_key = /scmtms/if_driver_c=>sc_node-root
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_drv_root ).
- READ TABLE lt_drv_root ASSIGNING FIELD-SYMBOL(<ls_drv_root>) INDEX 1.
- IF <ls_drv_root> IS ASSIGNED.
- ls_form-zzinstrqar = |{ <ls_drv_root>-name_last } { <ls_drv_root>-name_first }|.
- *34 поле
- ls_form-zza34 = |{ <ls_drv_root>-name_last } { <ls_drv_root>-name_first }|.
- ENDIF.
- *46 поле
- READ TABLE lt_tor_item_tr ASSIGNING FIELD-SYMBOL(<ls_item_tr>) INDEX 1.
- IF <ls_item_tr> IS ASSIGNED.
- ls_form-zza46 = <ls_item_tr>-platenumber.
- ENDIF.
- * 45 поле
- mo_res_srm->retrieve(
- EXPORTING
- iv_node_key = /scmtms/if_resource_c=>sc_node-root
- it_key = lt_itemtr_keys
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_res_root ).
- * IF lt_res_root IS INITIAL.
- * RETURN.
- * ENDIF.
- mo_res_srm->retrieve_by_association(
- EXPORTING
- iv_node_key = /scmtms/if_resource_c=>sc_node-root
- it_key = lt_itemtr_keys
- iv_association = /scmtms/if_resource_c=>sc_association-root-transp_capa_offer
- iv_fill_data = abap_true
- IMPORTING
- et_data = lt_transp_capa_offer ).
- * IF lt_transp_capa_offer IS INITIAL.
- * RETURN.
- * ENDIF.
- READ TABLE lt_transp_capa_offer ASSIGNING FIELD-SYMBOL(<ls_transp_capa_offer>) INDEX 1.
- READ TABLE lt_res_root ASSIGNING FIELD-SYMBOL(<ls_res_root>) INDEX 1.
- READ TABLE lt_tor_root ASSIGNING FIELD-SYMBOL(<ls_tor_root_45>) INDEX 1.
- IF <ls_tor_item_tr> IS ASSIGNED
- AND <ls_res_root> IS ASSIGNED
- AND <ls_transp_capa_offer> IS ASSIGNED
- AND <ls_tor_root_45> IS ASSIGNED.
- ls_form-zza45 = |{ <ls_tor_item_tr>-tracking_no } { <ls_res_root>-description } { <ls_transp_capa_offer>-qty_value } { <ls_tor_root_45>-gro_wei_val } { <ls_tor_root_45>-gro_vol_val }|.
- ENDIF.
- MOVE-CORRESPONDING ls_form TO es_form.
- ENDMETHOD.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement