09-24-2008 12:41 PM
hi friends,
Here my requirement is the output of this report i have to convert into PDF format file and download to local harddisk.
my report is as...
PARAMETERS: W_PERNR LIKE PERNR-PERNR.
DATA: INFO TYPE STRING.
DATA: PA LIKE PA0001-ABKRS,
CR_MONTH LIKE T569V-PABRP,
CR_YEAR LIKE T569V-PABRJ,
BEGDA LIKE T549Q-BEGDA,
ENDDA LIKE T549Q-ENDDA.
CALL FUNCTION 'ZSHAN_GET_PAYAREA'
EXPORTING
USERID = W_PERNR
IMPORTING
PAYAREA = PA
.
.
*CONCATENATE PA CR_MONTH CR_YEAR BEGDA ENDDA INTO INFO SEPARATED BY
*SPACE.
*message: INFO TYPE 'I'.
submit hincedt0 with PNPPERNR-LOW eq W_PERNR
with PNPXABKR eq PA
with FORMULAR eq 'YRAJ'.
anybody help me in this.....
Thanks & Regards,
Shankar.
09-24-2008 12:49 PM
Hi
Refer this code:
TABLES :
vbak,
vbap,
vbpa,
mara.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS:
s_vkorg FOR vbak-vkorg OBLIGATORY,
s_vtweg FOR vbak-vtweg OBLIGATORY,
s_spart FOR vbak-spart OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS:
s_vbeln FOR vbak-vbeln,
s_matnr FOR mara-matnr.
PARAMETERS:
p_kunnr TYPE vbak-kunnr.
SELECT-OPTIONS:
s_erdat FOR vbak-erdat OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b2.
DATA : w_spono LIKE tsp01-rqident,
w_binsize TYPE i,
w_filelen TYPE i,
t_sale LIKE TABLE OF tline WITH HEADER LINE.
DATA:
BEGIN OF t_sales OCCURS 0,
vbeln TYPE vbak-vbeln,
vkorg TYPE vbak-vkorg,
vtweg TYPE vbak-vtweg,
spart TYPE vbak-spart,
erdat TYPE vbak-erdat,
kunnr TYPE vbak-kunnr,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
arktx TYPE vbap-arktx,
parvw TYPE vbpa-parvw,
kwmeng TYPE vbap-kwmeng,
kunnr1 TYPE vbpa-kunnr ,
END OF t_sales.
START-OF-SELECTION.
SELECT vbak~vbeln
vkorg
vtweg
vbak~spart
vbak~erdat
vbak~kunnr
vbap~posnr
matnr
arktx
parvw
kwmeng
vbpa~kunnr
INTO CORRESPONDING FIELDS OF TABLE t_sales
FROM ( ( vbak JOIN vbap ON vbap~vbeln EQ vbak~vbeln )
JOIN vbpa ON vbpa~vbeln EQ vbak~vbeln
** and vbpa~posnr eq vbap~posnr
AND vbpa~parvw EQ 'WE' )
WHERE vkorg IN s_vkorg
AND vtweg IN s_vtweg
AND vbak~spart IN s_spart
AND vbak~vbeln IN s_vbeln
AND matnr IN s_matnr
AND vbak~kunnr EQ p_kunnr
AND vbak~erdat IN s_erdat.
IF sy-subrc EQ 0.
NEW-PAGE PRINT ON.
PERFORM display_sales_data.
NEW-PAGE PRINT OFF.
ELSE.
MESSAGE 'No records found with the spcified criteria' TYPE 'E'.
ENDIF.
w_spono = sy-spono.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = w_spono
* NO_DIALOG =
* DST_DEVICE =
* PDF_DESTINATION =
IMPORTING
pdf_bytecount = w_binsize
* PDF_SPOOLID =
* LIST_PAGECOUNT =
* BTC_JOBNAME =
* BTC_JOBCOUNT =
TABLES
pdf = t_sale
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
.
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 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = w_binsize
filename =
'C:\Documents and Settings\Desktop\sales.pdf'
filetype = 'BIN'
* APPEND = ' '
* WRITE_FIELD_SEPARATOR = 'X'
* HEADER = '00'
* TRUNC_TRAILING_BLANKS = ' '
* WRITE_LF = 'X'
* COL_SELECT = ' '
* COL_SELECT_MASK = ' '
* DAT_MODE = ' '
* CONFIRM_OVERWRITE = ' '
* NO_AUTH_CHECK = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* WRITE_BOM = ' '
* IMPORTING
* FILELENGTH = w_filelen
TABLES
data_tab = t_sale
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*&---------------------------------------------------------------------*
*& Form display_sales_data
*&---------------------------------------------------------------------*
* This subroutine is used to display the sales report *
*----------------------------------------------------------------------*
* No interface parameters
*----------------------------------------------------------------------*
FORM display_sales_data .
LOOP AT t_sales.
AT NEW spart.
SKIP 3.
WRITE 😕 'Sales Organization : ', t_sales-vkorg,
/ 'Distribution Channel : ', t_sales-vtweg,
/ 'Division : ', t_sales-spart.
SKIP.
WRITE:/ 'Sales Order'(001),
15 'Order Date'(002),
30 'Sold-to-party'(003),
50 'Ship-to-party'(004),
65 'Item'(005),
75 'Material'(006),
90 'Quantity'(007).
SKIP.
ENDAT.
IF t_sales-kunnr1 IS INITIAL.
t_sales-kunnr1 = p_kunnr.
ENDIF.
WRITE 😕 t_sales-vbeln UNDER text-001,
t_sales-erdat UNDER text-002,
t_sales-kunnr UNDER text-003,
t_sales-kunnr1 UNDER text-004,
t_sales-posnr UNDER text-005,
t_sales-matnr UNDER text-006,
t_sales-kwmeng UNDER text-007.
ENDLOOP.
ENDFORM. " display_sales_data
Regards,
Sravanthi
09-24-2008 12:49 PM
Hi
Refer this code:
TABLES :
vbak,
vbap,
vbpa,
mara.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS:
s_vkorg FOR vbak-vkorg OBLIGATORY,
s_vtweg FOR vbak-vtweg OBLIGATORY,
s_spart FOR vbak-spart OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS:
s_vbeln FOR vbak-vbeln,
s_matnr FOR mara-matnr.
PARAMETERS:
p_kunnr TYPE vbak-kunnr.
SELECT-OPTIONS:
s_erdat FOR vbak-erdat OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b2.
DATA : w_spono LIKE tsp01-rqident,
w_binsize TYPE i,
w_filelen TYPE i,
t_sale LIKE TABLE OF tline WITH HEADER LINE.
DATA:
BEGIN OF t_sales OCCURS 0,
vbeln TYPE vbak-vbeln,
vkorg TYPE vbak-vkorg,
vtweg TYPE vbak-vtweg,
spart TYPE vbak-spart,
erdat TYPE vbak-erdat,
kunnr TYPE vbak-kunnr,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
arktx TYPE vbap-arktx,
parvw TYPE vbpa-parvw,
kwmeng TYPE vbap-kwmeng,
kunnr1 TYPE vbpa-kunnr ,
END OF t_sales.
START-OF-SELECTION.
SELECT vbak~vbeln
vkorg
vtweg
vbak~spart
vbak~erdat
vbak~kunnr
vbap~posnr
matnr
arktx
parvw
kwmeng
vbpa~kunnr
INTO CORRESPONDING FIELDS OF TABLE t_sales
FROM ( ( vbak JOIN vbap ON vbap~vbeln EQ vbak~vbeln )
JOIN vbpa ON vbpa~vbeln EQ vbak~vbeln
** and vbpa~posnr eq vbap~posnr
AND vbpa~parvw EQ 'WE' )
WHERE vkorg IN s_vkorg
AND vtweg IN s_vtweg
AND vbak~spart IN s_spart
AND vbak~vbeln IN s_vbeln
AND matnr IN s_matnr
AND vbak~kunnr EQ p_kunnr
AND vbak~erdat IN s_erdat.
IF sy-subrc EQ 0.
NEW-PAGE PRINT ON.
PERFORM display_sales_data.
NEW-PAGE PRINT OFF.
ELSE.
MESSAGE 'No records found with the spcified criteria' TYPE 'E'.
ENDIF.
w_spono = sy-spono.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = w_spono
* NO_DIALOG =
* DST_DEVICE =
* PDF_DESTINATION =
IMPORTING
pdf_bytecount = w_binsize
* PDF_SPOOLID =
* LIST_PAGECOUNT =
* BTC_JOBNAME =
* BTC_JOBCOUNT =
TABLES
pdf = t_sale
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
.
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 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = w_binsize
filename =
'C:\Documents and Settings\Desktop\sales.pdf'
filetype = 'BIN'
* APPEND = ' '
* WRITE_FIELD_SEPARATOR = 'X'
* HEADER = '00'
* TRUNC_TRAILING_BLANKS = ' '
* WRITE_LF = 'X'
* COL_SELECT = ' '
* COL_SELECT_MASK = ' '
* DAT_MODE = ' '
* CONFIRM_OVERWRITE = ' '
* NO_AUTH_CHECK = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* WRITE_BOM = ' '
* IMPORTING
* FILELENGTH = w_filelen
TABLES
data_tab = t_sale
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*&---------------------------------------------------------------------*
*& Form display_sales_data
*&---------------------------------------------------------------------*
* This subroutine is used to display the sales report *
*----------------------------------------------------------------------*
* No interface parameters
*----------------------------------------------------------------------*
FORM display_sales_data .
LOOP AT t_sales.
AT NEW spart.
SKIP 3.
WRITE 😕 'Sales Organization : ', t_sales-vkorg,
/ 'Distribution Channel : ', t_sales-vtweg,
/ 'Division : ', t_sales-spart.
SKIP.
WRITE:/ 'Sales Order'(001),
15 'Order Date'(002),
30 'Sold-to-party'(003),
50 'Ship-to-party'(004),
65 'Item'(005),
75 'Material'(006),
90 'Quantity'(007).
SKIP.
ENDAT.
IF t_sales-kunnr1 IS INITIAL.
t_sales-kunnr1 = p_kunnr.
ENDIF.
WRITE 😕 t_sales-vbeln UNDER text-001,
t_sales-erdat UNDER text-002,
t_sales-kunnr UNDER text-003,
t_sales-kunnr1 UNDER text-004,
t_sales-posnr UNDER text-005,
t_sales-matnr UNDER text-006,
t_sales-kwmeng UNDER text-007.
ENDLOOP.
ENDFORM. " display_sales_data
Regards,
Sravanthi
09-24-2008 1:03 PM
09-24-2008 1:30 PM
HI,
this way i know. But here my problem is,
I will be displaying the payslip by using the program
HINCEDT0.
It will display the payslip form as ouptu. Now this output i want to convert as PDF file and save to local disk.
when i execute it, it's creating spool request sucessfully.
when i tried to convert this spool request into PDF also there is no problem.
But it's not showing any information in PDF files. just empty.
I hope now you got it... wat's my exact problem
Thanks & Regards,
Shankar.
09-24-2008 2:05 PM
Hi,
i think your spool is in OTF-Format
Try FM: CONVERT_OTFSPOOLJOB_2_PDF
Regards, Dieter
09-25-2008 6:34 AM
hi,
Mine is not a SAPscrit / SMARTFORM output.
It's a standard report program.
HINCEDT0.
In selection screen enter PAYROLL AREA,PERIODS, PERNR, AND SPECIFY HRFORM FORM NAME.
plz try one time, you execute it then it will show output. In that output just click on FORM button. It will show payslip details.
This output i want convert into PDF format. and i have to download to local disk.
For this just i am doing like this.
submit HINCEDT0 with PNPPERNR-LOW eq W_PERNR
with PNPXABKR eq PA
with FORMULAR eq 'YRAJ'
TO SAP-SPOOL
SPOOL PARAMETERS wf_params
WITHOUT SPOOL DYNPRO
AND RETURN.
After this i am getting spool number and With this spool number i tried to convert into PDF using these FM's.
CONVERT_ABAPSPOOLJOB_2_PDF &
CONVERT_OTFSPOOLJOB_2_PDF
But i didn't get any result.
Plz if any body have solutions tel me....
Thanks & Regards,
Shankar.
09-25-2008 7:01 AM
Hi Sravanti,
When i am trying to use your code and generate the PDF file in my local harddisk.
FIle is creating in the desktop, but when i am opening the file the it is showing error i have tried in other machines too but it is not working. previously it was showing SPOOL Request 0 does not exist.
can you help me with this.
09-24-2008 12:51 PM
Hi,
Print it out in spool, convert the spool into PDF and download it.
Lot of examples in this forum. Search for it.
Hope it helps.
Regards, Dieter
09-24-2008 12:51 PM
hi,
we have a program which directly converts to PDF and save it as a local file
i.e. RSTXPDF4.
09-29-2008 12:59 PM