Zapisanie długiej wartości do krótszych pól

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
arnonim
Posty: 160
Rejestracja: czw kwie 23, 2009 9:22 am
Has thanked: 9 times
Been thanked: 10 times

Zapisanie długiej wartości do krótszych pól

Post autor: arnonim »

Witam,
w jaki sposób najlepiej wykonać poniższą operację ?

Tabela ZZTEXTS zawiera pole TEXT o długości 132 znaków, którego zawartość ma być przepisana do 10 pól o długości 45 znaków
Zawartość pola TEXT może mieć różną długość np.
rekordy:
1. ZZTEXTS-TEXT = 'Tekst który ma pełne 132 znaki i wypełnia całą pojemność pola Tekst który ma pełne 132 znaki i wypełnia całą pojemność pola TEXT 123'
2. ZZTEXTS-TEXT = 'Tekst który ma mniej znaków'
3. ZZTEXTS-TEXT = 'Tekst który ma jeszcze inną zawartość niż poprzednie'
4. ZZTEXTS-TEXT = 'Tekst który jest krótki'

powyższe wartości z pola TEXT muszę zapisać w polach 45 znakowych:

POLE1 = 'Tekst który ma pełne 132 znaki i wypełnia cał'
POLE2 = 'ą pojemność pola Tekst który ma pełne 132 zna'
POLE3 = 'ki i wypełnia całą pojemność pola TEXT 123 Te'
POLE4 = 'kst który ma mniej znaków Tekst który ma jeszc'
POLE5 = 'ze inną zawartość niż poprzednie Tekst który '
POLE6 = 'jest krótki'
ZETKA
Posty: 59
Rejestracja: czw lis 04, 2010 10:49 pm
Has thanked: 1 time
Been thanked: 52 times

Re: Zapisanie długiej wartości do krótszych pól

Post autor: ZETKA »

Kod: Zaznacz cały

DATA: long_text TYPE string,
      BEGIN OF output,
         pole1(45),
         pole2(45),
         ...
         poleN(45),
      END OF output.  

DO lines( zztexts ) TIMES.
   long_text = long_text && zztext[ sy-index ]-text.
ENDDO.

output = long_text.

Może typ string będzie przeszkadzał, pisałem to z ręki na forum.
Pozdrawiam,
Krzysiek
arnonim
Posty: 160
Rejestracja: czw kwie 23, 2009 9:22 am
Has thanked: 9 times
Been thanked: 10 times

Re: Zapisanie długiej wartości do krótszych pól

Post autor: arnonim »

Dziękuję za pomoc, działa :)