fehlermeldung beim Material kopieren mit MATERIAL_MAINTAIN_DARK

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

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

fehlermeldung beim Material kopieren mit MATERIAL_MAINTAIN_DARK

Beitrag von Xilukarim (ForumUser / 58 / 11 / 5 ) »
Hallo,

ich versuche Material als Kopie eines Template-Materials anzulegen mit dem FuBa MATERIAL_MAINTAIN_DARK. Ich habe was ähnliches bereits in einem anderen Programm gemacht, wo es auch funktioniert und wo ich es rauskopiert habe. Nur bekomme ich jetzt die Meldung "Materialkurztext nicht angelegt" obwohl ich die Einträge für die MAKT mit übergebe. Ich lege immer nur ein Material pro Aufruf an. Hier der Code:

Code: Alles auswählen.

method CREATE_CONTAINER_MATERIAL.

    "Import: assembly_material_number type matnr "Zu dieser Nummer wird ein 'Container-Material' angelegt

    data(template_matnr) = GET_CONTAINER_TEMPLATE_MATNR( ).

    select single * from mara
           into @data(template_mara)
           where matnr = @template_matnr.

    check sy-subrc = 0.

    select single * from marc
           into @data(template_marc)
           where matnr = @template_matnr
             and WERKS = 'xxx'.

    select * from mard
           into table @data(template_mard)
           where matnr = @template_matnr
             and WERKS = 'xxx'             .

    select * from mlgn
           into table @data(template_mlgn)
           where matnr = @template_matnr
             and LGNUM = 'yyy'.

    select single * from makt
             into @data(source_makt)
             where matnr = @ASSEMBLY_MATNR
               and SPRAS = @sy-langu.

   data mara_ueb_tab type TABLE OF MARA_UEB.
   data makt_ueb_tab type TABLE OF MAKT_UEB.
   data marc_ueb_tab type TABLE OF MARC_UEB.
   data mard_ueb_tab type TABLE OF MARD_UEB.
   data mlgn_ueb_tab type TABLE OF MLGN_UEB.
   data errors   type TABLE OF MERRDAT.

   data mara_ueb type mara_ueb.
   data makt_ueb type MAKT_UEB.
   data marc_ueb type MARC_UEB.
   data mard_ueb type MARD_UEB.
   data mlgn_ueb type MLGN_UEB.

    data container_materialnumber type matnr.
   container_materialnumber = ASSEMBLY_MATNR && C_MATERIAL_SUFFIX_CONTAINER.

   move-CORRESPONDING template_mara to mara_ueb.
   mara_ueb-matnr = container_materialnumber.
   mara_ueb-tcode = 'MM01'.
   mara_ueb-tranc = 1.
   append mara_ueb to mara_ueb_tab.

   move-CORRESPONDING template_marc to marc_ueb.
   marc_ueb-matnr = mara_ueb-matnr.
   marc_ueb-tranc = 1.
   append marc_ueb to marc_ueb_tab.

   LOOP AT template_mard ASSIGNING FIELD-SYMBOL(<tpl_mard>).
     move-CORRESPONDING <tpl_mard> to mard_ueb.
     mard_ueb-matnr = mara_ueb-matnr.
     mard_ueb-tranc = 1.
     append mard_ueb to mard_ueb_tab.
   ENDLOOP.

   LOOP AT template_mlgn ASSIGNING FIELD-SYMBOL(<tpl_mlgn>).
     move-CORRESPONDING <tpl_mlgn> to mlgn_ueb.
     mlgn_ueb-matnr = mara_ueb-matnr.
     mlgn_ueb-tranc = 1.
     append mlgn_ueb to mlgn_ueb_tab.
   ENDLOOP.

   data(new_material_description) = conv maktx( |Teile für { source_makt-matnr } { source_makt-maktx }| ).
   append value #( matnr = MARA_UEB-matnr
                   SPRAS = source_makt-SPRAS
                   maktx = new_material_description
                   maktg = to_upper( new_material_description )
                   tranc = 1
                 )
          to makt_ueb_tab.

    call function 'MATERIAL_MAINTAIN_DARK'
      exporting
         FLAG_MUSS_PRUEFEN         = 'X'    " Alle Mußfelder prüfen (= X)
*        SPERRMODUS                = 'E'    " Sperrmodus (shared,exclusiv,keine Sperre)
*        MAX_ERRORS                = 0    " Max. Anzahl fehlerhafte Transaktionen
        P_KZ_NO_WARN              = 'N'    " Steuerung der Reaktion der Prüfbausteine
        KZ_PRF                    = ''    " Meldg. bei nicht eingabebereiten Feldern
*        KZ_VERW                   = 'X'    " Verwaltungsdaten schreiben ja / nein
*        KZ_AEND                   = 'X'    " Änderungsbelege erstellen ja / nein
         KZ_DISPO                  = 'X'    " Dispo - Sätze schreiben ja / nein
         KZ_TEST                   = SPACE    " Testmodus - keine DB - Fortschreibung
*        NO_DATABASE_UPDATE        = SPACE    " DB - Fortschreibung mit extra Funktionsbaustein
*        CALL_MODE                 = ' '    " Identifikation des Aufrufers
*        CALL_MODE2                = SPACE    " 2. Identifikation des Aufrufers
*        USER                      = SY-UNAME    " Benutzer für Änderungsbeleg (nicht Berechtigung)
*        SUPPRESS_ARRAY_READ       = ' '
*        FLG_MASS                  = SPACE    " Dynpros, zeigt Benutzereingabe an
*        IV_CHANGE_DOC_TCODE       = SPACE    " Characterfeld der Länge 10
*      importing
*        MATNR_LAST                =     " Letzte erfolgreich bearbeitete Materialnummer
*        NUMBER_ERRORS_TRANSACTION =     " Anzahl fehlerhafte Transaktionen
      tables
        AMARA_UEB                 = MARA_UEB_tab    " Tabelle der MARAs erweitert um Tcode,Transzähler
        AMAKT_UEB                 = makt_ueb_tab    " Tabelle der Kurztexte
        AMARC_UEB                 = marc_ueb_tab    " Tabelle der MARC´s
        AMARD_UEB                 = mard_ueb_tab
*        AMFHM_UEB                 =
*        AMARM_UEB                 =
*        AMEA1_UEB                 =
*        AMBEW_UEB                 =
*        ASTEU_UEB                 =
*        ASTMM_UEB                 =
        AMLGN_UEB                 = mlgn_ueb_tab
*        AMLGT_UEB                 =
*        AMPGD_UEB                 =
*        AMPOP_UEB                 =
*        AMVEG_UEB                 =     " Gesamtverbrauch
*        AMVEU_UEB                 =     " ungeplanter Verbräuche
*        AMVKE_UEB                 =
*        ALTX1_UEB                 =
*        AMPRW_UEB                 =
*        AE1CUCFG_UEB              =     " ALE Konfigurationsdaten: Nicht verwenden
*        AE1CUINS_UEB              =     " ALE Konfigurationsdaten: Nicht verwenden
*        AE1CUVAL_UEB              =     " ALE Konfigurationsdaten: Nicht verwenden
*        AE1CUCOM_UEB              =     " ALE Konfigurationsdaten: Nicht verwenden
*        AMFIELDRES                =     " Liste der zurückzusetzenden Felder
         AMERRDAT                  = errors    " Fehlerliste
      exceptions
        KSTATUS_EMPTY             = 1
        TKSTATUS_EMPTY            = 2
        T130M_ERROR               = 3
        INTERNAL_ERROR            = 4
        TOO_MANY_ERRORS           = 5
        UPDATE_ERROR              = 6
        ERROR_PROPAGATE_HEADER    = 7
        OTHERS                    = 8
      .
    dequeue_material( container_materialnumber ).

    delete errors where msgid = 'M3'
                    and msgno = 364. "Meldung "Material wird erweitert" ausblenden

    if line_exists( errors[ MSGTY = 'E' ] )
       or line_exists( errors[ MSGTY = 'A' ] ).
       ROLLBACK WORK.
       return.
    endif.

  endmethod.
Fehlermeldung in ERRORS:
msgid: MG
msgty: E
msgno: 148

Inhalt MAKT_UEB_TAB:
mandt: <leer>
matnr: <Vorlagematerialnummer>_<suffix> (wie gewünscht)
spras: D
maktx: "Teile für xyz_abcdef"
maktg: "TEILE FÜR XYZ_ABCDEF"
tranc: 0000000001
d_ind: 0000000000
ECC 6.07
Netweaver 7.40

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


Re: fehlermeldung beim Material kopieren mit MATERIAL_MAINTAIN_DARK

Beitrag von Xilukarim (ForumUser / 58 / 11 / 5 ) »
Lösung gefunden:
Ich habe die Vorlage nochmal gedebuggt und gesehen, dass in der Tabelle MAKT_UEB_TAB der Mandant gefüllt war und im jetzigen Programm nicht, das war tatsächlich das Problem. Jetzt funktioniert alles.

Folgende Benutzer bedankten sich beim Autor Xilukarim für den Beitrag:
rob_abc

ECC 6.07
Netweaver 7.40

Seite 1 von 1

Vergleichbare Themen

4
Antw.
5209
Views
Material Maintain Dark
von queen » 09.06.2008 16:10 • Verfasst in ABAP® für Anfänger
1
Antw.
2230
Views
fetch material group,material account 3010 and Plant(WERKS)
von dragospirnut1 » 05.07.2017 12:27 • Verfasst in ABAP Objects®
3
Antw.
1952
Views
5
Antw.
3460
Views
Material ändern
von SAPAlex » 25.04.2008 09:35 • Verfasst in Material Management & Produktionsplanung

Über diesen Beitrag

Xilukarim

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

Aktuelle Forenbeiträge

Eclipse - warum/wann verwendet ihr es [nicht]
vor einer Stunde von tar 11 / 842
Zeilenumbrüche ersetzen
vor 19 Stunden von ralf.wenzel 6 / 168
Dialog-Container mit Toolbar/Status
Gestern von tar gelöst 19 / 2329
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1544

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

Eclipse - warum/wann verwendet ihr es [nicht]
vor einer Stunde von tar 11 / 842
Zeilenumbrüche ersetzen
vor 19 Stunden von ralf.wenzel 6 / 168
Dialog-Container mit Toolbar/Status
Gestern von tar gelöst 19 / 2329
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1544

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 608
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2237
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8829