Text in Klassifizierungsobjekte sprachenabhängig übernehmen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Text in Klassifizierungsobjekte sprachenabhängig übernehmen

Beitrag von ABAP_JUNKIE (ForumUser / 1 / 0 / 0 ) »
Hallo zusammen,

ich bin noch ein ziemlicher Neuling was ABAP Programmierung angeht, daher hoffe ich das die Frage nicht allzu "sinnlos" ist. Derzeit versuche ich Grunddatentexte / den internen Vermerk aus dem Materialstamm in Klassifizierungsmerkmale zu übertragen.

Zuerst werden die aktuellen Objektwerte ausgelesen:

Code: Alles auswählen.

CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
    EXPORTING
      OBJECTKEY               =  '0000000000012345678'
      OBJECTTABLE            = 'MARA'     
      CLASSNUM                =  'Meine_Klasse'    
      CLASSTYPE               =  '001'
      LANGUAGE                =  'DE'      bzw     'EN'
    TABLES
      ALLOCVALUESNUM       =  lt_values_num      
      ALLOCVALUESCHAR      =  lt_values_char    
      ALLOCVALUESCURR      =  lt_values_curr     
     RETURN               =  lt_returntab .  
Dann erfolgt das Auslesung des Grunddatentextes / des internen Vermerks mit "READ_TEXT" und das Ergänzen der Werte in die lokalen Tabellen lt_values_num, lt_values_char sowie lt_values_curr.
Bspw.

Code: Alles auswählen.

ls_values_char-charact = 'Merkmalsname'.
ls_values_char-value_char = 'Mein Wert' .      
ls_values_char-INHERITED =' '.                        
ls_values_char-INSTANCE =' '.                        
ls_values_char-VALUE_NEUTRAL = 'Mein Wert' .
ls_values_char-CHARACT_DESCR =' '.
APPEND ls_values_char TO lt_values_char. 
Anschließend erfolgt das Schreiben der Werte.

Code: Alles auswählen.

CALL FUNCTION 'BAPI_OBJCL_CHANGE'
    EXPORTING
      OBJECTKEY               = '0000000000012345678' 
      OBJECTTABLE            = 'MARA'   
      CLASSNUM                = 'Meine_Klasse'        
      CLASSTYPE               = '001'
    TABLES
      ALLOCVALUESNUMNEW       =  lt_values_num   
      ALLOCVALUESCHARNEW     =  lt_values_char    
      ALLOCVALUESCURRNEW     =  lt_values_curr    
     RETURN                  =  lt_returntab .  

....

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
Soweit funktioniert die Übernahme. Dummerweise werden die neuen Werte aber immer für alle Sprachen gesetzt.

Bedeutet:
Ich lese für DE die Objektwerte mit 'BAPI_OBJCL_GETDETAIL' aus, hänge neue Werte an die lokale Tabelle an, schreibe die Merkmalswerte in die DB zurück und prüfe anschließend die Änderung erfolgreich in der MM03. Melde ich mich nun in Englisch an, so sind dort die Werte dort allerdings ebenfalls gesetzt. Führe ich das Programm für die Sprache EN erneut aus, so werden die für DE gesetzten Werte wieder überschrieben.

Wie kann ich neue Klassifizierungwerte nur für eine bestimmten Sprache setzen? Bislang habe ich keine Möglichkeit gefunden das setzen neuer Objekte/Objektwerte sprachenabhängig durchzuführen.
Der FuBa 'BAPI_OBJCL_CHANGE' gibt soweit ich das sehe hierfür keine Möglichkeit her.

Für jeden Tipp bin ich dankbar.

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


Seite 1 von 1

Vergleichbare Themen

4
Antw.
3568
Views
Text in Bestellung aus SO10 übernehmen
von AdrianSchm » 20.03.2018 19:15 • Verfasst in ABAP® Core
1
Antw.
1559
Views
10
Antw.
9740
Views
SAPScript: INCLUDE Text nach Stat. text
von Chrisu » 09.08.2005 11:06 • Verfasst in Basis
1
Antw.
6199
Views
Change Text(Header Text) of each: cl_salv_table
von jamiguel77 » 31.12.2014 20:27 • Verfasst in ABAP® für Anfänger
3
Antw.
1832
Views
Dialogbox zum Übernehmen
von Robin » 13.09.2005 16:49 • Verfasst in Dialogprogrammierung

Über diesen Beitrag

ABAP_JUNKIE
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.