smartform etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
smartform etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

4 Haziran 2009 Perşembe

ABAP : SPOOL TO PDF Convert ve Download

Selamlar,
Bir çıktıyı PDF e dönüştürmenin çeşitli yöntemleri mevcuttur. Bunlar;
-Spool numarasının direk PDF e dönüştürmek
-Çıktının OTF 'sini alarak PDF e dönüştürmek.

Benim anlatacağım direk spool numarasından PDF e dönüştürme metodudur.
Hatta arkasından dönüşmüş PDF'i de bilgisayara kaydetmeyi göstereceğim :=).
Arkasından da gaymaklı ekmek gadayıfı eheh.

* Spool to PDF conversions

data: gd_spool_nr like tsp01-rqident,

gd_destination like rlgrap-filename,

gd_bytecount like tst01-dsize,

gd_buffer type string.

 

 

 data : it_pdf_output like tline occurs 0 with header line.

 data: numbytes type i,

pdfspoolid like tsp01-rqident,

it_mess_att like solisti1 occurs 0 with header line.

 

 

data:

     p_padest like  tsp03-padest.

 

p_padest = 'ZHP2'.

  call function 'CONVERT_OTFSPOOLJOB_2_PDF'

    exporting

      src_spoolid         = gd_spool_nr     "buraya spool numarasını yazıyoruz

      dst_device          = p_padest

    importing

      pdf_bytecount       = numbytes

      pdf_spoolid         = pdfspoolid

    tables

      pdf                 = it_pdf_output

    exceptions

      err_no_otf_spooljob = 1

      others              = 12.

 

 

 

 

 

*--- DOWNLOAD TO PC {bu form için kerem köseoğlu'na teşekkür ediyoruz }

  data:

      p_file like rlgrap-filename  .

  data cancel.

  p_file = 'C:\temp\file.pdf'.

  perform download_w_ext tables it_pdf_output

  using p_file

  '.pdf'

  'BIN'

  numbytes

  cancel.

 

 

 

 

FORM download_w_ext

 TABLES datatab

USING

filename LIKE rlgrap-filename

value(extension) TYPE c

mode TYPE c

bin_filesize TYPE i

cancel TYPE c.

 

 

DATA: name TYPE string,

path TYPE string,

fullpath TYPE string,

ext TYPE string,

filter TYPE string,

size TYPE i,

uact TYPE i.

 

IF mode <> 'ASC' AND mode <> 'BIN'.

sy-subrc = 1. EXIT.

ENDIF.

CLEAR cancel.

ext = extension.

IF ext(1) = '.'.

SHIFT ext.

ENDIF.

name = filename.

IF name IS INITIAL.

name = 'test.*'.

REPLACE '$' WITH ext INTO name.

ELSEIF name NA '.'. "name has no extension, add ext

CONCATENATE name '.' ext INTO name.

ENDIF.

filter = '(*.$)|*.$|'.

REPLACE '$' WITH ext INTO filter.

REPLACE '$' WITH ext INTO filter.

 

fullpath = name.

 

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

bin_filesize = bin_filesize

filename = fullpath

filetype = mode

TABLES

data_tab = datatab

EXCEPTIONS

file_write_error = 1

no_batch = 2

gui_refuse_filetransfer = 3

invalid_type = 4

no_authority = 5

unknown_error = 6.

filename = fullpath.

ENDFORM. "download_w_ext


2 Mayıs 2009 Cumartesi

ABAP : Smartform'da pencereyi son nesne olarka ayarlama


Merhabalar,
Smartform'da yaratılan bir pencerenin son nesne olarak gelmesi,
yani 5 sayfalık bir çıktıda 5. sayfanın sonunda gelmesi yada 1 sayfalık bir çıktıda, sayfanın sonunda gelmesi için yapmanız gereken, pencerenin koşullar sekmesinde 
"yalnızca ana pencerenin sonundan sonra" ve "yalnızca bölümün sonunda" seçeneğini tıklamaktır.
Vay efendim son nesne olarak çıktı ama 2 sayfalık çıktılarda ikisinde de çıktı sorunu veya
son nesne oldu ama sadece ilk sayfada çıktı sorunu yok artık ,
sonra vay ben duymadım vay ben görmedim demeyin.

Piyonları doğru yere koyun hadi iyi çalışmalar.


12 Ağustos 2008 Salı

ABAP : Manuel Yazici Secme

Zaman zaman belirli yazıcılara toplu çıktılar gönderip daha sonra ekranlarınızdan çıkmadan işlemlerinize devam etmeniz istenebilir veya yazıcıyı tüm işlemlerinizin başında seçip ona göre devam etmeniz gerekebilir.
Bu aşamada yapacağınız manuel olarak yazıcıyı seçtirmenizdir.

Bir screen yaptığınızı ve
p_yazici LIKE tsp01_sp0r-rqdestl,
tipindeki p_yazici degiskenini eklediğinizi varsayıyorum.

Daha sonra smartform'u çağırmadan değişkenlerimizi tanımlamamız ve gereken atamaları yapmamız gerekir.


DATA:
g_out TYPE ssfcompop,
control TYPE ssfctrlop.

..
..

DATA:
lv_yazici(8) TYPE c,
lv_kname(4) TYPE c.



SELECT SINGLE patype kname FROM sh_prin INTO
(lv_yazici, lv_kname)
WHERE lname = p_yazici.


g_out-tdprinter = lv_yazici..
g_out-tddest = lv_kname.

control-device = 'PRINTER'.

Smartformumuzu çağırırken bu değerleri göndermeyi unutmayalım.

**********************************************
CALL FUNCTION xxx

EXPORTING
control_parameters = control
output_options = g_out
user_settings = '' *manuel ayarlarda burası boş gönderilmi

**********************************************