Abap , Excel hücrelerini doldurma.

Merhaba ,abap ile hücre hücre bir excel içeriğini doldurabilirsiniz. z'li program
*&---------------------------------------------------------------------*
 *& Subroutine pool   ZEXC                                              *
 *&---------------------------------------------------------------------*

PROGRAM  zexc.

INCLUDE ole2incl.

DATAe_sheet TYPE ole2_object.
 DATAe_appl  TYPE ole2_object.
 DATAe_work  TYPE ole2_object.
 DATAe_cell  TYPE ole2_object.

*&---------------------------------------------------------------------*
 *&      Form  exc_ac
 *&---------------------------------------------------------------------*
 FORM exc_ac USING p_file TYPE localfile.
 CREATE OBJECT e_appl 'EXCEL.APPLICATION'.
 SET PROPERTY OF e_appl 'VISIBLE' 1.

CALL METHOD OF e_appl 'WORKBOOKS' e_work.

CALL METHOD OF e_work 'OPEN'
 EXPORTING
 #1 p_file.

IF sy-subrc NE 0.
 PERFORM exc_cikis.
 *    MESSAGE s000(su) DISPLAY LIKE 'E' WITH p_file 'bulunamadı!'.
 MESSAGE s000(suDISPLAY LIKE 'E' WITH 'Dosya bulunamadı!'.
 LEAVE PROGRAM.
 ENDIF.
 ENDFORM.                    "exc_ac

*&---------------------------------------------------------------------*
 *&      Form  exc_cikis
 *&---------------------------------------------------------------------*
 FORM exc_cikis.
 CALL METHOD OF e_work 'close'.
 CALL METHOD OF e_appl 'QUIT'.
 FREE OBJECT e_appl.
 ENDFORM.                    "exc_cikis

*&---------------------------------------------------------------------*
 *&      Form  exc_hucre
 *&---------------------------------------------------------------------*
 FORM exc_hucre USING sat TYPE sut TYPE i.
 CALL METHOD OF e_appl 'Cells' e_cell
 EXPORTING
 #1 sat
 #2 sut.
 ENDFORM.                    "exc_hucre

*&---------------------------------------------------------------------*
 *&      Form  exc_yaz
 *&---------------------------------------------------------------------*
 FORM exc_yaz USING yazi.
 SET PROPERTY OF e_cell 'Value' yazi.
 ENDFORM.                    "exc_yaz

*&---------------------------------------------------------------------*
 *&      Form  exc_abyaz
 *&---------------------------------------------------------------------*
 *      -->A          satır
 *      -->B          sütun
 *      -->YAZI       yazı
 *----------------------------------------------------------------------*
 FORM exc_abyaz USING TYPE TYPE yazi.
 CHECK yazi IS NOT INITIAL.
 PERFORM exc_hucre USING a b.
 PERFORM exc_yaz USING yazi.
 ENDFORM.                    "exc_yaz




 
Daha sonra çağrılacak program içerisinde excel yolunu belirtiniz. 
PERFORM exc_ac(zexc) USING 'D:\\test.xls'. 
Daha sonra ise hücre doldurma kısmı. 
loop at it. 
PERFORM exc_abyaz(zexc) USING sy-tabix  1 it-matnr. 
endloop.

Bu yazı toplam 23 defa okundu.

Abap , Status Excluding kullanımı

Merhaba , Statüs Exculding kullanarak statüs butonları kullanıcının yetkisine göre gösterip gizleyebilirsiniz.  
  • Değişken
    DATAtuslar TYPE TABLE OF sy-ucomm.
  • Örnek 200 numarlaı ekran için kod
    MODULE status_0200 OUTPUT. SET PF-STATUS 'STT200' EXCLUDING tuslar. *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0200  OUTPUT
  • Tuşların gösterimi (statüs bardaki)
     IF yetki eq  0. " yetki yoksa yeni isimli tuşu statüs barda göstermez. APPEND 'YENI' TO tuslar. ENDIF.

Bu yazı toplam 26 defa okundu.

Abap ile Sms Gönderme

Merhaba , bir önceki yazıda paylaştığım http get requesti kullanarak  , aşağıdaki fonksiyon ile sms gönderimi yapılabilir. import parametreleri : mesaj , telefon.  
DATA: lv_char30 TYPE string.
lv_char30 = mesaj.
DATA: encoded TYPE string,unencoded TYPE string.
TRANSLATE lv_char30 TO UPPER CASE.
REPLACE ALL OCCURRENCES OF 'Ş' IN lv_char30 WITH 'S' .
REPLACE ALL OCCURRENCES OF 'Ö' IN lv_char30 WITH 'O' .
REPLACE ALL OCCURRENCES OF 'İ' IN lv_char30 WITH 'I' .
REPLACE ALL OCCURRENCES OF 'Ü' IN lv_char30 WITH 'U' .
REPLACE ALL OCCURRENCES OF 'Ğ' IN lv_char30 WITH 'G' .
REPLACE all OCCURRENCES OF 'Ç' in lv_char30 with 'C'.
*    REPLACE 'Ş' WITH 'S' INTO  lv_char30.
"boşluklara +  işareti koymak için
DATA: lv_string TYPE string.
lv_string = lv_char30.
TRANSLATE lv_string USING ' +'.
lv_char30 = lv_string.
"boşluklara + işareti koymak için son.
encoded = 'Ans&j21Ksjj3=='. 
CLEAR : unencoded.
unencoded = cl_http_utility=>if_http_utility~decode_base64( encoded =
encoded ).
DATA : uri(500) TYPE c.
CONCATENATE
'http://wwwxxx.com/send.asp?'
'user=tekinpekcan'
'&password=' unencoded
'&gsm='telefon
'&text='lv_char30
INTO uri.
EXPORT uri TO MEMORY ID '_URL_'.
SUBMIT  zsms_gonder AND RETURN.


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 REPORT zsms_gonder LINE-SIZE 132.
 
 data uri(500type c,
             uri2(132type c,
             dest like rfcdes-rfcdest,
             btocrlf type VALUE 'Y'.
 selection-screen skip 1.
 data user(30type ,
             pwd(30type c.
 
 typesbegin of text,
        line(120),
        end of text.
 
 dataxuri(250type c,
       status(3type c,
       statustext(128type c,
       rlength type i,
       key type value 1303621,
       slen type i,
       t1 type i,
       t2 type i,
       ti type i.
 
 dataresponse type table of text with header line,
       response_headers type table of text with header line.
 
 set blank lines on.
 concatenate uri uri2 into uri.
 set parameter id 'HTTP01' field dest.
 xuri uri(250).
 set parameter id 'HTTP02' field xuri.
 
 slen strlenuser ).
 
 call function 'HTTP_SCRAMBLE'
   exporting
     source            user
     sourcelen         slen
     key               key
   importing
     destination       user.
 
 slen strlenpwd ).
 
 call function 'HTTP_SCRAMBLE'
   exporting
     source            pwd
     sourcelen         slen
     key               key
  importing
     destination       pwd.
 
 get run time field t1.
 
 
 
 
 call function 'HTTP_GET'
   exporting
     absolute_uri                uri
     rfc_destination             dest
     user                        user
     password                    pwd
     blankstocrlf                btocrlf
   importing
     status_code                 status
     status_text                 statustext
     response_entity_body_length rlength
   tables
     response_entity_body        response
     response_headers            response_headers.
 
 *get run time field t2.
 *ti = ( t2 - t1 ) / 1000.
 
 *write: status, at 5 statustext, at 70 ti,'ms'.
 *skip 2.
 
 *loop at response_headers.
 *  write response_headers-line.
 *endloop.
 *skip 2.
 
 *write: text-002, rlength.
 *skip 2.
 
 *loop at response.
 *  write response-line.
 *endloop.
 
 call function 'RFC_CONNECTION_CLOSE'
   exporting
     destination dest
   exceptions
     others      0.
 
 * set default values for selection screen
 
 initialization.
   get parameter id 'HTTP01' field dest.
   if sy-subrc ne 0dest 'SAPHTTP'endif.
   get parameter id 'HTTP02' field uri.
 
   IMPORT uri FROM MEMORY ID '_URL_'.
 
       IF uri GT ''.
         FREE MEMORY ID  '_URL_'.
       ENDIF.
 
 at selection-screen output.
 
   loop at screen.
     if screen-name 'PWD'.
       screen-invisible '1'.
       modify screen.
     endif.
   endloop.

Bu yazı toplam 27 defa okundu.

Abap , http get request

REPORT zxxx LINE-SIZE 132.
data : uri(500) type c,
uri2(132) type c,
dest like rfcdes-rfcdest,
btocrlf type c VALUE 'Y'.
selection-screen skip 1.
data : user(30) type c ,
pwd(30) type c.
types: begin of text,
line(120),
end of text.
data: xuri(250) type c,
status(3) type c,
statustext(128) type c,
rlength type i,
key type i value 1303621,
slen type i,
t1 type i,
t2 type i,
ti type i.
data: response type table of text with header line,
response_headers type table of text with header line.
set blank lines on.
concatenate uri uri2 into uri.
set parameter id 'HTTP01' field dest.
xuri = uri(250).
set parameter id 'HTTP02' field xuri.
slen = strlen( user ).
call function 'HTTP_SCRAMBLE'
exporting
source = user
sourcelen = slen
key = key
importing
destination = user.
slen = strlen( pwd ).
call function 'HTTP_SCRAMBLE'
exporting
source = pwd
sourcelen = slen
key = key
importing
destination = pwd.
get run time field t1.
call function 'HTTP_GET'
exporting
absolute_uri = uri
rfc_destination = dest
user = user
password = pwd
blankstocrlf = btocrlf
importing
status_code = status
status_text = statustext
response_entity_body_length = rlength
tables
response_entity_body = response
response_headers = response_headers.
*get run time field t2.
*ti = ( t2 - t1 ) / 1000.
*write: status, at 5 statustext, at 70 ti,'ms'.
*skip 2.
*loop at response_headers.
* write response_headers-line.
*endloop.
*skip 2.
*write: text-002, rlength.
*skip 2.
*loop at response.
* write response-line.
*endloop.
call function 'RFC_CONNECTION_CLOSE'
exporting
destination = dest
exceptions
others = 0.
* set default values for selection screen
initialization.
get parameter id 'HTTP01' field dest.
if sy-subrc ne 0. dest = 'SAPHTTP'. endif.
get parameter id 'HTTP02' field uri.
IMPORT uri FROM MEMORY ID '_URL_'.
IF uri GT ''.
FREE MEMORY ID '_URL_'.
ENDIF.
at selection-screen output.
loop at screen.
if screen-name = 'PWD'.
screen-invisible = '1'.
modify screen.
endif.
endloop.

Bu yazı toplam 18 defa okundu.

Arduino , WebClient Get Metodu ile sıcaklı verisini aktarmak

Merhaba Arduino Ethernet Shield ile birlikte yapabileceğiniz ısı sensöründen gelen veriyi get metodu ile web'e aktarabilirsiniz , hem kendime not hemde sizlere kaynak , kodları sayfaya eklediğimde kaymalar olduğundan kaynak kodları buradan indirebilirsiniz  

Bu yazı toplam 23 defa okundu.

Arduino ,Web Client Get Metod ile veri aktarma

Merhaba aşağıdaki kod yapısı ile , get metodu ile veri aktarımı yapabilirsiniz.   #include <SPI.h> #include <Ethernet.h> byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; char server[] = "www.tekinpekcan.com"; IPAddress ip(192,168,1,2); EthernetClient client; void setup() { Serial.begin(9600); while (!Serial) { ; } More >

Bu yazı toplam 58 defa okundu.

Arduino uno , DS18B20 ile sıcaklık ölçümü

Merhaba DS18B20 sensörü ile arduino unoda sıcaklık ölçümü , bağlantı şeması aşağıdaki resimdeki gibidir. onewire kütüphanesini indirip arduinoya upload ettikten sonra sonuçları gözlemleyebilirsiniz. Kütüphaneyi eklemek için ; taslak > library ekle > zip kitaplığı ekle.  
  • Kırmızı Kablo  - VCC
  • Siyah Kablo  - GND
  • Beyaz Kablo  - DATA
ardiuno-setup_detail

Bu yazı toplam 62 defa okundu.