Advertisement
hxxxrz

NEW_BACKUP_VEHWAYBILL

Mar 10th, 2021
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 52.92 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Номер спецификации: BR_D_024
  3. *& Наименование спецификации: Печатные формы
  4. *& Дата создания: 09.03.2021
  5. *& Проект: Создание печатных форм
  6. *& Разработчик: Федоров К
  7. *&
  8. *&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  9. *& При разработке формуляра использовался скрипт FormCalc (для удаления последней пустой страницы):
  10. *& Subform2>Object>Pagination>Conditional>Edit
  11. *&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  12.  
  13. METHOD get_vehwaybill_data.
  14.  
  15. DATA: ls_form TYPE zstm_vehicle_waybill,
  16. lt_form TYPE TABLE OF zstm_vehicle_waybill,
  17. lt_tor_root TYPE /scmtms/t_tor_root_k,
  18. lt_tor_stop TYPE /scmtms/t_tor_stop_k,
  19. lt_tor_stop_first TYPE /scmtms/t_tor_stop_k,
  20. lt_mtrl_description TYPE /scmtms/t_mat_description_k,
  21. lt_tor_item_tr TYPE /scmtms/t_tor_item_tr_k,
  22. lt_toritemtrunique_itemcatprd TYPE /scmtms/t_tor_item_tr_k,
  23. lt_toritemtrunique_itemcattur TYPE /scmtms/t_tor_item_tr_k,
  24. lt_sel_opt_f TYPE /bobf/t_frw_query_selparam,
  25. lt_sel_opt_l TYPE /bobf/t_frw_query_selparam,
  26. ls_sel_opt_f LIKE LINE OF lt_sel_opt_f,
  27. ls_sel_opt_l LIKE LINE OF lt_sel_opt_l,
  28. lt_loc_data_f TYPE /scmtms/t_loc_q_elem_result,
  29. lt_loc_data_l TYPE /scmtms/t_loc_q_elem_result,
  30. lv_node_key TYPE /bobf/obm_node_key,
  31. lv_assoc_key TYPE /bobf/obm_assoc_key,
  32. lv_node_key_tel TYPE /bobf/obm_node_key,
  33. lv_assoc_key_telephone TYPE /bobf/obm_assoc_key,
  34. lv_assoc_key_postal_address TYPE /bobf/obm_assoc_key,
  35. lt_bofu_address_postal_address TYPE /bofu/t_addr_postal_addressk,
  36. lt_loc_root_f TYPE /scmtms/t_bo_loc_root_k,
  37. lt_loc_root_l TYPE /scmtms/t_bo_loc_root_k,
  38. lt_drv_root TYPE /scmtms/t_res_lab_root_k,
  39. lt_tras_capa_offer TYPE /scmtms/t_res_quantity_k,
  40. lt_bupa_consignee TYPE /bofu/t_bupa_root_k,
  41. lt_tor_bupa_root TYPE /bofu/t_bupa_root_k,
  42. lt_role TYPE /bofu/t_bupa_role_k,
  43. lt_tor_bupa_ship_root TYPE /bofu/t_bupa_root_k,
  44. lt_bupa_data TYPE /bofu/t_bupa_root_k,
  45. ls_bupa_data LIKE LINE OF lt_bupa_data,
  46. lt_but000 TYPE TABLE OF but000,
  47. lt_but000_bupa_ship TYPE TABLE OF but000,
  48. lt_but000_bupa_consignee TYPE TABLE OF but000,
  49. lt_but000_tor_root TYPE TABLE OF but000,
  50. lt_relationship TYPE /bofu/t_bupa_relship_k,
  51. lt_transp_capa_offer TYPE /scmtms/t_res_quantity_k,
  52. lt_res_root TYPE /scmtms/t_res_root_k,
  53. lt_bofu_address_telephone TYPE /bofu/t_addr_telephonek,
  54. lt_stop_first TYPE /scmtms/t_tor_stop_k,
  55. lt_key_bupa TYPE /bobf/t_frw_key,
  56. ls_key_bupa LIKE LINE OF lt_key_bupa,
  57. lt_role_ship TYPE /bofu/t_bupa_role_k,
  58. lt_bp_root TYPE /bofu/t_bupa_root_k,
  59. ls_selpar TYPE /bobf/s_frw_query_selparam,
  60. lt_selpar TYPE /bobf/t_frw_query_selparam,
  61. go_message TYPE REF TO /bobf/if_frw_message,
  62. ls_bofu_address_telephone_4_1 LIKE LINE OF lt_bofu_address_telephone,
  63. ls_bofu_address_telephone_4_2 LIKE LINE OF lt_bofu_address_telephone,
  64. ls_bofu_address_telephone_6_1 LIKE LINE OF lt_bofu_address_telephone,
  65. ls_bofu_address_telephone_6_2 LIKE LINE OF lt_bofu_address_telephone,
  66. ls_bofu_address_telephone_5_1 LIKE LINE OF lt_bofu_address_telephone,
  67. ls_bofu_address_telephone_5_2 LIKE LINE OF lt_bofu_address_telephone,
  68. ls_bofu_address_telephone_7_1 LIKE LINE OF lt_bofu_address_telephone,
  69. ls_bofu_address_telephone_7_2 LIKE LINE OF lt_bofu_address_telephone,
  70. ls_bofu_address_telephone_42_1 LIKE LINE OF lt_bofu_address_telephone,
  71. ls_bofu_address_telephone_42_2 LIKE LINE OF lt_bofu_address_telephone,
  72. ls_bofu_address_telephone_43_1 LIKE LINE OF lt_bofu_address_telephone,
  73. ls_bofu_address_telephone_43_2 LIKE LINE OF lt_bofu_address_telephone,
  74. ls_bofu_address_telephone_44_1 LIKE LINE OF lt_bofu_address_telephone,
  75. ls_bofu_address_telephone_44_2 LIKE LINE OF lt_bofu_address_telephone,
  76. ls_bofu_addr_telephone_23_1 LIKE LINE OF lt_bofu_address_telephone,
  77. ls_bofu_addr_telephone_23_2 LIKE LINE OF lt_bofu_address_telephone,
  78. lt_bofu_addr_tel_sorted LIKE lt_bofu_address_telephone,
  79. lv_date TYPE d,
  80. lv_time TYPE t,
  81. lv_date_result TYPE c LENGTH 11,
  82. lv_zzcargo_condition_i TYPE i,
  83. lv_qua_pcs_val_9 TYPE i,
  84. lv_gro_wei_val_10 TYPE p LENGTH 10 DECIMALS 2,
  85. lt_tor_z_pdf TYPE ztttm_tor_pdf_k,
  86. lt_bupa_common TYPE /bofu/t_bupa_common_k,
  87. lt_bupa_tax_number TYPE /bofu/t_bupa_taxno_k,
  88. lt_t005u TYPE TABLE OF t005u,
  89. lt_but0bk TYPE TABLE OF but0bk,
  90. lt_bnka TYPE TABLE OF bnka,
  91. zzfn_shipper1 TYPE c LENGTH 1000,
  92. zzfn_shipper2 TYPE c LENGTH 1000,
  93. zzname_shipper1 TYPE c LENGTH 1000,
  94. zzname_shipper2 TYPE c LENGTH 1000,
  95. zzname_consignee1 TYPE c LENGTH 1000,
  96. zzname_consignee2 TYPE c LENGTH 1000,
  97. lv_zz14x_priem_gruza_plomba TYPE c LENGTH 1000,
  98. lv_zz14x_priem_gruza_konteiner TYPE c LENGTH 1000,
  99. lv_zz26x_reg_nomer_ts TYPE c LENGTH 1000,
  100. lv_zz26x_reg_nomer_pricep TYPE c LENGTH 1000,
  101. lt_tor_bo_material TYPE /scmtms/t_mat_root_k,
  102. lt_sapapo_matkey TYPE TABLE OF /sapapo/matkey,
  103. lt_zttm_group_mat_t TYPE TABLE OF zttm_group_mat_t,
  104. lt_loc_postal_address TYPE /bofu/t_addr_postal_addressk,
  105. lt_tor_item_tr_unique TYPE TABLE OF /scmtms/s_tor_item_tr_k,
  106. lt_tor_bo_bupa_consignee TYPE /bofu/t_bupa_root_k,
  107. lt_toritemtr_linkkeysunique TYPE /bobf/t_frw_key_link,
  108. lt_torbomat_linkkeysunique TYPE /bobf/t_frw_key_link,
  109. lt_tor_bo_material_unique LIKE lt_tor_bo_material,
  110. lt_sapapo_matkey_unique LIKE lt_sapapo_matkey,
  111. lt_bofu_address_telephone_5 LIKE lt_bofu_address_telephone,
  112. lt_bofu_addr_postal_addr_5 LIKE lt_bofu_address_postal_address,
  113. lt_bp_common_5 TYPE /bofu/t_bupa_common_k,
  114. lt_bp_tax_number_5 TYPE /bofu/t_bupa_taxno_k,
  115. lt_zz7x_naimenovanie_gruza TYPE STANDARD TABLE OF string,
  116. lv_testing TYPE string,
  117. lv_string_length TYPE i,
  118. lv_zz9x_gruz_massa_brutto TYPE decfloat16,
  119. lv_zz15x_priemgruza_vesbrutto TYPE decfloat16,
  120. lt_bp_postal_address TYPE /bofu/t_addr_postal_addressk,
  121. lt_t005u_11x TYPE TABLE OF t005u,
  122. lt_tor_seal TYPE /scmtms/t_tor_seal_k,
  123. lt_tor_bo_driver TYPE /scmtms/t_res_lab_root_k,
  124. lt_tor_bo_resource TYPE /scmtms/t_res_root_k,
  125. lt_splr_common TYPE /bofu/t_bupa_common_k,
  126. lt_tor_bo_tsp_root TYPE /bofu/t_bupa_root_k,
  127. lt_splr_tax_number TYPE /bofu/t_bupa_taxno_k,
  128. lt_bofu_addr_post_addr_18 LIKE lt_bofu_address_postal_address,
  129. lt_bofu_addr_postal_addr_23 LIKE lt_bofu_address_postal_address,
  130. lt_t005u_23x TYPE TABLE OF t005u,
  131. lt_bofu_addr_telephone_23 LIKE lt_bofu_address_telephone,
  132. lt_tor_item_tr_unique_dri LIKE lt_tor_item_tr_unique,
  133. lt_tor_bo_loc_log_18 TYPE /scmtms/t_bo_loc_root_k,
  134. lt_tor_stop_18_keys TYPE /bobf/t_frw_key,
  135. lt_tor_item_tr_item_cat_dri LIKE lt_tor_item_tr,
  136. lt_tor_boloclog18keys_unique TYPE /bobf/t_frw_key,
  137. lt_loc_address_18 TYPE /bofu/t_addr_addressi_k,
  138. lt_loc_address_18_unique LIKE lt_loc_address_18,
  139. lt_pos_address TYPE /bofu/t_addr_postal_addressk,
  140. lt_bupa_taxnum TYPE /bofu/t_bupa_taxno_k,
  141. lt_bp_taxnum TYPE /bofu/t_bupa_taxno_k,
  142. lt_bupa_pos_address TYPE /bofu/t_addr_postal_addressk,
  143. lt_bupa_addrinfo TYPE /bofu/t_bupa_adrinfo_k,
  144. lt_bupa_address TYPE /bofu/t_addr_addressi_k,
  145. lt_telephone TYPE /bofu/t_addr_telephonek,
  146. zzvehicle_param TYPE c LENGTH 100,
  147. lv_qua_pcs_val_all TYPE i,
  148. lt_17_itemtr_bodriver TYPE /scmtms/t_res_lab_root_k,
  149. lt_17_itemtr_bodriver_res TYPE /scmtms/t_res_lab_root_k,
  150. lt_bp_taxnum_res LIKE lt_bp_taxnum,
  151. lt_drv_addr_tel TYPE /bofu/t_addr_telephonek.
  152.  
  153.  
  154.  
  155. *1x поле
  156. mo_tor_srv->retrieve_by_association(
  157. EXPORTING
  158. iv_node_key = /scmtms/if_tor_c=>sc_node-root
  159. it_key = it_tor_key
  160. iv_association = /scmtms/if_tor_c=>sc_association-root-stop_first
  161. iv_fill_data = abap_true
  162. IMPORTING
  163. et_target_key = DATA(lt_tor_stop_first_keys)
  164. et_data = lt_tor_stop_first ).
  165.  
  166. READ TABLE lt_tor_stop_first INTO DATA(ls_tor_stop_first) INDEX 1.
  167.  
  168. CONVERT TIME STAMP ls_tor_stop_first-plan_trans_time TIME ZONE sy-zonlo
  169. INTO DATE lv_date TIME lv_time.
  170.  
  171. CONCATENATE lv_date+6(2) '.' lv_date+4(2) '.' lv_date(4) INTO lv_date_result.
  172.  
  173. ls_form-zz1x_actual_shipment_date = lv_date_result.
  174.  
  175. *2x поле
  176. mo_tor_srv->retrieve(
  177. EXPORTING
  178. iv_node_key = /scmtms/if_tor_c=>sc_node-root
  179. it_key = it_tor_key
  180. iv_fill_data = abap_true
  181. IMPORTING
  182. et_data = lt_tor_root ).
  183.  
  184. READ TABLE lt_tor_root INTO DATA(ls_tor_root) INDEX 1.
  185.  
  186. ls_form-zz2x_bill_of_lading_num = ls_tor_root-tor_id.
  187. SHIFT ls_form-zz2x_bill_of_lading_num LEFT DELETING LEADING '0'.
  188.  
  189. *3x поле, 4x поле; 5x поле - получение, 6x поле - получение
  190. *3x поле, 4x поле
  191. mo_tor_srv->retrieve_by_association(
  192. EXPORTING
  193. iv_node_key = /scmtms/if_tor_c=>sc_node-root
  194. it_key = it_tor_key
  195. iv_association = /scmtms/if_tor_c=>sc_association-root-bupa_ship_root
  196. iv_fill_data = abap_true
  197. IMPORTING
  198. et_target_key = DATA(lt_tor_bupa_ship_keys)
  199. et_data = lt_tor_bupa_ship_root ).
  200.  
  201. mo_bupa_srv->retrieve_by_association(
  202. EXPORTING
  203. iv_node_key = /bofu/if_bupa_constants=>sc_node-root
  204. it_key = lt_tor_bupa_ship_keys
  205. iv_association = /bofu/if_bupa_constants=>sc_association-root-common
  206. iv_fill_data = abap_true
  207. IMPORTING
  208. et_data = lt_bupa_common ).
  209.  
  210. mo_bupa_srv->retrieve_by_association(
  211. EXPORTING
  212. iv_node_key = /bofu/if_bupa_constants=>sc_node-root
  213. it_key = lt_tor_bupa_ship_keys
  214. iv_association = /bofu/if_bupa_constants=>sc_association-root-tax_number
  215. iv_fill_data = abap_true
  216. IMPORTING
  217. et_data = lt_bupa_tax_number ).
  218.  
  219. mo_tor_srv->retrieve_by_association(
  220. EXPORTING
  221. iv_node_key = /scmtms/if_tor_c=>sc_node-root
  222. it_key = it_tor_key
  223. iv_association = /scmtms/if_tor_c=>sc_association-root-item_tr
  224. iv_fill_data = abap_true
  225. IMPORTING
  226. et_data = lt_tor_item_tr
  227. et_target_key = DATA(lt_tor_item_tr_keys)
  228. et_key_link = DATA(lt_tor_item_tr_link_keys) ).
  229.  
  230. mo_tor_srv->retrieve_by_association(
  231. EXPORTING
  232. iv_node_key = /scmtms/if_tor_c=>sc_node-item_tr
  233. it_key = lt_tor_item_tr_keys
  234. iv_association = /scmtms/if_tor_c=>sc_association-item_tr-itemparty
  235. IMPORTING
  236. et_target_key = DATA(lt_tor_itemparty_keys) ).
  237.  
  238. mo_tor_srv->retrieve_by_association(
  239. EXPORTING
  240. iv_node_key = /scmtms/if_tor_c=>sc_node-itemparty
  241. it_key = lt_tor_itemparty_keys
  242. iv_association = /scmtms/if_tor_c=>sc_association-itemparty-bupa_root
  243. IMPORTING
  244. et_data = lt_tor_bupa_root
  245. et_target_key = DATA(lt_tor_bupa_root_keys) ).
  246.  
  247. mo_bp_srv->retrieve_by_association(
  248. EXPORTING
  249. it_key = lt_tor_bupa_ship_keys
  250. iv_node_key = /bofu/if_bupa_constants=>sc_node-root
  251. iv_association = /bofu/if_bupa_constants=>sc_association-root-addressinformation
  252. IMPORTING
  253. et_target_key = DATA(lt_bp_addressinformation_keys) ).
  254.  
  255. mo_bp_srv->retrieve_by_association(
  256. EXPORTING
  257. it_key = lt_bp_addressinformation_keys
  258. iv_node_key = /bofu/if_bupa_constants=>sc_node-addressinformation
  259. iv_association = /bofu/if_bupa_constants=>sc_association-addressinformation-address
  260. IMPORTING
  261. et_target_key = DATA(lt_bp_address_keys) ).
  262.  
  263. /scmtms/cl_common_helper=>get_do_keys_4_rba(
  264. EXPORTING
  265. iv_host_bo_key = /bofu/if_bupa_constants=>sc_bo_key
  266. iv_host_do_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  267. iv_do_node_key = /bofu/if_addr_constants=>sc_node-telephone
  268. iv_do_assoc_key = /bofu/if_addr_constants=>sc_association-root-telephone
  269. IMPORTING
  270. ev_assoc_key = lv_assoc_key_telephone ).
  271.  
  272. mo_bp_srv->retrieve_by_association(
  273. EXPORTING
  274. iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  275. iv_association = lv_assoc_key_telephone
  276. iv_fill_data = abap_true
  277. it_key = lt_bp_address_keys
  278. IMPORTING
  279. et_data = lt_bofu_address_telephone ).
  280.  
  281. /scmtms/cl_common_helper=>get_do_keys_4_rba(
  282. EXPORTING
  283. iv_host_bo_key = /bofu/if_bupa_constants=>sc_bo_key
  284. iv_host_do_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  285. iv_do_node_key = /bofu/if_addr_constants=>sc_node-postal_address
  286. iv_do_assoc_key = /bofu/if_addr_constants=>sc_association-root-postal_address
  287. IMPORTING
  288. ev_assoc_key = lv_assoc_key_postal_address ).
  289.  
  290. mo_bp_srv->retrieve_by_association(
  291. EXPORTING
  292. iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  293. iv_association = lv_assoc_key_postal_address
  294. iv_fill_data = abap_true
  295. it_key = lt_bp_address_keys
  296. IMPORTING
  297. et_data = lt_bofu_address_postal_address ).
  298.  
  299. READ TABLE lt_bofu_address_postal_address INTO DATA(ls_bofu_addr_postal_addr_4) INDEX 1.
  300.  
  301. SELECT bezei
  302. FROM t005u
  303. INTO CORRESPONDING FIELDS OF TABLE lt_t005u
  304. WHERE bland EQ ls_bofu_addr_postal_addr_4-region AND land1 EQ ls_bofu_addr_postal_addr_4-country_code AND t005u~spras = 'R'.
  305.  
  306. READ TABLE lt_t005u INTO DATA(ls_t005u) INDEX 1.
  307. READ TABLE lt_tor_bupa_ship_root INTO DATA(ls_tor_bupa_ship_root) INDEX 1.
  308. READ TABLE lt_bupa_common INTO DATA(ls_bupa_common) INDEX 1.
  309. READ TABLE lt_bupa_tax_number INTO DATA(ls_bupa_tax_number) WITH KEY taxtype = 'RU1'.
  310.  
  311. SELECT bankn, banks, bankl
  312. FROM but0bk
  313. INTO CORRESPONDING FIELDS OF TABLE @lt_but0bk
  314. WHERE partner EQ @ls_tor_bupa_ship_root-partner.
  315.  
  316. READ TABLE lt_but0bk INTO DATA(ls_but0bk) INDEX 1.
  317.  
  318. SELECT banka, ort01, bnklz, brnch
  319. FROM bnka
  320. INTO CORRESPONDING FIELDS OF TABLE @lt_bnka
  321. WHERE banks EQ @ls_but0bk-banks AND bankl EQ @ls_but0bk-bankl.
  322.  
  323. READ TABLE lt_bnka INTO DATA(ls_bnka) INDEX 1.
  324.  
  325. *3x поле
  326. IF ls_tor_bupa_ship_root-type = '1'.
  327. READ TABLE lt_bofu_address_telephone INTO ls_bofu_address_telephone_4_1 INDEX 1.
  328. READ TABLE lt_bofu_address_telephone INTO ls_bofu_address_telephone_4_2 INDEX 2.
  329.  
  330. zzfn_shipper1 = |{ ls_bupa_common-firstname } { ls_bupa_common-lastname } { '; ИНН:' } { ls_bupa_tax_number-taxnumber } { '; адрес:' } { ls_t005u-bezei } { ',' } { ls_bofu_addr_postal_addr_4-district_name } { ',' } {
  331. ls_bofu_addr_postal_addr_4-city_name } { ',' } { ls_bofu_addr_postal_addr_4-street_name } { ls_bofu_addr_postal_addr_4-house_id } { ';' }|.
  332. zzfn_shipper2 = |{ ls_bofu_address_telephone_4_1-normalised_number_text } { ',' } { ls_bofu_address_telephone_4_2-normalised_number_text } { '; Р\С:' } { ls_but0bk-bankn } { 'в банке' } { ls_bnka-banka } { 'в городе' } { ls_bnka-ort01 } {
  333. ', "БИК"' } { ls_bnka-bnklz } { ', К\С' } { ls_bnka-brnch }|.
  334.  
  335. CONCATENATE zzfn_shipper1 zzfn_shipper2
  336. INTO ls_form-zz3x_shipper_individual SEPARATED BY space.
  337.  
  338. *4x поле
  339. ELSEIF ls_tor_bupa_ship_root-type = '2'.
  340. READ TABLE lt_bofu_address_telephone INTO ls_bofu_address_telephone_6_1 INDEX 1.
  341. READ TABLE lt_bofu_address_telephone INTO ls_bofu_address_telephone_6_2 INDEX 2.
  342.  
  343. zzname_shipper1 = |{ ls_bupa_common-firstname } { ls_bupa_common-lastname } { '; ИНН:' } { ls_bupa_tax_number-taxnumber } { '; адрес:' } { ls_t005u-bezei } { ',' } { ls_bofu_addr_postal_addr_4-district_name } { ',' } {
  344. ls_bofu_addr_postal_addr_4-city_name } { ',' } { ls_bofu_addr_postal_addr_4-street_name } { ls_bofu_addr_postal_addr_4-house_id } { ';' }|.
  345. zzname_shipper2 = |{ ls_bofu_address_telephone_6_1-normalised_number_text } { ',' } { ls_bofu_address_telephone_6_2-normalised_number_text } { '; Р\С:' } { ls_but0bk-bankn } { 'в банке' } { ls_bnka-banka } { 'в городе' } { ls_bnka-ort01 } {
  346. ', "БИК"' } { ls_bnka-bnklz } { ', К\С' } { ls_bnka-brnch }|.
  347.  
  348. CONCATENATE zzname_shipper1 zzname_shipper2
  349. INTO ls_form-zz4x_shipper_entity SEPARATED BY space.
  350. ENDIF.
  351.  
  352. *5x поле - получение, 6x поле - получение
  353. mo_tor_srv->retrieve_by_association(
  354. EXPORTING
  355. iv_node_key = /scmtms/if_tor_c=>sc_node-item_tr
  356. it_key = lt_tor_item_tr_keys
  357. iv_association = /scmtms/if_tor_c=>sc_association-item_tr-bo_bupa_consignee
  358. iv_fill_data = abap_true
  359. IMPORTING
  360. et_data = lt_tor_bo_bupa_consignee
  361. et_target_key = DATA(lt_tor_bo_bupa_consignee_keys) ).
  362.  
  363. mo_bp_srv->retrieve_by_association(
  364. EXPORTING
  365. iv_node_key = /bofu/if_bupa_constants=>sc_node-root
  366. it_key = lt_tor_bo_bupa_consignee_keys
  367. iv_association = /bofu/if_bupa_constants=>sc_association-root-addressinformation
  368. iv_fill_data = abap_false
  369. IMPORTING
  370. et_target_key = DATA(lt_bp_addrinf_5_keys) ).
  371.  
  372. mo_bp_srv->retrieve_by_association(
  373. EXPORTING
  374. iv_node_key = /bofu/if_bupa_constants=>sc_node-addressinformation
  375. it_key = lt_bp_addrinf_5_keys
  376. iv_association = /bofu/if_bupa_constants=>sc_association-addressinformation-address
  377. iv_fill_data = abap_false
  378. IMPORTING
  379. et_target_key = DATA(lt_bp_address_5_keys) ).
  380.  
  381. mo_bp_srv->retrieve_by_association(
  382. EXPORTING
  383. iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  384. iv_association = lv_assoc_key_telephone
  385. iv_fill_data = abap_true
  386. it_key = lt_bp_address_5_keys
  387. IMPORTING
  388. et_data = lt_bofu_address_telephone_5 ).
  389.  
  390. mo_bp_srv->retrieve_by_association(
  391. EXPORTING
  392. iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  393. iv_association = lv_assoc_key_postal_address
  394. iv_fill_data = abap_true
  395. it_key = lt_bp_address_5_keys
  396. IMPORTING
  397. et_data = lt_bofu_addr_postal_addr_5 ).
  398.  
  399. mo_bp_srv->retrieve_by_association(
  400. EXPORTING
  401. iv_node_key = /bofu/if_bupa_constants=>sc_node-root
  402. it_key = lt_tor_bo_bupa_consignee_keys
  403. iv_association = /bofu/if_bupa_constants=>sc_association-root-common
  404. iv_fill_data = abap_true
  405. IMPORTING
  406. et_data = lt_bp_common_5 ).
  407.  
  408. mo_bp_srv->retrieve_by_association(
  409. EXPORTING
  410. iv_node_key = /bofu/if_bupa_constants=>sc_node-root
  411. it_key = lt_tor_bo_bupa_consignee_keys
  412. iv_association = /bofu/if_bupa_constants=>sc_association-root-tax_number
  413. iv_fill_data = abap_true
  414. IMPORTING
  415. et_data = lt_bp_tax_number_5 ).
  416.  
  417. SELECT bezei, land1, bland
  418. FROM t005u
  419. INTO CORRESPONDING FIELDS OF TABLE @lt_t005u
  420. WHERE spras EQ 'R'.
  421.  
  422. SELECT partner, bankn, banks, bankl
  423. FROM but0bk
  424. INTO CORRESPONDING FIELDS OF TABLE @lt_but0bk.
  425.  
  426. SELECT banka, ort01, bnklz, brnch, banks, bankl
  427. FROM bnka
  428. INTO CORRESPONDING FIELDS OF TABLE @lt_bnka.
  429.  
  430. *7x поле - получение
  431. mo_tor_srv->retrieve_by_association(
  432. EXPORTING
  433. iv_node_key = /scmtms/if_tor_c=>sc_node-item_tr
  434. it_key = lt_tor_item_tr_keys
  435. iv_association = /scmtms/if_tor_c=>sc_association-item_tr-bo_material
  436. iv_fill_data = abap_true
  437. IMPORTING
  438. et_data = lt_tor_bo_material
  439. et_target_key = DATA(lt_tor_bo_material_keys)
  440. et_key_link = DATA(lt_tor_bo_material_link_keys) ).
  441.  
  442. mo_mtrl_srv->retrieve_by_association(
  443. EXPORTING
  444. iv_node_key = /scmtms/if_mat_c=>sc_node-root
  445. it_key = lt_tor_bo_material_keys
  446. iv_association = /scmtms/if_mat_c=>sc_association-root-description
  447. iv_fill_data = abap_true
  448. IMPORTING
  449. et_data = lt_mtrl_description ).
  450.  
  451. IF lt_tor_bo_material IS NOT INITIAL.
  452. SELECT matnr matkl
  453. FROM /sapapo/matkey
  454. INTO CORRESPONDING FIELDS OF TABLE lt_sapapo_matkey
  455. FOR ALL ENTRIES IN lt_tor_bo_material
  456. WHERE /sapapo/matkey~matnr EQ lt_tor_bo_material-internal_id.
  457. ENDIF.
  458.  
  459. IF lt_sapapo_matkey IS NOT INITIAL.
  460. SELECT matkl wgbez
  461. FROM zttm_group_mat_t
  462. INTO CORRESPONDING FIELDS OF TABLE lt_zttm_group_mat_t
  463. FOR ALL ENTRIES IN lt_sapapo_matkey
  464. WHERE zttm_group_mat_t~matkl EQ lt_sapapo_matkey-matkl.
  465. ENDIF.
  466.  
  467. *10x поле - заполнение
  468. IF ls_tor_bupa_ship_root-type = '1'.
  469. ls_form-zz10x_cargo_accept = ls_form-zz3x_shipper_individual.
  470. ELSEIF ls_tor_bupa_ship_root-type = '2'.
  471. ls_form-zz10x_cargo_accept = ls_form-zz4x_shipper_entity.
  472. ENDIF.
  473.  
  474. *11x поле - получение
  475. mo_tor_srv->retrieve_by_association(
  476. EXPORTING
  477. iv_node_key = /scmtms/if_tor_c=>sc_node-stop
  478. it_key = lt_tor_stop_first_keys
  479. iv_association = /scmtms/if_tor_c=>sc_association-stop-bo_loc_log
  480. iv_fill_data = abap_false
  481. IMPORTING
  482. et_target_key = DATA(lt_tor_bo_loc_log_keys) ).
  483.  
  484. mo_loc_srv->retrieve_by_association(
  485. EXPORTING
  486. iv_node_key = /scmtms/if_location_c=>sc_node-root
  487. it_key = lt_tor_bo_loc_log_keys
  488. iv_association = /scmtms/if_location_c=>sc_association-root-geographical_information
  489. iv_fill_data = abap_false
  490. IMPORTING
  491. et_target_key = DATA(lt_loc_geo_info_keys) ).
  492.  
  493. mo_loc_srv->retrieve_by_association(
  494. EXPORTING
  495. iv_node_key = /scmtms/if_location_c=>sc_node-geographical_information
  496. it_key = lt_loc_geo_info_keys
  497. iv_association = /scmtms/if_location_c=>sc_association-geographical_information-address
  498. iv_fill_data = abap_false
  499. IMPORTING
  500. et_target_key = DATA(lt_loc_address_keys) ).
  501.  
  502. /scmtms/cl_common_helper=>get_do_keys_4_rba(
  503. EXPORTING
  504. iv_host_bo_key = /bofu/if_bupa_constants=>sc_bo_key
  505. iv_host_do_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  506. iv_do_node_key = /bofu/if_addr_constants=>sc_node-postal_address
  507. iv_do_assoc_key = /bofu/if_addr_constants=>sc_association-root-postal_address
  508. IMPORTING
  509. ev_assoc_key = DATA(lv_assoc_key_11x) ).
  510.  
  511. mo_bp_srv->retrieve_by_association(
  512. EXPORTING
  513. iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  514. iv_association = lv_assoc_key_11x
  515. iv_fill_data = abap_true
  516. it_key = lt_loc_address_keys
  517. IMPORTING
  518. et_data = lt_bp_postal_address ).
  519.  
  520. READ TABLE lt_bp_postal_address INTO DATA(ls_bp_postal_address) INDEX 1.
  521.  
  522. SELECT bezei
  523. FROM t005u
  524. INTO CORRESPONDING FIELDS OF TABLE lt_t005u_11x
  525. WHERE bland EQ ls_bp_postal_address-region AND land1 EQ ls_bp_postal_address-country_code AND t005u~spras = 'R'.
  526.  
  527. READ TABLE lt_t005u_11x INTO DATA(ls_t005u_11x) INDEX 1.
  528.  
  529. *11x поле - заполнение
  530. ls_form-zz11x_cargo_accept_actual_addr = |{ ls_t005u_11x-bezei } { ',' } { ls_bp_postal_address-city_name } { ',' } { ls_bp_postal_address-street_name } { ls_bp_postal_address-house_id }|.
  531.  
  532. *12x поле - заполнение
  533. ls_form-zz12x_cargo_accept_fact_of_loa = ls_form-zz1x_actual_shipment_date.
  534.  
  535. *13x поле - заполнение
  536. ls_form-zz13x_cargo_accept_fact_of_loa = ls_form-zz1x_actual_shipment_date.
  537.  
  538. *14x поле - получение
  539. mo_tor_srv->retrieve_by_association(
  540. EXPORTING
  541. iv_node_key = /scmtms/if_tor_c=>sc_node-root
  542. it_key = it_tor_key
  543. iv_association = /scmtms/if_tor_c=>sc_association-root-seal
  544. iv_fill_data = abap_true
  545. IMPORTING
  546. et_data = lt_tor_seal ).
  547.  
  548. *18x - получение
  549. mo_tor_srv->retrieve_by_association(
  550. EXPORTING
  551. iv_node_key = /scmtms/if_tor_c=>sc_node-root
  552. it_key = it_tor_key
  553. iv_association = /scmtms/if_tor_c=>sc_association-root-stop
  554. iv_fill_data = abap_true
  555. IMPORTING
  556. et_data = lt_tor_stop ).
  557.  
  558. LOOP AT lt_tor_stop INTO DATA(ls_tor_stop).
  559. IF ls_tor_stop-wh_next_rel = 'U'.
  560. APPEND ls_tor_stop TO lt_tor_stop_18_keys.
  561. ENDIF.
  562. ENDLOOP.
  563.  
  564. mo_tor_srv->retrieve_by_association(
  565. EXPORTING
  566. iv_node_key = /scmtms/if_tor_c=>sc_node-stop
  567. it_key = lt_tor_stop_18_keys
  568. iv_association = /scmtms/if_tor_c=>sc_association-stop-bo_loc_log
  569. iv_fill_data = abap_true
  570. IMPORTING
  571. et_data = lt_tor_bo_loc_log_18
  572. et_target_key = DATA(lt_tor_bo_loc_log_18_keys) ).
  573.  
  574. mo_loc_srv->retrieve_by_association(
  575. EXPORTING
  576. iv_node_key = /scmtms/if_location_c=>sc_node-root
  577. it_key = lt_tor_bo_loc_log_18_keys
  578. iv_association = /scmtms/if_location_c=>sc_association-root-geographical_information
  579. iv_fill_data = abap_false
  580. IMPORTING
  581. et_target_key = DATA(lt_loc_geo_info_18_keys) ).
  582.  
  583. mo_loc_srv->retrieve_by_association(
  584. EXPORTING
  585. iv_node_key = /scmtms/if_location_c=>sc_node-geographical_information
  586. it_key = lt_loc_geo_info_18_keys
  587. iv_association = /scmtms/if_location_c=>sc_association-geographical_information-address
  588. iv_fill_data = abap_true
  589. IMPORTING
  590. et_data = lt_loc_address_18
  591. et_target_key = DATA(lt_loc_address_18_keys) ).
  592.  
  593. mo_bp_srv->retrieve_by_association(
  594. EXPORTING
  595. iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  596. iv_association = lv_assoc_key_postal_address
  597. iv_fill_data = abap_true
  598. it_key = lt_loc_address_18_keys
  599. IMPORTING
  600. et_data = lt_bofu_addr_post_addr_18 ).
  601.  
  602. *23x поле - получение, 23x поле - заполнение
  603. mo_tor_srv->retrieve_by_association(
  604. EXPORTING
  605. iv_node_key = /scmtms/if_tor_c=>sc_node-root
  606. it_key = it_tor_key
  607. iv_association = /scmtms/if_tor_c=>sc_association-root-bo_tsp_root
  608. iv_fill_data = abap_true
  609. IMPORTING
  610. et_data = lt_tor_bo_tsp_root ).
  611.  
  612. READ TABLE lt_tor_bo_tsp_root INTO DATA(ls_tor_bo_tsp_root_keys) WITH KEY type = '1'.
  613.  
  614. mo_splr_srv->retrieve_by_association(
  615. EXPORTING
  616. iv_node_key = /bofu/if_supplier_c=>sc_node-root
  617. it_key = VALUE #( ( key = ls_tor_bo_tsp_root_keys-key ) )
  618. iv_association = /bofu/if_supplier_c=>sc_association-root-common
  619. iv_fill_data = abap_true
  620. IMPORTING
  621. et_data = lt_splr_common ).
  622.  
  623. READ TABLE lt_splr_common INTO DATA(ls_splr_common) INDEX 1.
  624.  
  625. mo_splr_srv->retrieve_by_association(
  626. EXPORTING
  627. iv_node_key = /bofu/if_supplier_c=>sc_node-root
  628. it_key = VALUE #( ( key = ls_tor_bo_tsp_root_keys-key ) )
  629. iv_association = /bofu/if_supplier_c=>sc_association-root-tax_number
  630. iv_fill_data = abap_true
  631. IMPORTING
  632. et_data = lt_splr_tax_number ).
  633.  
  634. READ TABLE lt_splr_tax_number INTO DATA(ls_splr_tax_number) WITH KEY taxtype = 'RU1'.
  635.  
  636. mo_splr_srv->retrieve_by_association(
  637. EXPORTING
  638. iv_node_key = /bofu/if_supplier_c=>sc_node-root
  639. it_key = VALUE #( ( key = ls_tor_bo_tsp_root_keys-key ) )
  640. iv_association = /bofu/if_supplier_c=>sc_association-root-addressinformation
  641. iv_fill_data = abap_false
  642. IMPORTING
  643. et_target_key = DATA(lt_splr_adressinformation_keys) ).
  644.  
  645. mo_splr_srv->retrieve_by_association(
  646. EXPORTING
  647. iv_node_key = /bofu/if_supplier_c=>sc_node-addressinformation
  648. it_key = lt_splr_adressinformation_keys
  649. iv_association = /bofu/if_supplier_c=>sc_association-addressinformation-/bofu/address
  650. iv_fill_data = abap_false
  651. IMPORTING
  652. et_target_key = DATA(lt_splr_address_23_keys) ).
  653.  
  654. mo_bp_srv->retrieve_by_association(
  655. EXPORTING
  656. iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  657. iv_association = lv_assoc_key_postal_address
  658. iv_fill_data = abap_true
  659. it_key = lt_splr_address_23_keys
  660. IMPORTING
  661. et_data = lt_bofu_addr_postal_addr_23 ).
  662.  
  663. READ TABLE lt_bofu_addr_postal_addr_23 INTO DATA(ls_bofu_addr_postal_addr_23) INDEX 1.
  664.  
  665. SELECT bezei
  666. FROM t005u
  667. INTO CORRESPONDING FIELDS OF TABLE lt_t005u_23x
  668. WHERE bland EQ ls_bofu_addr_postal_addr_23-region AND land1 EQ ls_bofu_addr_postal_addr_23-country_code AND t005u~spras = 'R'.
  669.  
  670. READ TABLE lt_t005u_23x INTO DATA(ls_t005u_23x) INDEX 1.
  671.  
  672. mo_bp_srv->retrieve_by_association(
  673. EXPORTING
  674. iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  675. iv_association = lv_assoc_key_telephone
  676. iv_fill_data = abap_true
  677. it_key = lt_splr_address_23_keys
  678. IMPORTING
  679. et_data = lt_bofu_addr_telephone_23 ).
  680.  
  681. READ TABLE lt_bofu_addr_telephone_23 INTO ls_bofu_addr_telephone_23_1 INDEX 1.
  682. READ TABLE lt_bofu_addr_telephone_23 INTO ls_bofu_addr_telephone_23_2 INDEX 2.
  683.  
  684. READ TABLE lt_but0bk INTO DATA(ls_but0bk_23) WITH KEY partner = ls_tor_root-tspid.
  685.  
  686. READ TABLE lt_bnka INTO DATA(ls_bnka_23) WITH KEY banks = ls_but0bk_23-banks bankl = ls_but0bk_23-bankl.
  687.  
  688. ls_form-zz23x_carriers_legal_data = |{ ls_splr_common-firstname } { ls_splr_common-lastname } { '; ИНН:' } { ls_splr_tax_number-taxnumber } { ';' } { ls_bofu_addr_postal_addr_23-street_postal_code } { ',' } {
  689. ls_bofu_addr_postal_addr_23-district_name } { ',' } { ls_t005u_23x-bezei } { ',' } { ls_bofu_addr_postal_addr_23-city_name } { ',' } { ls_bofu_addr_postal_addr_23-street_name } { ls_bofu_addr_postal_addr_23-house_id } { ';' } {
  690. ls_bofu_addr_telephone_23_1-normalised_number_text } { ',' } { ls_bofu_addr_telephone_23_2-normalised_number_text } { '; "р\с:"' } { ls_but0bk_23-bankn } { 'в банке' } { ls_bnka_23-banka } { 'в городе' } { ls_bnka_23-ort01 } { ', "БИК" ' } {
  691. ls_bnka_23-bnklz } { ', К\С' } { ls_bnka_23-brnch }|.
  692.  
  693. *25x поле - получение, 25x поле - заполнение
  694. mo_tor_srv->retrieve_by_association(
  695. EXPORTING
  696. iv_node_key = /scmtms/if_tor_c=>sc_node-item_tr
  697. it_key = lt_tor_item_tr_keys
  698. iv_association = /scmtms/if_tor_c=>sc_association-item_tr-bo_resource
  699. iv_fill_data = abap_true
  700. IMPORTING
  701. et_data = lt_tor_bo_resource ).
  702.  
  703. READ TABLE lt_tor_bo_resource INTO DATA(ls_tor_bo_resource) INDEX 1.
  704.  
  705. ls_form-zz25x_vehicle_brand = ls_tor_bo_resource-description.
  706.  
  707. *26x поле - получение
  708. READ TABLE lt_tor_item_tr INTO DATA(ls_tor_item_tr) WITH KEY item_cat = 'AVR'.
  709.  
  710. SPLIT ls_tor_item_tr-tracking_no AT '/' INTO lv_zz26x_reg_nomer_ts lv_zz26x_reg_nomer_pricep.
  711.  
  712. IF lv_zz26x_reg_nomer_pricep IS INITIAL.
  713. ls_form-zz26x_vehicle_reg_number = |{ 'Регистрационный номер: ' } { lv_zz26x_reg_nomer_ts }|.
  714. ELSE.
  715. ls_form-zz26x_vehicle_reg_number = |{ 'Регистрационный номер: ' } { lv_zz26x_reg_nomer_ts } { ', прицеп: ' } { lv_zz26x_reg_nomer_pricep }|.
  716. ENDIF.
  717.  
  718. *28x поле - получение, 28x поле - заполнение
  719. ls_form-zz28x_service_cost_legal_data = ls_form-zz23x_carriers_legal_data.
  720.  
  721. **********************************************************************
  722.  
  723. *17x поле - получение, 17x поле - заполнение, 24x поле - получение, 24x поле - заполнение
  724.  
  725. " 17x
  726. " 6. Прием груза - ФИО водителя
  727. " /SCMTMS/TOR -> ITEM_TR (где ITEM_CAT = DRI) - BO_DRIVER:
  728. " NAME_FIRST, NAME_LAST
  729.  
  730. " ITEM_TR -> BO_DRIVER
  731.  
  732. mo_tor_srv->retrieve_by_association(
  733. EXPORTING
  734. iv_node_key = /scmtms/if_tor_c=>sc_node-item_tr
  735. it_key = lt_tor_item_tr_keys
  736. iv_association = /scmtms/if_tor_c=>sc_association-item_tr-bo_driver
  737. iv_fill_data = abap_true
  738. IMPORTING
  739. et_data = lt_17_itemtr_bodriver
  740. et_target_key = DATA(lt_17_itemtr_bodriver_keys)
  741. et_key_link = DATA(lt_17_item_driver_link_keys)
  742. ).
  743.  
  744. " ITEM_TR (где ITEM_CAT = DRI)
  745.  
  746. LOOP AT lt_17_itemtr_bodriver INTO DATA(ls_17_itemtr_bodriver).
  747. LOOP AT lt_17_item_driver_link_keys INTO DATA(ls_17_item_driver_link_keys)
  748. WHERE target_key = ls_17_itemtr_bodriver-key.
  749. LOOP AT lt_tor_item_tr INTO ls_tor_item_tr
  750. WHERE key = ls_17_item_driver_link_keys-source_key
  751. AND item_cat = 'DRI'.
  752. APPEND ls_17_itemtr_bodriver TO lt_17_itemtr_bodriver_res.
  753. ENDLOOP.
  754. ENDLOOP.
  755. ENDLOOP.
  756.  
  757. IF lt_17_itemtr_bodriver_res[ 1 ] IS NOT INITIAL.
  758. ls_17_itemtr_bodriver = lt_17_itemtr_bodriver_res[ 1 ].
  759. zzvehicle_param = | { ls_17_itemtr_bodriver-name_first } { ' ' } { ls_17_itemtr_bodriver-name_last } |.
  760. ls_form-zz17x_cargo_accept_drivers_ini = zzvehicle_param.
  761. ENDIF.
  762.  
  763. " 24x
  764. " 10. Перевозчик
  765. " ИНН
  766. " «ИНН» /BOFU/BUSINESSPARTNER (где PARTNER = BO_DRIVER - LABOURRES_ID) -
  767. " - TAX_NUMBER(где TAXTYPE = RU1):
  768. " TAXNUMBER
  769.  
  770. " /bofu/businesspartner
  771. " mo_bp_srv = /bobf/cl_tra_serv_mgr_factory=>get_service_manager( /bofu/if_bupa_constants=>sc_bo_key ).
  772.  
  773. LOOP AT lt_17_itemtr_bodriver_res INTO ls_17_itemtr_bodriver.
  774. ls_selpar-low = ls_17_itemtr_bodriver-labourres_id.
  775. ls_selpar-attribute_name = /bofu/if_bupa_constants=>sc_query_attribute-root-query_by_role-partner.
  776. ls_selpar-option = 'EQ'.
  777. ls_selpar-sign = 'I'.
  778. APPEND ls_selpar TO lt_selpar.
  779. ENDLOOP.
  780.  
  781. mo_bp_srv->query(
  782. EXPORTING
  783. iv_query_key = /bofu/if_bupa_constants=>sc_query-root-query_by_role
  784. it_selection_parameters = lt_selpar
  785. IMPORTING
  786. et_key = DATA(lt_fag_party_keys)
  787. ).
  788.  
  789. mo_bupa_srv->retrieve_by_association(
  790. EXPORTING
  791. it_key = lt_fag_party_keys
  792. iv_node_key = /bofu/if_bupa_constants=>sc_node-root
  793. iv_association = /bofu/if_bupa_constants=>sc_association-root-tax_number
  794. iv_fill_data = abap_true
  795. IMPORTING
  796. et_data = lt_bp_taxnum
  797. ).
  798.  
  799. LOOP AT lt_bp_taxnum INTO DATA(ls_bp_taxnum)
  800. WHERE taxtype = 'RU1'.
  801. APPEND ls_bp_taxnum TO lt_bp_taxnum_res.
  802. ENDLOOP.
  803.  
  804. IF lt_bp_taxnum_res[ 1 ] IS NOT INITIAL.
  805. ls_form-zzvehicle_param = lt_bp_taxnum_res[ 1 ]-taxnumber.
  806. ENDIF.
  807.  
  808. " 24x
  809. " 10. Перевозчик - данные о средствах связи (при их наличии) водителя (водителей)
  810. " /SCMTMS/TOR -> ITEM_TR (где ITEM_CAT = DRI) - BO_DRIVER -
  811. " – ADDRESS – TELEPHONE:
  812. " NORMALISED_NUMBER_TEXT
  813. " BO_DRIVER –> ADDRESS
  814. " mo_drv_srm = /bobf/cl_tra_serv_mgr_factory=>get_service_manager( /scmtms/if_driver_c=>sc_bo_key ).
  815. mo_drv_srm->retrieve_by_association(
  816. EXPORTING
  817. iv_node_key = /scmtms/if_driver_c=>sc_node-root
  818. it_key = lt_17_itemtr_bodriver_keys
  819. iv_association = /scmtms/if_driver_c=>sc_association-root-address
  820. iv_fill_data = abap_false
  821. IMPORTING
  822. et_target_key = DATA(lt_bodriver_addr_keys)
  823. ).
  824. " ADDRESS -> TELEPHONE
  825. mo_bp_srv->retrieve_by_association(
  826. EXPORTING
  827. iv_node_key = /bofu/if_bupa_constants=>sc_node-/bofu/address
  828. iv_association = lv_assoc_key_telephone
  829. iv_fill_data = abap_true
  830. it_key = lt_bodriver_addr_keys
  831. IMPORTING
  832. et_data = lt_drv_addr_tel
  833. ).
  834.  
  835. LOOP AT lt_drv_addr_tel INTO DATA(ls_drv_addr_tel).
  836. ls_form-zz24x_inn_phone_numbers = | { ls_form-zz17x_cargo_accept_drivers_ini } { ',' } { ls_form-zzvehicle_param } { ',' } { ls_drv_addr_tel-normalised_number_text } { ' ' }|.
  837. ENDLOOP.
  838.  
  839. * mo_tor_srv->retrieve_by_association(
  840. * EXPORTING
  841. * iv_node_key = /scmtms/if_tor_c=>sc_node-item_tr
  842. * it_key = lt_tor_item_tr_keys
  843. * iv_association = /scmtms/if_tor_c=>sc_association-item_tr-bo_resource
  844. * iv_fill_data = abap_true
  845. * IMPORTING
  846. * et_data = lt_tor_bo_resource ).
  847. *
  848. * APPEND LINES OF lt_tor_item_tr TO lt_tor_item_tr_unique_dri.
  849. *
  850. * DELETE lt_tor_item_tr_unique_dri WHERE item_cat NE 'DRI'.
  851. *
  852. * LOOP AT lt_tor_item_tr_unique_dri INTO DATA(ls_tor_item_tr_unique_dri).
  853. *
  854. * READ TABLE lt_tor_bo_driver INTO DATA(ls_tor_bo_driver) WITH KEY parent_key = ls_tor_item_tr_unique_dri.
  855.  
  856. *22x поле - заполнение
  857. ls_form-zz22x_cargo_deliv_drivers_init = ls_form-zz17x_cargo_accept_drivers_ini.
  858.  
  859. **********************************************************************
  860.  
  861. APPEND LINES OF lt_tor_item_tr TO lt_tor_item_tr_unique.
  862.  
  863. DELETE lt_tor_item_tr_unique WHERE consignee_id IS INITIAL.
  864.  
  865. SORT lt_tor_item_tr_unique BY consignee_id key.
  866.  
  867. DELETE ADJACENT DUPLICATES FROM lt_tor_item_tr_unique COMPARING consignee_id.
  868.  
  869. LOOP AT lt_tor_item_tr_unique INTO DATA(ls_tor_item_tr_unique).
  870.  
  871. *5x поле - заполнение, 6x поле - заполнение
  872. READ TABLE lt_tor_bo_bupa_consignee INTO DATA(ls_tor_bo_bupa_consignee) WITH KEY partner = ls_tor_item_tr_unique-consignee_id.
  873. IF ls_tor_bo_bupa_consignee IS NOT INITIAL.
  874. READ TABLE lt_bofu_addr_postal_addr_5 INTO DATA(ls_bofu_addr_postal_addr_5) WITH KEY root_key = ls_tor_bo_bupa_consignee-key.
  875. IF ls_bofu_addr_postal_addr_5 IS NOT INITIAL.
  876. READ TABLE lt_t005u INTO DATA(ls_t005u_5) WITH KEY land1 = ls_bofu_addr_postal_addr_5-country_code bland = ls_bofu_addr_postal_addr_5-region.
  877. IF ls_t005u_5 IS NOT INITIAL.
  878. READ TABLE lt_but0bk INTO DATA(ls_but0bk_5) WITH KEY partner = ls_tor_item_tr_unique-consignee_id.
  879. IF ls_but0bk_5 IS NOT INITIAL.
  880. READ TABLE lt_bnka INTO DATA(ls_bnka_5) WITH KEY banks = ls_but0bk_5-banks bankl = ls_but0bk_5-bankl.
  881. IF ls_bnka_5 IS NOT INITIAL.
  882. READ TABLE lt_bp_common_5 INTO DATA(ls_bupa_common_5) WITH KEY parent_key = ls_tor_bo_bupa_consignee-key.
  883. IF ls_bupa_common_5 IS NOT INITIAL.
  884. READ TABLE lt_bp_tax_number_5 INTO DATA(ls_bupa_tax_number_5) WITH KEY parent_key = ls_tor_bo_bupa_consignee-key taxtype = 'RU1'.
  885. ENDIF.
  886. ENDIF.
  887. ENDIF.
  888. ENDIF.
  889. ENDIF.
  890. ENDIF.
  891.  
  892.  
  893. IF lt_bofu_address_telephone_5 IS NOT INITIAL.
  894. LOOP AT lt_bofu_address_telephone_5 INTO DATA(ls_bofu_address_telephone).
  895. IF ls_bofu_address_telephone-root_key = ls_tor_bo_bupa_consignee-key.
  896. APPEND ls_bofu_address_telephone TO lt_bofu_addr_tel_sorted.
  897. ENDIF.
  898. ENDLOOP.
  899. ENDIF.
  900.  
  901. READ TABLE lt_bofu_addr_tel_sorted INTO ls_bofu_address_telephone_5_1 INDEX 1.
  902. IF ls_bofu_address_telephone_5_1 IS NOT INITIAL.
  903. READ TABLE lt_bofu_addr_tel_sorted INTO ls_bofu_address_telephone_5_2 INDEX 2.
  904. ENDIF.
  905.  
  906. *5x поле - заполнение
  907. IF ls_tor_bo_bupa_consignee-type = '1'.
  908. zzfn_shipper1 = |{ ls_bupa_common_5-firstname } { ls_bupa_common_5-lastname } { '; ИНН:' } { ls_bupa_tax_number_5-taxnumber } { '; адрес:' } { ls_t005u_5-bezei } { ',' } { ls_bofu_addr_postal_addr_5-district_name } { ',' } {
  909. ls_bofu_addr_postal_addr_5-city_name } { ',' } { ls_bofu_addr_postal_addr_5-street_name } { ls_bofu_addr_postal_addr_5-house_id } { ';' }|.
  910. zzfn_shipper2 = |{ ls_bofu_address_telephone_5_1-normalised_number_text } { ',' } { ls_bofu_address_telephone_5_2-normalised_number_text } { '; Р\С:' } { ls_but0bk_5-bankn } { 'в банке' } { ls_bnka_5-banka } { 'в городе' } {
  911. ls_bnka_5-ort01 } { ', "БИК"' } { ls_bnka_5-bnklz } { ', К\С' } { ls_bnka_5-brnch }|.
  912.  
  913. CONCATENATE zzfn_shipper1 zzfn_shipper2
  914. INTO ls_form-zz5x_consignee_individual SEPARATED BY space.
  915.  
  916. *6x поле - заполнение
  917. ELSEIF ls_tor_bo_bupa_consignee-type = '2'.
  918. zzname_consignee1 = |{ ls_bupa_common_5-firstname } { ls_bupa_common_5-lastname } { '; ИНН:' } { ls_bupa_tax_number_5-taxnumber } { '; адрес:' } { ls_t005u_5-bezei } { ',' } { ls_bofu_addr_postal_addr_5-district_name } { ',' } {
  919. ls_bofu_addr_postal_addr_5-city_name } { ',' } { ls_bofu_addr_postal_addr_5-street_name } { ls_bofu_addr_postal_addr_5-house_id } { ';' }|.
  920. zzname_consignee2 = |{ ls_bofu_address_telephone_5_1-normalised_number_text } { ',' } { ls_bofu_address_telephone_5_2-normalised_number_text } { '; Р\С:' } { ls_but0bk_5-bankn } { 'в банке' } { ls_bnka_5-banka } { 'в городе' } {
  921. ls_bnka_5-ort01 } { ', "БИК"' } { ls_bnka_5-bnklz } { ', К\С' } { ls_bnka_5-brnch }|.
  922.  
  923. CONCATENATE zzname_consignee1 zzname_consignee2
  924. INTO ls_form-zz6x_consignee_entity SEPARATED BY space.
  925. ENDIF.
  926.  
  927. *7x поле - заполнение
  928. CLEAR ls_tor_item_tr.
  929.  
  930. LOOP AT lt_tor_item_tr INTO ls_tor_item_tr.
  931. IF ls_tor_item_tr-consignee_id = ls_tor_item_tr_unique-consignee_id
  932. AND ls_tor_item_tr-item_cat = 'PRD'.
  933. APPEND ls_tor_item_tr TO lt_toritemtrunique_itemcatprd.
  934. ENDIF.
  935. ENDLOOP.
  936.  
  937. DELETE ADJACENT DUPLICATES FROM lt_toritemtrunique_itemcatprd COMPARING ALL FIELDS.
  938.  
  939. LOOP AT lt_toritemtrunique_itemcatprd INTO DATA(ls_toritemtrunique_itemcatprd).
  940. LOOP AT lt_tor_item_tr_link_keys INTO DATA(ls_tor_item_tr_link_keys).
  941. IF ls_tor_item_tr_link_keys-target_key = ls_toritemtrunique_itemcatprd-key.
  942. APPEND ls_tor_item_tr_link_keys TO lt_toritemtr_linkkeysunique.
  943. ENDIF.
  944. ENDLOOP.
  945. ENDLOOP.
  946.  
  947. DELETE ADJACENT DUPLICATES FROM lt_toritemtr_linkkeysunique.
  948.  
  949. LOOP AT lt_toritemtr_linkkeysunique INTO DATA(ls_toritemtr_linkkeysunique).
  950. LOOP AT lt_tor_bo_material_link_keys INTO DATA(ls_tor_bo_material_link_keys).
  951. IF ls_tor_bo_material_link_keys-source_key = ls_toritemtr_linkkeysunique-target_key.
  952. APPEND ls_tor_bo_material_link_keys TO lt_torbomat_linkkeysunique.
  953. ENDIF.
  954. ENDLOOP.
  955. ENDLOOP.
  956.  
  957. DELETE ADJACENT DUPLICATES FROM lt_torbomat_linkkeysunique.
  958.  
  959. CLEAR ls_toritemtr_linkkeysunique.
  960.  
  961. LOOP AT lt_torbomat_linkkeysunique INTO ls_toritemtr_linkkeysunique.
  962. LOOP AT lt_tor_bo_material INTO DATA(ls_tor_bo_material).
  963. IF ls_tor_bo_material-key = ls_toritemtr_linkkeysunique-target_key.
  964. APPEND ls_tor_bo_material TO lt_tor_bo_material_unique.
  965. ENDIF.
  966. ENDLOOP.
  967. ENDLOOP.
  968.  
  969. DELETE ADJACENT DUPLICATES FROM lt_tor_bo_material_unique.
  970.  
  971. LOOP AT lt_tor_bo_material_unique INTO DATA(ls_tor_bo_material_unique).
  972. LOOP AT lt_sapapo_matkey INTO DATA(ls_sapapo_matkey).
  973. IF ls_sapapo_matkey-matnr = ls_tor_bo_material_unique-internal_id.
  974. APPEND ls_sapapo_matkey TO lt_sapapo_matkey_unique.
  975. ENDIF.
  976. ENDLOOP.
  977. ENDLOOP.
  978.  
  979. DELETE ADJACENT DUPLICATES FROM lt_sapapo_matkey_unique.
  980.  
  981. LOOP AT lt_sapapo_matkey_unique INTO DATA(ls_sapapo_matkey_unique).
  982. LOOP AT lt_zttm_group_mat_t INTO DATA(ls_zttm_group_mat_t).
  983. IF ls_zttm_group_mat_t-matkl = ls_sapapo_matkey_unique-matkl.
  984. APPEND ls_zttm_group_mat_t-wgbez TO lt_zz7x_naimenovanie_gruza.
  985. ENDIF.
  986. ENDLOOP.
  987. ENDLOOP.
  988.  
  989. SORT lt_zz7x_naimenovanie_gruza.
  990.  
  991. DELETE ADJACENT DUPLICATES FROM lt_zz7x_naimenovanie_gruza.
  992.  
  993. LOOP AT lt_zz7x_naimenovanie_gruza INTO DATA(ls_zz7x_naimenovanie_gruza).
  994. IF ls_zz7x_naimenovanie_gruza IS NOT INITIAL.
  995. ls_form-zz7x_shipping_name = |{ ls_zz7x_naimenovanie_gruza } { ',' } { ls_form-zz7x_shipping_name }|.
  996. ENDIF.
  997. ENDLOOP.
  998.  
  999. IF ls_form-zz7x_shipping_name IS NOT INITIAL.
  1000. lv_string_length = strlen( ls_form-zz7x_shipping_name ) - 1.
  1001. ls_form-zz7x_shipping_name = ls_form-zz7x_shipping_name+0(lv_string_length).
  1002. ENDIF.
  1003.  
  1004. *8x поле - заполнение
  1005. READ TABLE lt_tor_seal INTO DATA(ls_tor_seal) WITH KEY party_id = ls_tor_item_tr_unique-consignee_id.
  1006.  
  1007. IF ls_tor_seal IS NOT INITIAL.
  1008. lv_qua_pcs_val_all = ls_tor_seal-qua_pcs_val_all.
  1009. ENDIF.
  1010.  
  1011. ls_form-zz8x_cargo_number_of_packages = |{ lv_qua_pcs_val_all } { ls_tor_seal-qua_pcs_uni }|.
  1012.  
  1013. *9x поле - заполнение
  1014. CLEAR ls_toritemtrunique_itemcatprd.
  1015.  
  1016. LOOP AT lt_toritemtrunique_itemcatprd INTO ls_toritemtrunique_itemcatprd.
  1017. IF ls_toritemtrunique_itemcatprd-main_cargo_item NE 'X'.
  1018. lv_zz9x_gruz_massa_brutto = ls_toritemtrunique_itemcatprd-gro_wei_val + lv_zz9x_gruz_massa_brutto.
  1019. ENDIF.
  1020. ENDLOOP.
  1021.  
  1022. ls_form-zz9x_cargo_gross_weight = |{ lv_zz9x_gruz_massa_brutto } { ls_toritemtrunique_itemcatprd-gro_wei_uni }|.
  1023.  
  1024. *14x поле - заполнение
  1025. CLEAR ls_tor_item_tr.
  1026.  
  1027. LOOP AT lt_tor_item_tr INTO ls_tor_item_tr.
  1028. IF ls_tor_item_tr-consignee_id = ls_tor_item_tr_unique-consignee_id AND ls_tor_item_tr-item_cat = 'TUR'.
  1029. APPEND ls_tor_item_tr TO lt_toritemtrunique_itemcattur.
  1030. ENDIF.
  1031. ENDLOOP.
  1032.  
  1033. CLEAR ls_tor_seal.
  1034.  
  1035. LOOP AT lt_tor_seal INTO ls_tor_seal.
  1036. IF ls_tor_seal-party_id = ls_tor_item_tr_unique-consignee_id AND ls_tor_seal-seal_number IS NOT INITIAL.
  1037. lv_zz14x_priem_gruza_plomba = |{ 'Пломба №' } { ls_tor_seal-seal_number }|.
  1038. ENDIF.
  1039. ENDLOOP.
  1040.  
  1041. LOOP AT lt_toritemtrunique_itemcattur INTO DATA(ls_toritemtrunique_itemcattur).
  1042. IF ls_toritemtrunique_itemcattur-res_id IS NOT INITIAL.
  1043. lv_zz14x_priem_gruza_konteiner = |{ lv_zz14x_priem_gruza_konteiner } { 'контейнер №' } { ls_toritemtrunique_itemcattur-res_id } { ',' }|.
  1044. ENDIF.
  1045. ENDLOOP.
  1046.  
  1047. IF lv_zz14x_priem_gruza_konteiner IS NOT INITIAL.
  1048. lv_zz14x_priem_gruza_konteiner = |{ '\' } { lv_zz14x_priem_gruza_konteiner }|.
  1049.  
  1050. lv_string_length = strlen( lv_zz14x_priem_gruza_konteiner ) - 1.
  1051. lv_zz14x_priem_gruza_konteiner = lv_zz14x_priem_gruza_konteiner+0(lv_string_length).
  1052.  
  1053. ENDIF.
  1054.  
  1055. ls_form-zz14x_cargo_accept_seal_contai = |{ lv_zz14x_priem_gruza_plomba } { ' ' } { lv_zz14x_priem_gruza_konteiner }|.
  1056.  
  1057. *15x поле - заполнение
  1058. ls_form-zz15x_cargo_accept_gross_weigh = ls_form-zz9x_cargo_gross_weight.
  1059.  
  1060. *16x поле - заполнение
  1061. ls_form-zz16x_cargo_accept_packages_nu = ls_form-zz8x_cargo_number_of_packages.
  1062.  
  1063. *18x поле - заполнение
  1064. LOOP AT lt_tor_bo_loc_log_18 INTO DATA(ls_tor_bo_loc_log_18).
  1065. IF ls_tor_bo_loc_log_18-business_partner_id = ls_tor_item_tr_unique-consignee_id.
  1066. LOOP AT lt_tor_bo_loc_log_18_keys INTO DATA(ls_tor_bo_loc_log_18_keys).
  1067. IF ls_tor_bo_loc_log_18_keys-key = ls_tor_bo_loc_log_18-key.
  1068. APPEND ls_tor_bo_loc_log_18_keys TO lt_tor_boloclog18keys_unique.
  1069. ENDIF.
  1070. ENDLOOP.
  1071. ENDIF.
  1072. ENDLOOP.
  1073.  
  1074. LOOP AT lt_loc_address_18 INTO DATA(ls_loc_address_18).
  1075. LOOP AT lt_tor_boloclog18keys_unique INTO DATA(ls_tor_boloclog18keys_unique).
  1076. IF ls_loc_address_18-parent_key = ls_tor_boloclog18keys_unique-key.
  1077. APPEND ls_loc_address_18 TO lt_loc_address_18_unique.
  1078. ENDIF.
  1079. ENDLOOP.
  1080. ENDLOOP.
  1081.  
  1082. LOOP AT lt_bofu_addr_post_addr_18 INTO DATA(ls_bofu_addr_post_addr_18).
  1083. LOOP AT lt_loc_address_18_unique INTO DATA(ls_loc_address_18_unique).
  1084. IF ls_bofu_addr_post_addr_18-root_key = ls_loc_address_18_unique-root_key.
  1085. SELECT bezei
  1086. FROM t005u
  1087. INTO CORRESPONDING FIELDS OF TABLE lt_t005u
  1088. WHERE bland EQ ls_bofu_addr_post_addr_18-region AND land1 EQ ls_bofu_addr_post_addr_18-country_code AND t005u~spras = 'R'.
  1089.  
  1090. READ TABLE lt_t005u INTO ls_t005u INDEX 1.
  1091.  
  1092. ls_form-zz18x_cargo_deliv_actual_addr = |{ ls_t005u-bezei } { ',' } { ls_bofu_addr_post_addr_18-city_name } { ',' } { ls_bofu_addr_post_addr_18-street_name } { ls_bofu_addr_post_addr_18-house_id }|.
  1093. ENDIF.
  1094. ENDLOOP.
  1095. ENDLOOP.
  1096.  
  1097. *19x поле - заполнение
  1098. ls_form-zz19x_cargo_deliv_seal_contain = ls_form-zz14x_cargo_accept_seal_contai.
  1099.  
  1100. *20x поле - заполнение
  1101. ls_form-zz20x_cargo_deliv_gross_weight = ls_form-zz9x_cargo_gross_weight.
  1102.  
  1103. *21x поле - заполнение
  1104. ls_form-zz21x_cargo_deliv_packages_num = ls_form-zz8x_cargo_number_of_packages.
  1105.  
  1106. APPEND ls_form TO et_body.
  1107.  
  1108. CLEAR:
  1109. lt_bofu_addr_tel_sorted,
  1110. lt_toritemtrunique_itemcatprd,
  1111. lt_toritemtr_linkkeysunique,
  1112. lt_torbomat_linkkeysunique,
  1113. lt_tor_bo_material_unique,
  1114. lt_sapapo_matkey_unique,
  1115. lt_toritemtrunique_itemcattur,
  1116. lt_tor_boloclog18keys_unique,
  1117. lt_loc_address_18_unique,
  1118. lt_zz7x_naimenovanie_gruza,
  1119.  
  1120. ls_bofu_address_telephone_5_1,
  1121. ls_bofu_address_telephone_5_2,
  1122.  
  1123. lv_zz9x_gruz_massa_brutto,
  1124. lv_zz14x_priem_gruza_plomba,
  1125. lv_zz14x_priem_gruza_konteiner,
  1126.  
  1127. zzfn_shipper1,
  1128. zzfn_shipper2,
  1129. zzname_consignee1,
  1130. zzname_consignee2,
  1131.  
  1132. ls_tor_bo_bupa_consignee,
  1133. ls_bofu_addr_postal_addr_5,
  1134. ls_t005u_5,
  1135. ls_but0bk_5,
  1136. ls_bnka_5,
  1137. ls_bupa_common_5,
  1138. ls_bupa_tax_number_5,
  1139. ls_bofu_address_telephone,
  1140. ls_bofu_address_telephone_5_1,
  1141. ls_bofu_address_telephone_5_2,
  1142. ls_tor_item_tr,
  1143. ls_toritemtrunique_itemcatprd,
  1144. ls_tor_item_tr_link_keys,
  1145. ls_toritemtr_linkkeysunique,
  1146. ls_tor_bo_material_link_keys,
  1147. ls_tor_bo_material,
  1148. ls_tor_bo_material_unique,
  1149. ls_sapapo_matkey,
  1150. ls_sapapo_matkey_unique,
  1151. ls_zttm_group_mat_t,
  1152. ls_zz7x_naimenovanie_gruza,
  1153. ls_tor_seal,
  1154. ls_toritemtrunique_itemcattur,
  1155. ls_tor_bo_loc_log_18,
  1156. ls_tor_bo_loc_log_18_keys,
  1157. ls_loc_address_18,
  1158. ls_tor_boloclog18keys_unique,
  1159. ls_bofu_addr_post_addr_18,
  1160. ls_loc_address_18_unique,
  1161. ls_t005u,
  1162.  
  1163. ls_form-zz5x_consignee_individual,
  1164. ls_form-zz6x_consignee_entity,
  1165. ls_form-zz7x_shipping_name,
  1166. ls_form-zz8x_cargo_number_of_packages,
  1167. ls_form-zz9x_cargo_gross_weight,
  1168. ls_form-zz14x_cargo_accept_seal_contai,
  1169. ls_form-zz15x_cargo_accept_gross_weigh,
  1170. ls_form-zz16x_cargo_accept_packages_nu,
  1171. ls_form-zz18x_cargo_deliv_actual_addr,
  1172. ls_form-zz19x_cargo_deliv_seal_contain,
  1173. ls_form-zz20x_cargo_deliv_gross_weight,
  1174. ls_form-zz21x_cargo_deliv_packages_num.
  1175. ENDLOOP.
  1176.  
  1177. ENDMETHOD.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement