DATA: RUS(66), S1(33), S2(33),
T1(32), T2(41), T11(32), T21(41), TC(146).
DATA: BEGIN OF TR OCCURS 0,
TB(2),
END OF TR,
I TYPE I, K TYPE I, L TYPE I, VR1(30), Y.
PARAMETERS: VR(30) LOWER CASE.
S1 = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'.
S2 = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'.
CONCATENATE S1 S2 INTO RUS.
T1 = 'A,B,V,G,D,E,YO,ZH,Z,I,Y,K,L,M,N,'.
T2 = 'O,P,R,S,T,U,F,H,C,CH,SH,SCH, ,I, ,E,YU,YA'.
T11 = 'a,b,v,g,d,e,yo,zh,z,i,y,k,l,m,n,'.
T21 = 'o,p,r,s,t,u,f,h,c,ch,sh,sch, ,i, ,e,yu,ya'.
CONCATENATE T1 T2 T11 T21 INTO TC.
SPLIT TC AT ',' INTO TABLE TR.
I = 0.
CONDENSE: VR.
CLEAR: Y.
L = STRLEN( VR ) - 1.
WHILE I <= L.
IF S1 CS VR+I(1) AND VR+I(1) NE SPACE.
K = SY-FDPOS + 1.
READ TABLE TR INDEX K.
IF SY-SUBRC = 0.
CONDENSE TR-TB.
IF NOT Y IS INITIAL.
CONCATENATE VR1 TR-TB INTO VR1 SEPARATED BY SPACE.
CLEAR: Y.
ELSE.
CONCATENATE VR1 TR-TB INTO VR1.
ENDIF.
ENDIF.
ELSE.
IF Y IS INITIAL AND VR+I(1) NE SPACE.
CONCATENATE VR1 VR+I(1) INTO VR1.
ENDIF.
IF NOT Y IS INITIAL.
CONCATENATE VR1 VR+I(1) INTO VR1 SEPARATED BY SPACE.
CLEAR: Y.
ENDIF.
ENDIF.
IF VR+I(1) = SPACE.
Y = 'X'.
ENDIF.
ADD 1 TO I.
ENDWHILE.
WRITE:/ VR.
WRITE:/ VR1.
|
|