2017-05-03 6 views
0

Ich habe eine interne Tabelle des Typs string.Typ in abap ändern

it_fields TYPE STANDARD TABLE OF string 

Innerhalb dieser gibt es einige Werte, die ich brauche, um zu analysieren und sie dann in it_final zu speichern.

it_final TYPE STANDARD TABLE OF dd03l-fieldname 

dd03l hat einen Spaltennamen Feldnamen mit Datentyp char 30.

Ist das Parsen in ABAP möglich?

+3

Was ist die genaue Frage? Was ist möglich? Du meinst Paarung? Welche Art von Paarung? Sie haben ein Problem mit dem Platzieren eines Zeichenfolgenwerts in dem Zeichenwert mit fester Länge? Wenn dies der Fall ist, können Sie zum Beispiel die MOVE-Anweisung verwenden, um den Zeichenfolgenwert in den festen Zeichenwert zu verschieben. Oder haben Sie Probleme mit den internen Tabellen? In diesem Fall sollten Sie die Dokumentation zu internen Tabellen und deren Handhabung prüfen. – szako

+1

Sobald es Parsing geschrieben und einmal parising ist. Ich bezweifle, dass die Paarung die Absicht ist .... wahrscheinlicher ist Parsing, in diesem Fall würde ich sagen, bewegen Sie einfach von a nach b. – icbytes

+0

Können Sie uns zeigen, wie eine Zeile von 'it_fields' aussieht? Es ist unmöglich für uns, eine Antwort zu geben, ohne zu wissen, wie die Daten aussehen. – gkubed

Antwort

2
LOOP at it_fields into data(source). 
    if strlen(source) <= 30. 
     Append initial line to it_final ASSIGNING FIELD-SYMBOL(<target>). 
     <target> = source. 
    endif. 
ENDLOOP. 

Ist es das, was Sie brauchen? Ich habe es nicht getestet, ich dachte nur, das könnte Ihre Anforderung sein ...

+0

ja vielen Dank –

+1

Aber testen Sie das zuerst. – icbytes

0
DATA: ls_final like line of it_final. 
LOOP at it_fields into data(lv_field). 
    ls_final = lv_field. 
    APPEND ls_final TO it_final. 
    CLEAR:ls_final . 
ENDLOOP. 

Dies funktioniert auch, denke ich.