Einträge abgleichen und anpassen

Getting started ... Alles für einen gelungenen Start.

Einträge abgleichen und anpassen

Postby Ilayda581 » Wed Apr 17, 2013 9:07 am

Hallo zusammen,

ich habe folgendes Problem:

Ich habe eine Ursprungstabelle die mit Kennziffern gefüllt ist. Sprich 01, 02 usw.
Nun möchte ich alle Einträge aus der ersten Spalte mit den Einträgen einer Hilftabelle (Kennziffern und Beschreibung der Kennziffern) abgleichen sollte der Eintrag gleich sein, soll die Beschreibung aus der Hilfstabelle in die Ursprungstabelle geschrieben werden. Also aus 01 in der Ursprungstabelle wird dann XYZ, da in der Hilfstabelle XYZ zu der 01 definiert wurde. Ich habe nun folgende Lösung:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. TYPES: BEGIN OF line,
  2.          spalte1 TYPE c LENGTH 20,
  3.          spalte2 TYPE c LENGTH 20,
  4.          spalte3 TYPE c LENGTH 20,
  5.        END OF line.
  6.  
  7.   TYPES: itab TYPE STANDARD TABLE OF line,
  8.          jtab TYPE STANDARD TABLE OF Hilfstabelle1,
  9.          ktab TYPE STANDARD TABLE OF Hilfstabelle2,
  10.          ltab TYPE STANDARD TABLE OF Hilfstabelle3.
  11.  
  12.   DATA:  itab1 TYPE itab,
  13.          itab2 TYPE jtab,
  14.          itab3 TYPE ktab,
  15.          itab4 TYPE ltab,
  16.          wa1   TYPE line,
  17.          wa2   TYPE Hilfstabelle1,
  18.          wa3   TYPE Hilfstabelle2,
  19.          wa4   TYPE Hilfstabelle3,
  20.          x     TYPE n LENGTH 2,
  21.          y     TYPE c LENGTH 40.
  22.  
  23.   SELECT us_spalte1 us_spalt2 us_spalte3 FROM Ursprungstabelle INTO TABLE itab1.
  24.   SELECT * FROM Hilfstabelle1 INTO TABLE itab2.
  25.   SELECT * FROM Hilfstabelle2 INTO TABLE itab3.
  26.   SELECT * FROM Hilfstabelle3 INTO TABLE itab4.
  27.  
  28. IF sy-subrc EQ 0.
  29. LOOP AT itab1 INTO wa1.
  30.  
  31.   LOOP AT itab2 INTO wa2.
  32.     x =  wa2-h1_spalte1.
  33.     y =  wa2-h1_spalte2.
  34.       REPLACE ALL OCCURRENCES OF x in wa1-spalte1 WITH y.
  35.  
  36.   LOOP AT itab3 INTO wa3.
  37.     x =  wa3-h2_spalte1.
  38.     y =  wa3-h2_spalte2.
  39.       REPLACE ALL OCCURRENCES OF x in wa1-spalte2 WITH y.
  40.  
  41.   LOOP AT itab4 INTO wa4.
  42.     x =  wa4-h3_spalte1.
  43.     y =  wa4-h3_spalte2.
  44.       REPLACE ALL OCCURRENCES OF x in wa1-spalte3 WITH y.
  45.  
  46.     WRITE: / wa1-spalte1,
  47.              wa1-spalte2,
  48.              wa1-spalte3.
  49.  
GeSHi ©


Ich befürchte aber das dies für viele Einträge sehr performancelastig wird. Wie könnte eine performantere Lösung aussehen? Eventuell mit Feldsymbolen?

VG Bjuti
Ilayda581
.
.
 
Posts: 2
Joined: Wed Apr 17, 2013 9:07 am

Re: Einträge abgleichen und anpassen

Postby Ilayda581 » Fri Apr 19, 2013 9:57 pm

Huhu,

oder macht da sogar ein Join Sinn?

VG
Ilayda581
.
.
 
Posts: 2
Joined: Wed Apr 17, 2013 9:07 am


Return to ABAP® für Anfänger

Who is online

Users browsing this forum: No registered users and 18 guests