IDOC - Strukturen befüllen

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

IDOC - Strukturen befüllen

Beitrag von sp89 (ForumUser / 37 / 0 / 0 ) »
Hallo zusammen,

ich möchte gern ein IDOC versenden, allerdings muss ich hierzu erst einmal die Strukturen mit Daten füllen.

Mein IDOC sieht wie folgt aus:
Z_EPOS - ist mein Basistyp

dieser enthält:
ZEPOS_HEAD - Kopfsegment // hiervon kann es min. 1 max. 5000 geben (Segmentdefinition ZEPOS_HEAD000)

Felder:
- Z_MATNR
- Z_MAKTX
- Z_WERK

ZEPOS_ITEM - Positionssegment // hiervon kann es min. 1 max. 30 geben (Segmentdefinition ZEPOS_ITEM000)

Felder:
- Z_ROHSTOFF
- Z_PROZENT

wie befülle ich nun die Strukturen bzw. den IDOC, so das ich ihn dann verarbeiten kann?

Gruß,
Sp89

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: IDOC - Strukturen befüllen

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
Hi,

schau Dir mal den FB MASTER_IDOC_DISTRIBUTE und die Doku dazu an.

MfG

Rata
Normale Menschen wundern sich, warum in der Welt so viel schief läuft.
Programmierer wundern sich, warum alles so gut funktioniert.

Re: IDOC - Strukturen befüllen

Beitrag von sp89 (ForumUser / 37 / 0 / 0 ) »
aaalso ich hab mir den FB mal angeschaut & auch über Verwendungsanachweis andre Reports überflogen, ABER ich hab noch nie vorher was mit IDOC´s gemacht und bin leicht aufgeschmissen :D

ich werd´s jetzt mal weiter probieren & dann evtl noch´n Coding posten, falls aber jemand Zeit / Lust hast hier vll n kurzes Beispiel/Lösung zu obengenannten Problem zu posten wäre ich natürlich auch dankbar :)

gruß,
sp89

Re: IDOC - Strukturen befüllen

Beitrag von sp89 (ForumUser / 37 / 0 / 0 ) »
sooo ich mal wieder ...

Code: Alles auswählen.

  CONSTANTS: c_idctyp_epos   LIKE edbas-idoctyp VALUE 'Z_EPOS',
             c_msgtyp_epos   LIKE edmsg-msgtyp  VALUE 'ZEPOS',
             c_segnam_header LIKE edidd-segnam  VALUE 'ZEPOS_HEAD',
             c_segnam_link   LIKE edidd-segnam  VALUE 'ZEPOS_ITEM'.

  DATA: fl_zepos_head TYPE zepos_head,
        fl_zepos_item TYPE zepos_item.

  TYPES: table_segment TYPE TABLE OF edidd.

  DATA: i_segment TYPE table_segment.

  DATA: f_control_record TYPE edidc,
        f_segment        TYPE edidd.

  DATA: il_edidc TYPE TABLE OF edidc.

*   Create control record
  CLEAR f_control_record.
  f_control_record-idoctp = c_idctyp_epos.
  f_control_record-mestyp = c_msgtyp_epos.
*    IF NOT recvr IS INITIAL.
*      f_control_record-rcvprt = c_rcvprt_ls.
*      f_control_record-rcvprn = recvr.
*    ENDIF.

  LOOP AT gt_output INTO gs_out.
    CASE gs_out-comid.
      WHEN 'Head'.
*   Create header segment
        fl_zepos_head-z_matnr = gs_out-compn.
        fl_zepos_head-z_maktx = gs_out-compp.
        fl_zepos_head-z_werk  = gs_werks-werks.
        f_segment-sdata        = fl_zepos_head.
        APPEND f_segment TO i_segment.
      WHEN 'Position'.
*     Create item segment
        fl_zepos_item-z_rohstoff = gs_out-compn..
        fl_zepos_item-z_prozent  = gs_out-compp..
        f_segment-sdata        = fl_zepos_item.
        APPEND f_segment TO i_segment.
      WHEN OTHERS.
    ENDCASE.
  ENDLOOP.

  CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
    EXPORTING
      master_idoc_control            = f_control_record
    TABLES
      communication_idoc_control     = il_edidc
      master_idoc_data               = i_segment
    EXCEPTIONS
      error_in_idoc_control          = 1
      error_writing_idoc_status      = 2
      error_in_idoc_data             = 3
      sending_logical_system_unknown = 4
      OTHERS                         = 5.
  IF sy-subrc <> 0.
    EXIT.
  ENDIF.

** Dequeue idoc
*  LOOP AT il_edidc INTO f_control_record.
*    APPEND f_control_record TO i_edidc.
*    CALL FUNCTION 'EDI_DOCUMENT_DEQUEUE_LATER'
*      EXPORTING
*        docnum                 = f_control_record-docnum
*      EXCEPTIONS
*        idoc_is_not_to_dequeue = 0.
*  ENDLOOP.
*
*  IF no_commit IS INITIAL.
*    ADD 1 TO commit_count.
*    IF commit_count >= c_commit_size.
*      COMMIT WORK.
*      CLEAR commit_count.
*    ENDIF.
*  ENDIF.
so sieht mein Coding jetzt aus, funktioniert das so, oder fehlt noch was? ich bin total planlos ... danke schonmal

Re: IDOC - Strukturen befüllen

Beitrag von sp89 (ForumUser / 37 / 0 / 0 ) »
wo pflege ich den die Logische Nachrichtenart, Partnerrolle / Port ... usw für meine IDOC Verarbeitung?

Code: Alles auswählen.

      f_control_record-rcvprt = c_rcvprt_ls.
      f_control_record-rcvprn = recvr.
....

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2867
Views
ein Feld mit IDOC befüllen
von HH_ABAP » 10.08.2018 16:50 • Verfasst in ABAP® für Anfänger
4
Antw.
1734
Views
User Exits fü IDoc Segment befüllen
von Armin93 » 01.10.2020 15:16 • Verfasst in ABAP® für Anfänger
0
Antw.
2402
Views
IDoc - Erzeugte IDoc-Datei entspricht nicht der Byteanzahl
von genua » 09.01.2008 13:19 • Verfasst in ABAP® Core
2
Antw.
5407
Views
Strukturen vergleichen
von snooze » 17.01.2005 09:25 • Verfasst in ABAP® Core
3
Antw.
2294
Views
Anzeige von Strukturen
von -hawkeye- » 29.08.2007 08:18 • Verfasst in Financials

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Bedarfszusammenfassung "Einzelbedarfe"
vor 3 Stunden von harri 2 / 1187
Trennen Strasse und Hausnummer
vor 5 Stunden von ralf.wenzel 21 / 11296
Dialog-Container mit Toolbar/Status
Gestern von black_adept gelöst 27 / 4386

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Bedarfszusammenfassung "Einzelbedarfe"
vor 3 Stunden von harri 2 / 1187
Trennen Strasse und Hausnummer
vor 5 Stunden von ralf.wenzel 21 / 11296
Dialog-Container mit Toolbar/Status
Gestern von black_adept gelöst 27 / 4386

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
Gestern von ArjenR 1 / 260
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3187
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9778