Solo quiero compartirles algo de mis primeras hechuras en ABAP.
Para este caso utilice la bapi BAPI_GOODSMVT_CREATE que corresponde a la transacción MIGO que se tenía que utilizar en modo background ya que todo el proceso es llamado mediante UN RFC.
Sin más les comparto el código.
DATA: l_goodsmvt_header LIKE bapi2017_gm_head_01,
l_goodsmvt_code LIKE bapi2017_gm_code,
l_goodsmvt_headret LIKE bapi2017_gm_head_ret,
l_mblnr LIKE mkpf-mblnr,
l_mjahr LIKE mkpf-mjahr.
DATA: i_goodsmvt_item LIKE bapi2017_gm_item_create OCCURS 10
WITH HEADER LINE,
i_return LIKE bapiret2 OCCURS 1 WITH HEADER LINE.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = l_goodsmvt_header "en esta work area va el encabezado
goodsmvt_code = l_goodsmvt_code " código de movimiento
testrun = ' '
IMPORTING
goodsmvt_headret = l_goodsmvt_headret
materialdocument = l_mblnr " número de documento creado
matdocumentyear = l_mjahr " ejercicio en que se creó el documento
TABLES
goodsmvt_item = i_goodsmvt_item " Tabla donde se mandan las posiciones
return = i_return. " Tabla que retorna los mensajes si existe algún error
Espero les guste este aporte y saludos a todos.