Updates der Daten, Fehlermeldung

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Updates der Daten, Fehlermeldung

Beitrag von Egzon (ForumUser / 3 / 2 / 0 ) »
Hallo zusammen

Bin seit paar wochen SAP-Entwickler und habe wenig Erfahrung mit sap bis jetzt.

Ich habe ein Programm geschrieben welches die Stammdaten updaten soll. Dafür benutze ich die Funktion 'BAPI_MATERIAL_SAVEDATA'. Ich kann die Stammdaten aus der DT 'mlgt' ändern und speichern. Die Funktionalität ist soweit kein problem. Was mich jedoch stört ist die Fehlermeldung die ich erhalte. Obwohl ich es nur updaten möchte, kommt die Fehlermeldung das dass Material nicht angelegt werden konnte.

Hier ist mein Code:

Code: Alles auswählen.

  METHOD set_data2.


    DATA: lt_return  TYPE TABLE OF bapi_matreturn2,
          ls_return  TYPE bapiret2,

          ls_mlgt    TYPE bapi_mlgt,
          ls_mlgtx   TYPE bapi_mlgtx,

          mt_message TYPE TABLE OF bapiret2.

    go_grid->check_changed_data( ).

    LOOP AT gt_stock ASSIGNING FIELD-SYMBOL(<ls_stock>).

      DATA(ls_header) = VALUE bapimathead( material_long = <ls_stock>-matnr
                                             ).

      ls_mlgtx = VALUE #( whse_no    = <ls_stock>-lgnum
                          stge_type  = <ls_stock>-lgtyp
                          max_sb_qty = abap_true
                          min_sb_qty = abap_true
                          replen_qty = abap_true ).

      ls_mlgt = VALUE #( whse_no    = <ls_stock>-lgnum
                         stge_type  = <ls_stock>-lgtyp
                         max_sb_qty = <ls_stock>-lpmax
                         min_sb_qty = <ls_stock>-lpmin
                         replen_qty = <ls_stock>-nsmng ).

      CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
        EXPORTING
          headdata         = ls_header
          storagetypedata  = ls_mlgt
          storagetypedatax = ls_mlgtx
          flag_online      = abap_false
        IMPORTING
          return           = ls_return
        TABLES
          returnmessages   = lt_return.
    ENDLOOP.
      CASE ls_return-type.
        WHEN 'E' OR 'A' OR 'X'.
          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

        WHEN OTHERS.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
            EXPORTING
              wait = abap_true.

      ENDCASE.


      LOOP AT lt_return ASSIGNING FIELD-SYMBOL(<ls_mrdat>).
        APPEND INITIAL LINE TO mt_message ASSIGNING FIELD-SYMBOL(<ls_message>).

        IF <ls_mrdat>-type NA 'WSIE'.
          <ls_message>-type = 'S'.
        ELSE.
          <ls_message>-type       = <ls_mrdat>-type.
        ENDIF.
        <ls_message>-id         = <ls_mrdat>-id.
        <ls_message>-number     = <ls_mrdat>-number.
        <ls_message>-message_v1 = <ls_mrdat>-message_v1.
        <ls_message>-message_v2 = <ls_mrdat>-message_v2.
        <ls_message>-message_v3 = <ls_mrdat>-message_v3.
        <ls_message>-message_v4 = <ls_mrdat>-message_v4.
        MESSAGE ID     <ls_message>-id
                TYPE   <ls_message>-type
                NUMBER <ls_message>-number
                WITH   <ls_message>-message_v1
                       <ls_message>-message_v2
                       <ls_message>-message_v3
                       <ls_message>-message_v4
                INTO   <ls_message>-message.
      ENDLOOP.

    CALL FUNCTION 'SUSR_DISPLAY_LOG'
      TABLES
        it_log_bapiret2 = mt_message                " Returnparameter
      EXCEPTIONS
        parameter_error = 1
        OTHERS          = 2.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.



  ENDMETHOD.


Fehlermeldung:
Versuche anzulegen: 55______________________001 001
Material kann nicht gepflegt werden, da keine pflegbaren Daten übergeben
Material kann nicht gepflegt werden, da keine pflegbaren Daten übergeben
Versuche zu ändern: 55______________________001 001
Das Material 55 wird geändert
Versuche anzulegen: 8105000032______________200 TST
Material kann nicht gepflegt werden, da keine pflegbaren Daten übergeben
Material kann nicht gepflegt werden, da keine pflegbaren Daten übergeben
Versuche zu ändern: 8105000032______________200 TST
Es wurden keine Änderungen durchgeführt
Hier sollte eigentlich nur der Änderungsprozess stehen.

Ich bedanke mich schon jetzt.

Gruss
Egzon

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


Seite 1 von 1

Vergleichbare Themen

0
Antw.
2420
Views
4
Antw.
2766
Views
ALV-liste-Daten mit der DB-Tabelle-Daten vergleichen
von Nadine_2706 » 31.08.2011 11:57 • Verfasst in ABAP® für Anfänger
9
Antw.
4782
Views
Daten aus 2 Tabellen + Vergleich von Daten
von dv88 » 06.10.2009 12:26 • Verfasst in ABAP® für Anfänger
7
Antw.
2487
Views
Fehlermeldung
von 1337 » 06.12.2013 09:01 • Verfasst in ABAP® für Anfänger
1
Antw.
2797
Views
Fehlermeldung
von Anfänger » 15.11.2010 15:44 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

Egzon

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

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.