ZCL IDOC UTILITIES

Aus SAP Wiki ツ


Die in Freizeit erstellte Z-Klasse bietet verschiedene Methoden für Eingangs- und AusgangsIDoc Erstellung an.

CREATE_CONTROL_DATA

Dies ist eine statische Methode, sodass der Kontrollsatz vor Aufruf des Konstruktors definiert werden kann. Es ist auch möglich direkt bei Konstrukturaufruf den Kontrollsatz als Struktur mitzugeben oder anhand dieser Methode zu defineren.

Inline Objekterstellung und direkte Erstellung des Kontrollsatzes

DATA(go_idoc_out) = NEW zcl_idoc_utilities( is_control_data = zcl_idoc_utilities=>create_control_data(
                                                            iv_idoc_type       = 'MBGMCR'
                                                            iv_idoc_basistype  = 'MBGMCR03'
                                                            iv_rec_partnertype = 'LI'
                                                            iv_rec_partnerrole = 'ZW'
                                                            iv_rec_partnerno   = 'ZTEST'
                                                            iv_rec_port        = 'A222222222'
                                                            iv_sen_partnertype = 'LS'
                                                            iv_sen_partnerrole = 'TE'
                                                            iv_sen_partnerno   = 'ZTEST'
                                                            iv_sen_port        = 'A232323323')
                                               it_idoc_data = gt_idoc_data ).

CREATE_CD_FOR_INB_SIMULATION

Dies ist eine statische Methode und ist dafür gedacht ein EingangsIDoc zu simulieren. Um hier den Kontrollsatz festzulegen, gibt es als Importparameter den Nachrichtentyp und den Basistyp.

Restliche Parameter für den Kontrollsatz des IDocs werden automatisch zusammengesetzt. In der Regel ist die Partnernummer "sy-sysid CLNT sy-mand" bereits im System vorhanden. Unter Umständen ist dies noch bei den Partnervereinbarungen zu pflegen.

Automatische Zusammensetzung der restlichen Parameter vom Kontrollsatz:

rs_control_data-sndprt = 'LS'.
rs_control_data-direct = '2'.
CONCATENATE sy-sysid 'CLNT' sy-mandt INTO rs_control_data-sndprn.
CONCATENATE 'SAP_' sy-sysid '_00' INTO rs_control_data-sndpor.
rs_control_data-rcvprn = rs_control_data-sndprn.
rs_control_data-rcvprt = rs_control_data-sndprt.
CONCATENATE 'SAP' sy-sysid INTO rs_control_data-rcvpor.

rs_control_data-mestyp = iv_idoc_type.
rs_control_data-idoctp = iv_idoc_basistype.

CREATE_INBOUND

Diese Instanzmethode erstellt das EingangsIDoc, wenn optional im Konstruktur kein Simulierungskennzeichen mitgegeben wurde. Abhängig davon, ob ein Testkennzeichen via Konstruktur mitgegeben wurde, wird es als TestIDoc erstellt.

Diese Methode schmeißt keine Exception oder Messages, wenn das IDoc nicht erstellt werden konnte, sondern sammelt die erfolgreichen Meldungen sowie die Fehlermeldungen in eine private instanziierte interne Tabelle ab. Diese Meldungen können mit der Instanzmethode "GET_MESSAGES" gelesen werden.

Aufruf der Methode:

go_idoc->create_inbound( ).

CREATE_OUTBOUND

Diese Instanzmethode erstellt das AusgangsIDoc, wenn optional im Konstruktur kein Simulierungskennzeichen mitgegeben wurde. Abhängig davon, ob ein Testkennzeichen via Konstruktur mitgegeben wurde, wird es als TestIDoc erstellt.

Diese Methode schmeißt keine Exception oder Messages, wenn das IDoc nicht erstellt werden konnte, sondern sammelt die erfolgreichen Meldungen sowie die Fehlermeldungen in eine private instanziierte interne Tabelle ab. Diese Meldungen können mit der Instanzmethode "GET_MESSAGES" gelesen werden.

Aufruf der Methode:

go_idoc_out->create_outbound( ).