REPORT ZNADAR .
* 'Pruebas'
* DISCLAIMER: EL AUTOR NO SE HACE RESPONSABLE DEL MAL USO DE ESTE PRG.
*
DATA: BEGIN OF SRC OCCURS 0,
TXT(72),
END OF SRC,
AUX(72),
AUX2(72).
DATA: BEGIN OF TEXTIN,
CAB(5) VALUE 'TEXT-',
CONTA(3) TYPE N VALUE '000',
END OF TEXTIN.
DATA: BEGIN OF TMPTAB OCCURS 0.
INCLUDE STRUCTURE TEXTPOOL.
DATA: END OF TMPTAB.
SELECTION-SCREEN COMMENT 1(80) TEXT-001.
PARAMETERS: PRG LIKE D010SINF-PROG,
SAVEME AS CHECKBOX DEFAULT ' '.
REFRESH SRC.
PERFORM IDIOMAS.
READ REPORT PRG INTO SRC.
CHECK SY-SUBRC EQ 0.
DATA: CONTA LIKE SY-FDPOS,
DF TYPE I.
LOOP AT SRC.
TRANSLATE SRC-TXT USING ' ¬'.
AUX = SRC-TXT. TRANSLATE AUX TO UPPER CASE.
SEARCH AUX FOR 'FUNCTION'.
CHECK SY-SUBRC NE 0.
SEARCH SRC-TXT FOR ''''.
CHECK SY-SUBRC EQ 0.
CONTA = SY-FDPOS.
AUX = SRC-TXT+0(CONTA).
ADD 1 TO CONTA.
SHIFT SRC-TXT BY CONTA PLACES.
DF = 1.
WHILE SY-SUBRC EQ 0.
SEARCH SRC-TXT FOR ''''.
CHECK SY-SUBRC EQ 0.
CONTA = SY-FDPOS.
IF DF = 1.
ADD 1 TO TEXTIN-CONTA.
CONCATENATE AUX TEXTIN INTO AUX.
DF = 0. CLEAR TMPTAB.
TMPTAB-ID = 'I'. TMPTAB-KEY = TEXTIN-CONTA.
MOVE SRC-TXT+0(CONTA) TO TMPTAB-ENTRY+0(CONTA).
TRANSLATE TMPTAB-ENTRY USING '¬ '.
TMPTAB-LENGTH = STRLEN( TMPTAB-ENTRY ).
APPEND TMPTAB.
ADD 1 TO CONTA.
ELSE.
DF = 1.
CLEAR AUX2.
MOVE SRC-TXT+0(CONTA) TO AUX2+0(CONTA).
CONCATENATE AUX AUX2 INTO AUX. ADD 1 TO CONTA.
ENDIF.
SHIFT SRC-TXT BY CONTA PLACES.
ENDWHILE. CLEAR AUX2.
CONTA = STRLEN( SRC-TXT ).
MOVE SRC-TXT+0(CONTA) TO AUX2+0(CONTA). CONCATENATE AUX AUX2 INTO AUX.
TRANSLATE AUX USING '¬ '.
SRC-TXT = AUX.
MODIFY SRC.
ENDLOOP.
DATA: FF(240), GG TYPE I, HH(72).
SYNTAX-CHECK FOR SRC MESSAGE FF LINE FF WORD HH.
CHECK SY-SUBRC EQ 0.
CHECK SAVEME = 'X'.
INSERT TEXTPOOL PRG LANGUAGE SY-LANGU FROM TMPTAB.
INSERT REPORT PRG FROM SRC.
FORM IDIOMAS.
READ TEXTPOOL PRG LANGUAGE SY-LANGU INTO TMPTAB.
PERFORM LASTONE.
ENDFORM.
FORM LASTONE.
LOOP AT TMPTAB WHERE ID = 'I'.
CHECK TMPTAB-KEY+0(1) CO '0123456789'.
CHECK TMPTAB-KEY+1(1) CO '0123456789'.
CHECK TMPTAB-KEY+2(1) CO '0123456789'.
IF TMPTAB-KEY > TEXTIN-CONTA.
TEXTIN-CONTA = TMPTAB-KEY.
ENDIF.
ENDLOOP.
ENDFORM.