📘ABAP - Rseout00
Definición de Rseout00
Es el programa estándar de SAP que se utiliza para enviar un IDoc de salida a un destinatario.
La estructura principal del programa RSEOUT00 es la siguiente:
REPORT RSEOUT00 MESSAGE-ID E0.
* status-values
INCLUDE RSECSTAT.
* Include for data definitions, tables, parameters
INCLUDE RSEOUTDT.
* Include for formroutines
INCLUDE RSEOUTF0.
**********************************************************************
* M a i n R o u t i n e *
**********************************************************************
at selection-screen on value-request for p_queue.
data: begin of value_tab occurs 0,
qname like ediqo-qname,
rcvpor like ediqo-rcvpor,
end of value_tab.
data: old_qname like ediqo-qname,
old_rcvpor like ediqo-rcvpor.
if p_rcvpor is initial.
select * from ediqo into table i_ediqo
where processed eq ' '.
else.
select * from ediqo into table i_ediqo
where rcvpor eq p_rcvpor
and processed eq ' '.
endif.
sort i_ediqo by qname rcvpor.
clear old_qname.
clear old_rcvpor.
refresh value_tab.
loop at i_ediqo.
if ( old_qname ne i_ediqo-qname ) OR
( old_rcvpor ne i_ediqo-rcvpor ).
value_tab-qname = i_ediqo-qname.
value_tab-rcvpor = i_ediqo-rcvpor.
append value_tab.
endif.
old_qname = i_ediqo-qname.
old_rcvpor = i_ediqo-rcvpor.
endloop.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'QNAME'
DYNPPROG = 'RSEOUT00 '
DYNPNR = '1000'
DYNPROFIELD = 'P_QNAME'
VALUE_ORG = 'S'
CALLBACK_PROGRAM = 'RSEOUT00'
CALLBACK_FORM = 'F4CALLBACK'
TABLES
VALUE_TAB = value_tab
EXCEPTIONS
OTHERS = 3.
IF SY-SUBRC <> 0.
ENDIF.
START-OF-SELECTION.
* Selection of all important EDIDC-set
* and collect in internal table
PERFORM SELECT_ALL_EDIDC.
END-OF-SELECTION.
*-------------------------------------------------------------------*
form f4callback
tables record_tab structure seahlpres
changing shlp type shlp_descr
callcontrol like ddshf4ctrl.
data: interface like line of shlp-interface.
interface-shlpfield = 'F0002'.
interface-valfield = 'P_RCVPOR'.
append interface to shlp-interface.
endform.