Error: ITAB_DUPLICATE_KEY

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

Error: ITAB_DUPLICATE_KEY

Beitrag von AnnaNRW (ForumUser / 29 / 5 / 1 ) »
Hallo zusammen,

erhalte bei folgendem Code immer ein Error (ITAB_DUPLICATE_KEY). Was mache ich nur falsch?

Code: Alles auswählen.

 if iv_process_code = 'READ'.

    call function 'CRM_BUPA_READ_ORDER_OBJECTS'
      exporting
        iv_bu_partner        = iv_bu_partner
*       IV_VALIDFROM         =
*       IV_VALIDTO           =
*       IT_REQUESTED_COLUMNS =
      importing
        et_search_result     = lt_search_result.


    loop at lt_search_result into ls_search_result
      where process_type =  '1001'.
      append ls_search_result to et_search_result.

      move ls_search_result-object_id to ls_appointment1-object_id.
      move ls_search_result-process_type to ls_appointment1-process_type.
      move ls_search_result-process_type_txt to ls_appointment1-process_type_txt.
      move ls_search_result-description to ls_appointment1-description.
      move ls_search_result-posting_date to ls_appointment1-posting_date.
      move ls_search_result-created_by to ls_appointment1-created_by.
      move ls_search_result-prospect_name to ls_appointment1-prospect_name.
      move ls_search_result-person_resp to ls_appointment1-person_resp.
      move ls_search_result-person_resp_name to ls_appointment1-person_resp_name.
      move ls_search_result-contact_person to ls_appointment1-contact_person.
      move ls_search_result-contact_person_list to ls_appointment1-contact_person_list.
      move ls_search_result-from to ls_appointment1-from.
      move ls_search_result-to to ls_appointment1-to.
      move ls_search_result-from_time to ls_appointment1-from_time.
      move ls_search_result-to_time to ls_appointment1-to_time.


      select partner from but000 into ls_appointment1-account_id
            where name_org1 eq ls_appointment1-prospect_name.
      endselect.

     
    
      select guid from  crmv_ipm_partner into lv_guid
          where process_type = '1001' and partner = iv_bu_partner.

        data: lv_guid_char type char32.
        lv_guid_char = lv_guid.
        ls_header_guid = cl_ibase_service=>cl_convert_guid_32_16( lv_guid_char ).
        " append ls_header_guid to lt_header_guid.
        insert ls_header_guid into table lt_header_guid.
        clear ls_header_guid.


        append lv_guid to et_guid.
        clear lv_guid.
      endselect.


      call function 'CRM_ORDER_READ'
        exporting
          it_header_guid       = lt_header_guid
          it_requested_objects = lt_request_objs
          iv_no_auth_check     = 'X'
        importing
          et_orderadm_h        = lt_orderadm_h
          et_activity_h        = lt_activity_h
          et_appointment       = lt_appointment
          et_text              = lt_text
          et_status            = lt_status
          et_partner           = lt_partner
        exceptions
          document_not_found   = 1
          error_occurred       = 2
          document_locked      = 3
          no_change_authority  = 4
          no_display_authority = 5
          no_change_allowed    = 6.


      loop at lt_orderadm_h into ls_orderadm_h.
        et_orderadm_h  = lt_orderadm_h.
      endloop.


      loop at lt_activity_h into ls_activity_h.
        et_activity_h  = lt_activity_h.
        move ls_activity_h-priority to ls_appointment1-priority.
        move ls_activity_h-act_location to ls_appointment1-act_location.
      endloop.


      select txt_long from  scpriot into ls_appointment1-priority_txt
        where priority eq ls_appointment1-priority and langu eq 'D'.
      endselect.


      loop at  lt_appointment  into ls_appointment.
        et_appointment = lt_appointment.
      endloop.


      loop at   lt_text into ls_text.
        et_text = lt_text.
        move ls_text-lines to ls_appointment1-lines.
      endloop.

      loop at  lt_status  into ls_status.
        et_status            = lt_status.
        exit.
      endloop.

      loop at  lt_partner  into ls_partner.
        et_partner            = lt_partner.
        exit.
      endloop.

      append ls_appointment1 to et_appointment1.

    endloop.

  endif.

endfunction.
Vielen Dank im Voraus.

Liebe Grüße Anna

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


Re: Error: ITAB_DUPLICATE_KEY

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Du machst es Dir ziemlich einfach.

Postest etwas Coding und einen Fehler. Beides ist dabei noch unvollstaendig.

Wenn Du einen Kurzdump bekommst, stehen dort jedemenge nuetzlicher Informationen drin und die solltest Du dann auch posten und zwar mit Copy & Paste.

Re: Error: ITAB_DUPLICATE_KEY

Beitrag von AnnaNRW (ForumUser / 29 / 5 / 1 ) »
Hi,

sorry :(
Anbei ein Screenshot, der dir hoffentlich die gewünschten Infos liefert.

Lieben Gruß

Anna

Re: Error: ITAB_DUPLICATE_KEY

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
In dem Kurzdump steht schon einiges drin, man muss es nur lesen.

Woher weisst Du, dass der Fehler genau in dem Code passiert, den du uns gepostet hast?

In dem Kurzdump steht auch die Stelle, wo der Kurzdump auftritt. Den Text des Kurzdumps hast Du aber nicht gepostet. Soweit ich mich erinner muesste das Punkt 9 im Kurzdump sein.

Ich vermute, mehr bleibt einem zur Zeit nicht uebrig, dass Du eine existierend GUID benutzt, um etwas neues mit der gleichen GUID anzulegen.

Re: Error: ITAB_DUPLICATE_KEY

Beitrag von AnnaNRW (ForumUser / 29 / 5 / 1 ) »
Hallo Unit605,

du klingst irgendwie genervt. Ich bin hier im Bereich "Abap für Anfänger", also kann es auch mal sein, dass dumme Fragen gestellt werden oder diese unpräzise gestellt werden. Jeder hat doch mal klein angefangen. Du behandelst mich so, als hätte ich ABAP bereits mit der Muttermilch zu mir genommen. Kopfschütteln..............

Mit deiner Antwort kann ich nichts anfangen. Sie bringt mich kein Stück weiter.
Dennoch wünsche ich einen schönen Abend.

Lieben Gruß aus Köln

Anna

Re: Error: ITAB_DUPLICATE_KEY

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Du brauchst nur den ersten Satz lesen. Lesen, ist hier das Zauberwort.

Ich wundere mich, dass Deine Firma Dich an solchen Programmen "rumfummeln" laesst, wenn Du doch so wenig (keine) Ahnung von ABAP Programmierung hast. :shock:

Meinst Du mit genervt, dass ich nicht hinter Berg halte und direkt auf den Punkt komme?

Ich habe Dir jedemenge einfache Hinweise gegeben. Aber wie Du selber schreibst: "Mit deiner Antwort kann ich nichts anfangen. Sie bringt mich kein Stück weiter."
Noch einfacher kann ich es leider nicht, als die Fragesteller daraufhinzuweisen, den Kurzdump zu lesen.

OK hiermit: "Ich vermute, mehr bleibt einem zur Zeit nicht uebrig, dass Du eine existierend GUID benutzt, um etwas neues mit der gleichen GUID anzulegen." habe ich quasi nur das wiederholt, was bereits im Kurzdump steht.
"Es existiert bereits eine Zeile mit dem gleichen Schluessel" in der internen Tabelle, die im Kurzdump unter Fehleranalyse angegeben ist.
Du kannst GUID auch einfach mit KEY ersetzen oder ID.

Re: Error: ITAB_DUPLICATE_KEY

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
Hast du mal im Dump auf den Button ABAP-EDITOR gedrückt?
Der Cursor steht dann in der Code-Zeile die zum DUMP geführt hat. Damit weiß man dann schon mal, ob der "eigene" Code oder SAP Code betroffen ist.

Da CRM weiß ich nicht, wie dort das Debugging funktioniert, aber wenn man die Stelle des DUMPs kennt, sollte man mittels BREAK-POINT schon irgendwie dran kommen. Dann kann man sich das zur Laufzeit auch anschauen.

AnnaNRW hat geschrieben:Mit deiner Antwort kann ich nichts anfangen. Sie bringt mich kein Stück weiter.
Antworten hängen immer auch von der Fragestellung ab. Deine Frage war: Wieso dumped der Code?
Kein Hinweis was du genau machst, kein Hinweis in welchem Bereich du dich bewegst, kein Hinweis was du bis jetzt heraus gefunden hast und dann noch nicht mal eine detaillierte Fehlerbeschreibung (=DUMP). Das gepostet Coding ist dahingehend unvollständig, das die DATA-Definition nicht gepostet wurde. Wäre bei diesem Fehler aber ungemein wichtig, da der dupplicated Key Dump auf eine sorted/hashed Tabelle hinweist. Kann man aber nicht überprüfen.

Das hat dann auch wenig mit ABAP-Programmiererfahrung zu tun, sondern ist eher ein Ding der Netiquette. Um so genauer die Fragestellung ist, um so einfacher/besser kann man Antworten. Und bisher waren alle deine Frage "gleicher" Art gestellt.
Gruß Hendrik

Re: Error: ITAB_DUPLICATE_KEY

Beitrag von Martin8703 (ForumUser / 12 / 0 / 0 ) »
Grundsätzlich haben die beiden schon recht. Mit den gelieferten Informationen zu deinem Problem kann dir niemand eine konkrete Antwort geben. Eine genervte Antwort würde ich aber auch nicht geben, sondern normalerweise eher die Frage ignorieren.

Du müsstest dein Coding schon Debuggen und dann schauen, wann er versucht in welche Tabelle eine bereits existierende Zeile hinzuzufügen. Das Problem ist im Dump ja klar definiert. Es kann auch am Schlüssel deiner internen Tabelle hängen, die wir mangels Information aber nicht näher kennen. Du kannst auch über die ST22 an die Codestelle springen.

Zusammenfassend: Ohne dir etwas böses zu wollen, muss auch ich feststellen, dass du an der Qualität deinen Fragen arbeiten solltest. Alleine schon, weil dir sonst niemand eine Antwort geben kann :wink:
Das ist sicher auch ein Lernprozess, den ich dir im Anfängerforum auch gerne zugestehe.

Seite 1 von 1

Vergleichbare Themen

12
Antw.
7063
Views
Duplicate Keys in ITAB
von ralf.wenzel » 11.12.2014 15:16 • Verfasst in ABAP® Core
30
Antw.
14168
Views
move itab 1 nach itab 2 mit bedingung
von c oco » 17.04.2012 14:39 • Verfasst in ABAP® für Anfänger
19
Antw.
6394
Views
DBIF_RSQL_INVALID_RSQL Error
von ABAP_User » 25.09.2012 12:58 • Verfasst in ABAP® Core
2
Antw.
3333
Views
ERROR bei der Installation von Web AS 6.40
von bohne » 25.09.2006 15:08 • Verfasst in Web Application Server
2
Antw.
5179
Views
RFC communications error
von ratoshuan » 21.03.2006 23:31 • Verfasst in Exchange Infrastructure

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 12 Stunden von tar 8 / 299
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1588
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 237
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 474

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

Regex in where
vor 12 Stunden von tar 8 / 299
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1588
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 237
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 474

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 175
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3353
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9905