'IDOCS_OUTPUT_VIA_XML_HTTP' Wird nicht erzuegt?!

Integration von Systemen.

'IDOCS_OUTPUT_VIA_XML_HTTP' Wird nicht erzuegt?!

Postby Giuliana2034 » Thu Mar 03, 2011 6:15 pm

Hallo,

Ich versuche ein schon bestehendes IDOC erneut zu versenden und habe mir aus der TA: WE19 den Ablauf Kopiert. Es wird alles ohne Fehlermeldung durchlaufen aber das Idoc wird nicht verschickt. Also in der WE02 kann ich kein neues Idoc erkennen. Wenn ich das über den Button "Standard Ausgang" laufen lasse geht es. Alles ist identisch PORT usw.

hat Jemand eine Idee woran das liegen kann?

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. FORM send_idoc_via_http USING     idoc_number_in  TYPE edi_docnum
  2.                                   idrefnr         TYPE eideswtmdidrefnr
  3.                         CHANGING  send_successful TYPE kennzx.
  4.  
  5. * local variables
  6.   DATA: l_t_edidd        LIKE edidd OCCURS 0 WITH HEADER LINE,
  7.         l_offset         TYPE i,
  8.         l_segtyp         TYPE tidoc_segment_type,
  9.         l_control_record TYPE tidoc_control_record_db,
  10.         l_wa_edids       LIKE edids.
  11.  
  12.   DATA: help_rcvpor LIKE edp13-rcvpor,
  13.         i_edidc     LIKE  edidc OCCURS 0 WITH HEADER LINE,
  14.         ls_edidc    LIKE  LINE OF i_edidc,
  15.         i_edidd     LIKE  edidd OCCURS 0 WITH HEADER LINE.
  16.  
  17.  
  18.   DATA: nast_rec      LIKE  nast,
  19.         err_flag        LIKE  edi_help-error_flag.
  20.  
  21.   DATA: edipoa  LIKE  edipoa,
  22.         edipod  LIKE  edipod,
  23.         edipo2  LIKE  edipo2,
  24.         edipoi  LIKE  edipoi,
  25.         edipoxh LIKE  edipoxh,
  26.         edipox  LIKE  edipox,
  27.         edipof  LIKE  edipof,
  28.         port_typ    LIKE  ediport-porttyp,
  29.         version     LIKE  edipod-versio,
  30.         description LIKE  ediport-descri.
  31.  
  32.   IF idoc_number_in IS INITIAL.
  33.     EXIT.
  34.   ENDIF.
  35.  
  36.   "IDOC HEAD DATA lesen.
  37.   CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_READ'
  38.     EXPORTING
  39.       document_number         = idoc_number_in
  40.     IMPORTING
  41.       idoc_control            = l_control_record
  42.     EXCEPTIONS
  43.       document_foreign_lock   = 1
  44.       document_not_exist      = 2
  45.       document_number_invalid = 3
  46.       OTHERS                  = 4.
  47.  
  48.  
  49.   IF sy-subrc = 0.
  50.     CALL FUNCTION 'EDI_SEGMENTS_GET_ALL'
  51.       EXPORTING
  52.         document_number         = idoc_number_in
  53.       TABLES
  54.         idoc_containers         = i_edidd
  55.       EXCEPTIONS
  56.         document_number_invalid = 1
  57.         end_of_document         = 2
  58.         OTHERS                  = 3.
  59.  
  60.     IF sy-subrc <> 0.
  61. * could not read segments of idoc
  62. *      MESSAGE ID     sy-msgid
  63. *              TYPE   sy-msgty
  64. *              NUMBER sy-msgno
  65. *              WITH   sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  66.       EXIT.
  67.     ENDIF.
  68. * close idoc after usage
  69.     CALL FUNCTION 'EDI_DOCUMENT_CLOSE_READ'
  70.       EXPORTING
  71.         document_number   = idoc_number_in
  72.       IMPORTING
  73.         idoc_control      = l_control_record
  74.       EXCEPTIONS
  75.         document_not_open = 0
  76.         parameter_error   = 0
  77.         OTHERS            = 0.
  78.   ELSE.
  79.     EXIT.
  80.   ENDIF.
  81.  
  82.   IF l_control_record IS INITIAL.       "keine IDocs zu verschicken
  83.     EXIT.
  84.   ENDIF.
  85.  
  86.   MOVE-CORRESPONDING l_control_record TO ls_edidc.
  87.   APPEND ls_edidc TO i_edidc[].
  88.  
  89. * Freitextdfeld hinzufügen.
  90.  
  91.  
  92.   help_rcvpor = l_control_record-rcvpor.
  93.  
  94. * nachsehen, von welchem Porttyp der Empfängerport ist und routen zum
  95. * entsprechenden SendeFBStein
  96.  
  97.   CALL FUNCTION 'EDI_PORT_READ'
  98.        EXPORTING
  99.             portname       = help_rcvpor
  100.        IMPORTING
  101.             ale_port       = edipoa
  102.             file_port      = edipod
  103.             r2_port        = edipo2
  104.             pss_port       = edipof
  105.             inet_port      = edipoi
  106.             xmb_port       = edipoxh
  107.             xml_port       = edipox
  108.             typ            = port_typ
  109. *           version        =
  110.        EXCEPTIONS
  111.             port_not_exist = 1
  112.             OTHERS         = 2.
  113.  
  114. * IDOC VIA HTTP Versenden
  115.   CALL FUNCTION 'IDOCS_OUTPUT_VIA_XML_HTTP'
  116.     EXPORTING
  117.       nast_record      = nast_rec
  118.       error_flag       = err_flag
  119.       port_description = edipoxh
  120.     TABLES
  121.       i_edidc          = i_edidc
  122.       i_edidd          = i_edidd.
  123.  
  124.   COMMIT WORK.
  125.  
  126. ENDFORM.                    "send_idoc_via_HTTP
  127.  
GeSHi ©

[/code]
Giuliana2034
..
..
 
Posts: 57
Joined: Tue Mar 24, 2009 11:54 am

So gehts!

Postby Giuliana2034 » Fri Mar 04, 2011 11:46 am

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. Report zum nachversenden on idocs
  2. * local variables
  3.   DATA: l_t_edidd        LIKE edidd OCCURS 0 WITH HEADER LINE,
  4.         l_offset         TYPE i,
  5.         l_segtyp         TYPE tidoc_segment_type,
  6.         l_control_record TYPE tidoc_control_record_db,
  7.         l_wa_edids       LIKE edids.
  8.  
  9.   DATA: help_rcvpor LIKE edp13-rcvpor,
  10.         i_edidc     LIKE  edidc OCCURS 0 WITH HEADER LINE,
  11.         ls_edidc    LIKE  LINE OF i_edidc,
  12.         i_edidd     LIKE  edidd OCCURS 0 WITH HEADER LINE.
  13.  
  14.  
  15.   DATA: nast_rec      LIKE  nast,
  16.         err_flag        LIKE  edi_help-error_flag.
  17.  
  18.   DATA: edipoa  LIKE  edipoa,
  19.         edipod  LIKE  edipod,
  20.         edipo2  LIKE  edipo2,
  21.         edipoi  LIKE  edipoi,
  22.         edipoxh LIKE  edipoxh,
  23.         edipox  LIKE  edipox,
  24.         edipof  LIKE  edipof,
  25.         port_typ    LIKE  ediport-porttyp,
  26.         version     LIKE  edipod-versio,
  27.         description LIKE  ediport-descri.
  28.  
  29.   IF idoc_number_in IS INITIAL.
  30.     EXIT.
  31.   ENDIF.
  32.  
  33.   "IDOC HEAD DATA lesen.
  34.   CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_READ'
  35.     EXPORTING
  36.       document_number         = idoc_number_in
  37.     IMPORTING
  38.       idoc_control            = l_control_record
  39.     EXCEPTIONS
  40.       document_foreign_lock   = 1
  41.       document_not_exist      = 2
  42.       document_number_invalid = 3
  43.       OTHERS                  = 4.
  44.  
  45.  
  46.   IF sy-subrc = 0.
  47.     CALL FUNCTION 'EDI_SEGMENTS_GET_ALL'
  48.       EXPORTING
  49.         document_number         = idoc_number_in
  50.       TABLES
  51.         idoc_containers         = i_edidd
  52.       EXCEPTIONS
  53.         document_number_invalid = 1
  54.         end_of_document         = 2
  55.         OTHERS                  = 3.
  56.  
  57.     IF sy-subrc <> 0.
  58. * could not read segments of idoc
  59. *      MESSAGE ID     sy-msgid
  60. *              TYPE   sy-msgty
  61. *              NUMBER sy-msgno
  62. *              WITH   sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  63.       EXIT.
  64.     ENDIF.
  65. * close idoc after usage
  66.     CALL FUNCTION 'EDI_DOCUMENT_CLOSE_READ'
  67.       EXPORTING
  68.         document_number   = idoc_number_in
  69.       IMPORTING
  70.         idoc_control      = l_control_record
  71.       EXCEPTIONS
  72.         document_not_open = 0
  73.         parameter_error   = 0
  74.         OTHERS            = 0.
  75.   ELSE.
  76.     EXIT.
  77.   ENDIF.
  78.  
  79.  
  80.   IF l_control_record IS INITIAL.       "keine IDocs zu verschicken
  81.     EXIT.
  82.   ENDIF.
  83.  
  84.   MOVE-CORRESPONDING l_control_record TO i_edidc.
  85.   APPEND i_edidc.
  86.  
  87. ****************************************************************************
  88. * Neues IDoc erzeugen und auf der Datenbank schreiben.#
  89. ****************************************************************************
  90.   DATA: l_t_data_records_db   TYPE tidoc_data_record_db OCCURS 0 WITH HEADER LINE,
  91.         l_t_control_records_db TYPE tidoc_control_record_db OCCURS 0 WITH HEADER LINE,
  92.         state_of_processing_in  LIKE sy-subrc,
  93.         control_record_db_in    TYPE tidoc_control_record_db.
  94.  
  95.   FIELD-SYMBOLS: <fs_edidd> TYPE edidd.
  96.  
  97.   MOVE-CORRESPONDING l_control_record  TO control_record_db_in.
  98.  
  99.   CLEAR:
  100.   control_record_db_in-mandt,
  101.   control_record_db_in-docrel,
  102.   control_record_db_in-docnum.
  103.  
  104.   control_record_db_in-status = '14'.
  105.  
  106. * Löschen der Idoc Nummer.
  107.   LOOP AT i_edidd ASSIGNING <fs_edidd>.
  108.     CLEAR: <fs_edidd>-DOCNUM.
  109.  
  110. * outgoing direction
  111. * write idoc to db
  112.   CALL FUNCTION 'IDOC_OUTBOUND_WRITE_TO_DB'
  113.     IMPORTING
  114.       state_of_idoc  = state_of_processing_in
  115.     TABLES
  116.       int_edidd      = i_edidd
  117. *      int_edidd      = l_t_data_records_db
  118.     CHANGING
  119.       int_edidc      = control_record_db_in
  120.     EXCEPTIONS
  121.       idoc_not_saved = 1
  122.       OTHERS         = 2.
  123.  
  124.   IF sy-subrc > 0.
  125.  
  126.   ELSE.
  127.  
  128.   ENDIF.
  129.  
  130.   MOVE-CORRESPONDING control_record_db_in to  l_t_control_records_db.
  131.   APPEND l_t_control_records_db.
  132.  
  133.   CALL FUNCTION 'EDI_OUTPUT_NEW'
  134.    EXPORTING
  135.         onl_option  = 'B'
  136.         error_flag  = ' '
  137. *             NAST_RECORD = not relevant
  138.    TABLES
  139.         i_edidc     = l_t_control_records_db
  140.         i_edidd     = l_t_data_records_db         "dummy
  141.    EXCEPTIONS
  142.         OTHERS      = 0.
  143. ***************************************************************************
  144.  
GeSHi ©
[/code]
Giuliana2034
..
..
 
Posts: 57
Joined: Tue Mar 24, 2009 11:54 am


Return to Exchange Infrastructure

Who is online

Users browsing this forum: No registered users and 1 guest

cron