ascii to character
i was in need to know what is the column name in excel (A, B, C, D, …, AA, …, IV), based on column number (1,2,3,4,…)
by browsing through google and made some modifications, here’s the function module which can change column number to column name.
FUNCTION zfmpm_ascii_character .
*”———————————————————————-
*”*”Local Interface:
*” IMPORTING
*” REFERENCE(COL) TYPE ANY
*” EXPORTING
*” REFERENCE(CHAR) TYPE STRING
*”———————————————————————-
DATA : x(8) TYPE x.
DATA : c TYPE string,
d TYPE i,
e TYPE i,
col2 TYPE int1,
d_col TYPE int1.
DATA: BEGIN OF t_col OCCURS 0,
col TYPE int1,
END OF t_col.FIELD-SYMBOLS : TYPE c.
IF col > 26. “reach ‘Z’
d_col = col / 26.
d_col = d_col – 1.
IF d_col 0.
“get first charcol2 = d_col + 64.
MOVE col2 TO x.
ASSIGN x TO CASTING TYPE c.
MOVE TO c.
d = STRLEN( c ).
e = d – 1.
char = c+e(1).
FREE: col2, x, d, e.
ELSE.
char = ”.
ENDIF.d_col = col – ( d_col * 26 ).
IF d_col 0.
col2 = d_col + 64.
MOVE col2 TO x.
ASSIGN x TO CASTING TYPE c.
MOVE TO c.
d = STRLEN( c ).
e = d – 1.
CONCATENATE char c+e(1) INTO char.
FREE: col2, x, d, e.
ENDIF.ELSE.
col2 = col + 64.
MOVE col2 TO x.
ASSIGN x TO CASTING TYPE c.
MOVE TO c.
d = STRLEN( c ).
e = d – 1.
char = c+e(1).
ENDIF.
ENDFUNCTION.

Leave a Reply