cancel
Showing results for 
Search instead for 
Did you mean: 

SAPSCRIPT(OTF) to BASE64 Format for WEB

Former Member
0 Kudos

How to make a SPOOL JOB created from SAPSCRIPT(OTF) to BASE64 Format for WEB. I have the following code ...but i am unable to convert PDF data into STR to further convert to BASE64 format?

CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'

EXPORTING

SRC_SPOOLID = ISPOOLID

NO_DIALOG = ''

  • DST_DEVICE = '014L'

IMPORTING

PDF_BYTECOUNT = IBYTE

TABLES

PDF = ITLINE

EXCEPTIONS

ERR_NO_OTF_SPOOLJOB = 1

ERR_NO_SPOOLJOB = 2

ERR_NO_PERMISSION = 3

ERR_CONV_NOT_POSSIBLE = 4

ERR_BAD_DSTDEVICE = 5

USER_CANCELLED = 6

ERR_SPOOLERROR = 7

ERR_TEMSEERROR = 8

ERR_BTCJOB_OPEN_FAILED = 9

ERR_BTCJOB_SUBMIT_FAILED = 10

ERR_BTCJOB_CLOSE_FAILED = 11

OTHERS = 12.

IF SY-SUBRC 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'

EXPORTING

LINE_WIDTH_SRC = 134

LINE_WIDTH_DST = 255

  • TRANSFER_BIN = ' '

TABLES

CONTENT_IN = ITLINE

CONTENT_OUT = IPDF

  • EXCEPTIONS

  • ERR_LINE_WIDTH_SRC_TOO_LONG = 1

  • ERR_LINE_WIDTH_DST_TOO_LONG = 2

  • ERR_CONV_FAILED = 3

  • OTHERS = 4

.

IF SY-SUBRC 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

DATA: STR TYPE STRING,

XSTR TYPE XSTRING.

CALL FUNCTION 'CONVERT_TABLE_TO_STRING'

EXPORTING

I_TABLINE_LENGTH = 255

IMPORTING

E_STRING = STR

TABLES

IT_TABLE = IPDF. "ITLINE.

DATA IDX TYPE I.

DESCRIBE TABLE IPDF LINES IDX.

IDX = ( IDX - 2 ) * 255.

SEARCH STR FOR 'EOF' STARTING AT IDX.

IDX = IDX + SY-FDPOS + 4.

STR = STR(IDX).

CALL FUNCTION 'SCMS_STRING_TO_XSTRING'

EXPORTING

TEXT = STR

IMPORTING

BUFFER = XSTR

EXCEPTIONS

FAILED = 1

OTHERS = 2

.

IF SY-SUBRC 0.

RAISE ERROR.

ENDIF.

CALL FUNCTION 'SCMS_BASE64_ENCODE_STR'

EXPORTING

INPUT = XSTR

IMPORTING

OUTPUT = STR.

CALL FUNCTION 'CONVERT_STRING_TO_TABLE'

EXPORTING

I_STRING = STR

I_TABLINE_LENGTH = 255

TABLES

ET_TABLE = IPDF.

ELSE.

ENDIF.

ENDFUNCTION.

Accepted Solutions (0)

Answers (1)

Answers (1)

rejish_balakrishnan
Contributor
0 Kudos

Hi,

In close_form function module there is option of getting output in OTF form. Go to se37 and in table tab convert that table to hex (BIN) format and pass it to objbin .

Possiblily you can then use the func modules.

'SCMS_BASE64_ENCODE_STR' and 'CONVERT_STRING_TO_TABLE