Advertisement
hxxxrz

Untitled

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