Skip to content

Instantly share code, notes, and snippets.

@dantesco
Created March 10, 2014 21:24
Show Gist options
  • Save dantesco/9474670 to your computer and use it in GitHub Desktop.
Save dantesco/9474670 to your computer and use it in GitHub Desktop.
Forma la dirección tal como se muestra en la transacción va03
" Obten dirección de destinatario de pedido
DATA: i_xvbadr TYPE TABLE OF sadrvb,
w_xvbadr TYPE sadrvb,
i_xvbpa TYPE TABLE OF vbpavb,
w_xvbpa TYPE vbpavb.
CALL FUNCTION 'SD_PARTNER_READ'
EXPORTING
f_vbeln = '0002862116' " pedido
* object = 'VBPA'
* no_master_adress = SPACE
* iv_no_init = SPACE
* iv_parvw =
* iv_posnr =
TABLES
i_xvbadr = i_xvbadr
i_xvbpa = i_xvbpa
* i_yvbadr =
* i_yvbpa =
* i_xvbpa2 =
* i_yvbpa2 =
.
DATA agwa LIKE kuagv.
DATA e_txtpa TYPE ad_line_s.
" Lee dirección WE, que corresponde al destinatario de mercancía
READ TABLE i_xvbpa INTO w_xvbpa WITH KEY parvw = 'WE'.
IF sy-subrc EQ 0.
" Lee la tabla de direcciones, con la direccion de WE
READ TABLE i_xvbadr INTO w_xvbadr WITH KEY adrnr = w_xvbpa-adrnr.
IF sy-subrc EQ 0.
" Copia los campos equivalentes, para formar la dirección
MOVE-CORRESPONDING w_xvbadr TO agwa.
CALL FUNCTION 'SD_ADDRESS_BUILD'
EXPORTING
* I_KUPAV =
i_kuagv = agwa
IMPORTING
e_txtpa = e_txtpa "<- dirección formada como se muestra en el pedido
TABLES
xvbadr = i_xvbadr.
ENDIF.
ENDIF.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment