Hilfeeeee... bei Debitoren!!!!!

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

Hilfeeeee... bei Debitoren!!!!!

Beitrag von HH_ABAP (Specialist / 262 / 144 / 1 ) »
Hallo,

ich habe die Daten aus der Excelliste in einer interne Tabelle gelesen (Tabelle: lt_alldata, Struktur: ls_alldata2).
*Ich habe schon Debitorennummer(KUNNR).* Deshalb habe ich im Importing e_kunnr auskommentiert.
Ich muss die Daten in richtigen Tabellen in der Datenbank speichern.
Die Daten müssen in 3 Tabellen: kna1, knb1, fknbk.
Ich benutze die Function 'SD_CUSTOMER_MAINTAIN_ALL' und bekomme 2 Fehlermeldungen:
1. 'Error posting customer'
2. 'Customer not unique'
Hier der Code:

Code: Alles auswählen.

LOOP AT lt_alldata INTO ls_alldata2.
 ls_kna1-mandt    = sy-mandt.
    ls_kna1-kunnr    = ls_alldata2-debitor.
    ls_kna1-anred    = ls_alldata2-anrede.            "Anrede
    ls_kna1-land1    = ls_alldata2-land.              "Land
    ls_kna1-name1    = ls_alldata2-name1.             "Name1
    ls_kna1-ort01    = ls_alldata2-ort.               "Ort
    "ls_kna1-pstlz
    ls_kna1-stras   = ls_alldata2-strasse.            "Strasse
    ls_kna1-telf1   = ls_alldata2-telefon_1.          "Telefon_1
    ls_kna1-mcod1   = ls_alldata2-suchbegriff.        "Suchbegriff
    ls_kna1-ktokd   = ls_alldata2-kontengruppe.       "Kontengruppe
    ls_kna1-lzone   = ls_alldata2-transportzone.      "Transportzone
    ls_kna1-civve   = ls_alldata2-zivile_verwendung.  "Zivile_Verwendung

    ls_knb1-mandt   = ls_kna1-mandt.
    ls_knb1-kunnr   = ls_alldata2-debitor.            "Debitor
    ls_knb1-bukrs   = ls_alldata2-buchungskreis.      "Buchungskreis
    ls_knb1-akont   = ls_alldata2-abstimm_konto.      "Abstimm_konto
    ls_knb1-zterm   = ls_alldata2-zahlungs_bedingung. "Zahlungsbedingungsschlüssel

    ls_fknbk-mandt = ls_kna1-mandt.
    ls_fknbk-kunnr = ls_alldata2-debitor.             "Debitorennummer
    ls_fknbk-bankl = ls_alldata2-bankleitzahl.        "Bankschlüssel
    ls_fknbk-bankn = ls_alldata2-bankkonto.           "Bankkontonummer
    APPEND ls_fknbk TO lt_fknbk.


    CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'
      EXPORTING
        i_kna1                     = ls_kna1
        i_knb1                     = ls_knb1
*       i_knvv                     =
*       I_BAPIADDR1                =
*       I_BAPIADDR2                =
        i_maintain_address_by_kna1 = 'X'
*       I_KNB1_REFERENCE           = ' '
*       I_FORCE_EXTERNAL_NUMBER_RANGE = 'X'
*        i_no_bank_master_update    = 'X'
*       I_CUSTOMER_IS_CONSUMER     = ' '
*       I_RAISE_NO_BTE             = ' '
        pi_postflag                = 'X'
*        pi_cam_changed             = 'X'
*       PI_ADD_ON_DATA             =
*        i_from_customermaster      = 'X'
*      IMPORTING
*        e_kunnr                    = e_kunnr
*        o_kna1                     = o_kna1
*        e_sd_cust_1321_done        = lv_done
      TABLES
*       t_xknas                    =
        t_xknbk                    = lt_fknbk
*       t_xknb5                    =

      EXCEPTIONS
        client_error               = 1
        kna1_incomplete            = 2
        knb1_incomplete            = 3
        kunnr_not_unique           = 4
        knb1_reference_invalid     = 5
        OTHERS                     = 6.
    IF sy-subrc <> 0.
      CASE sy-subrc.
        WHEN '1'.
          lv_message = 'Cleint error'.
        WHEN '2'.
          lv_message = 'KNA1 incomplete'.
        WHEN '3'.
          lv_message = 'KNB1 incomplete'.
        WHEN '4'.
          lv_message = 'Customer not unique'.
        WHEN '5'.
          lv_message = 'KNB1 reference invalid'.
        WHEN OTHERS.
          lv_message = 'Error posting customer'.
      ENDCASE.
    ELSE.
      "COMMIT WORK and wait.
    ENDIF.

  ENDLOOP.
Was mache ich den Falsch?
Vielen Dank & Grüße

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


Re: Hilfeeeee... bei Debitoren!!!!!

Beitrag von ralf.wenzel (Top Expert / 3948 / 201 / 281 ) »
Ich hab gerade kein System zur Hand, deshalb kann ich dein Problem nicht lösen. Du bist sicher, dass ihr externe Nummernvergabe habt?

Aber mir fällt auf, dass deine beiden Strukturen komplett unterschiedliche Feldnamen haben. Wenn du aus einer Excel liest, bist du selbst Herr der Feldnamen der itab, die aus dem Excel entsteht. Das erspart dir eine Menge Coding, wenn du die Spalten so benennst wie die Pendants aus kna1 und Co.

Da gibt es so Regeln zwischen Anzahl der Codingzeilen und der Fehlerwahrscheinlichkeit im Coding.

Mal so als kleiner stilistischer Hinweis....


Ralf

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
HH_ABAP

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2955
Views
Betragsgrenze für CpD-Debitoren
von Katreo » 03.09.2009 10:25 • Verfasst in Financials
1
Antw.
2191
Views
Debitoren Avis
von Thomas82515 » 05.03.2008 15:18 • Verfasst in Financials
0
Antw.
1483
Views
Zahlungsmitteilung Debitoren
von Katreo » 28.01.2010 14:20 • Verfasst in Financials
1
Antw.
1653
Views
Anlage Debitoren/Kreditoren
von Skydizer » 29.01.2007 11:11 • Verfasst in Financials

Über diesen Beitrag


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

Aktuelle Forenbeiträge

FOR mit CORRESPONDING
vor 9 Stunden von msfox 3 / 110
line_exists evaluieren
vor 3 Tagen von Radinator gelöst 6 / 402

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

FOR mit CORRESPONDING
vor 9 Stunden von msfox 3 / 110
line_exists evaluieren
vor 3 Tagen von Radinator gelöst 6 / 402

Unbeantwortete Forenbeiträge

Erweiterung in ME51N/ME52N:
vor 2 Wochen von ABAPlerv 1 / 1916
Erweiterung in ME51N/ME52N:
vor 2 Wochen von ABAPlerv 1 / 1769