Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Error in 'CONVERT_ABAPSPOOLJOB_2_PDF' function module

Former Member
0 Kudos

Hi,

I'm using 'CONVERT_ABAPSPOOLJOB_2_PDF' function module for PDF conversion for sending mails. I'm passing the spool ID as given below. But the FM is giving error as "Spool request 30420 contains no ABAP list data".

Please help.

CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'

EXPORTING

src_spoolid = gv_spoolno

no_dialog = gc_no

dst_device = gc_device

  • PDF_DESTINATION =

IMPORTING

pdf_bytecount = gv_bytecount

  • PDF_SPOOLID =

  • LIST_PAGECOUNT =

  • BTC_JOBNAME =

  • BTC_JOBCOUNT =

TABLES

pdf = gi_pdf_output

EXCEPTIONS

err_no_abap_spooljob = 1

err_no_spooljob = 2

err_no_permission = 3

err_conv_not_possible = 4

err_bad_destdevice = 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

3 REPLIES 3

Former Member
0 Kudos

Hi,

If u are using smartform just see the below code. U will get the spool id from the function module of smartform.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

formname = 'YMML_SHORTAGE_SUPPLY_01'

  • VARIANT = ' '

  • DIRECT_CALL = ' '

IMPORTING

fm_name = fmname1

  • EXCEPTIONS

  • NO_FORM = 1

  • NO_FUNCTION_MODULE = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

LOOP AT it_shortage3 INTO wa_shortage3.

CALL FUNCTION fmname1

EXPORTING

  • ARCHIVE_INDEX =

  • ARCHIVE_INDEX_TAB =

  • ARCHIVE_PARAMETERS =

  • CONTROL_PARAMETERS =

  • MAIL_APPL_OBJ =

  • MAIL_RECIPIENT =

  • MAIL_SENDER =

output_options = output_options1

user_settings = 'X'

wa_shortage3 = wa_shortage3

IMPORTING

  • DOCUMENT_OUTPUT_INFO =

job_output_info = job_output_info1

job_output_options = job_output_options1

TABLES

it_shortage2 = it_shortage2

  • EXCEPTIONS

  • FORMATTING_ERROR = 1

  • INTERNAL_ERROR = 2

  • SEND_ERROR = 3

  • USER_CANCELED = 4

  • OTHERS = 5

.

IF sy-subrc <> 0.

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

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

ENDIF.

IF NOT job_output_info1-spoolids[] IS INITIAL.

spoolid1 = job_output_info1-spoolids.

LOOP AT spoolid1 INTO wa_spool1.

ENDLOOP.

PERFORM email1.

ENDIF.

ENDLOOP.

ENDFORM. " openform1

FORM email1.

REFRESH : i_objpack1,

i_objhead1,

i_objbin1,

i_objtxt1,

reclist1.

CLEAR : i_objpack1,

i_objhead1,

i_objbin1,

i_objtxt1,

reclist1,

v_addrnumber1,

v_emailaddress1.

LOOP AT it_shortage1 INTO wa_shortage1.

SELECT SINGLE smtp_addr

INTO v_emailaddress1

FROM adr6

WHERE addrnumber = wa_shortage1-adrnr.

IF sy-subrc = 0.

  • Create receiver list

reclist1-receiver = v_emailaddress1. "<-- vendor address

reclist1-rec_type = 'U'.

APPEND reclist1.

CLEAR v_emailaddress1.

ENDIF.

  • CLEAR v_emailaddress.

ENDLOOP.

docdata1-obj_name = 'MAIL'.

docdata1-obj_descr = 'SHORTAGE Memo'.

i_objtxt1 = 'Hi,'.

APPEND i_objtxt1.

i_objtxt1 = 'Regards'.

APPEND i_objtxt1.

i_objtxt1 = 'Shortage Memo'.

APPEND i_objtxt1.

DESCRIBE TABLE i_objtxt1 LINES tab_lines1.

READ TABLE i_objtxt1 INDEX tab_lines1.

docdata1-doc_size = ( tab_lines1 - 1 ) * 255 + STRLEN( i_objtxt1 ).

CLEAR i_objpack1-transf_bin.

i_objpack1-head_start = 1.

i_objpack1-head_num = 0.

i_objpack1-body_start = 1.

i_objpack1-body_num = tab_lines1.

i_objpack1-doc_type = 'RAW'.

APPEND i_objpack1.

PERFORM pdf_convert1.

&----


*& Form pdf_convert1

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM pdf_convert1.

DATA: BEGIN OF i_spool1 OCCURS 0,

rqident1 LIKE tsp01-rqident,

rqo1name1 LIKE tsp01-rqo1name,

rqclient1 LIKE tsp01-rqclient,

END OF i_spool1.

DATA: client1 LIKE tst01-dclient,

name1 LIKE tst01-dname,

objtype1 LIKE rststype-type,

type1 LIKE rststype-type.

DATA: spoolno1 LIKE tsp01-rqident,

otf1 LIKE itcoo OCCURS 100 WITH HEADER LINE,

pdf1 LIKE tline OCCURS 100 WITH HEADER LINE,

doctab1 LIKE docs OCCURS 1 WITH HEADER LINE,

numbytes1 TYPE i,

arc_idx1 LIKE toa_dara,

pdfspoolid1 LIKE tsp01-rqident,

jobname1 LIKE tbtcjob-jobname,

jobcount1 LIKE tbtcjob-jobcount,

is_otf1.

DATA: tab_lines1 TYPE i,

doc_size1 TYPE i,

att_type1 LIKE soodk-objtp.

DATA: date2 LIKE sy-datum,

time2 LIKE sy-uzeit,

period2 LIKE tsp01-rqcretime.

date2 = sy-datum.

time2 = sy-uzeit.

date2 = date2 - 1.

CONCATENATE date2 time2 INTO period2.

SELECT rqident

rqo1name

rqclient FROM tsp01 INTO TABLE i_spool1

WHERE rqowner = sy-uname AND

rqclient = sy-mandt AND

  • rqcretime > period2 AND

rqident = wa_spool1.

IF sy-subrc <> 0.

WRITE: / 'No Spool Request created today'(003)

COLOR COL_NEGATIVE.

EXIT.

ENDIF.

SORT i_spool1 DESCENDING BY rqident1.

READ TABLE i_spool1 INDEX 1.

CALL FUNCTION 'RSTS_GET_ATTRIBUTES'

EXPORTING

authority = 'SP01'

client = i_spool1-rqclient1

name = i_spool1-rqo1name1

part = 1

IMPORTING

  • CHARCO =

  • CREATER =

  • CREDATE =

  • DELDATE =

  • MAX_CREDATE =

  • MAX_DELDATE =

  • NON_UNIQ =

  • NOOF_PARTS =

  • RECTYP =

  • SIZE =

  • STOTYP =

type = type1

objtype = objtype1

EXCEPTIONS

fb_error = 1

fb_rsts_other = 2

no_object = 3

no_permission = 4.

CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'

EXPORTING

src_spoolid = i_spool1-rqident1

no_dialog = ' '

  • DST_DEVICE =

  • PDF_DESTINATION =

IMPORTING

pdf_bytecount = numbytes1

pdf_spoolid = pdfspoolid1

  • OTF_PAGECOUNT =

btc_jobname = jobname1

btc_jobcount = jobcount1

TABLES

pdf = pdf1

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.

CASE sy-subrc.

WHEN 0.

WHEN 1.

WRITE: / 'Error On Spool Job'(002)

COLOR COL_NEGATIVE.

EXIT.

WHEN 2.

WRITE: / 'No Permission'(003)

COLOR COL_NEGATIVE.

EXIT.

WHEN 3.

WRITE: / 'Conversion Not Possible'(004)

COLOR COL_NEGATIVE.

EXIT.

WHEN OTHERS.

WRITE: / 'Incorrect Destination Device'(005)

COLOR COL_NEGATIVE.

EXIT.

ENDCASE.

CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'

EXPORTING

line_width_src = 134

line_width_dst = 255

TABLES

content_in = pdf1

content_out = i_objbin1

EXCEPTIONS

err_line_width_src_too_long = 1

err_line_width_dst_too_long = 2

err_conv_failed = 3

OTHERS = 4.

ENDFORM. " pdf_convert1

0 Kudos

Check whether the spool is having any data in it.

Raghav

0 Kudos

Spool id is generated and data is present for the same. I checked it in sp02.