• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 23.04.2016 00:55:33C programlama 2 oyun
  • 20.04.2016 16:34:41Local Database
  • 15.04.2016 14:26:15Fatura kayıt işlemi
  • 21.03.2016 01:55:30C# problem

Popüler Sorular

  • 27.05.2012 05:49:50Asp.Net ile Date time alana veri ekleyemiiyorum ?
  • 2.04.2012 00:45:18.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 12.05.2012 08:44:49Acil Yardım
  • 27.05.2012 13:46:51veri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LINQ
  • LibreOffice
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

Sap Abap BCS ile Mail Gönderme (SAP Business Communication Service)

Sap abap bcs ile mail gönderme fonksiyonunun nasıl yazıldığını öğrenelim.

11.07.2013

Yazar: Serkan Özcan (Google+)

Kategori: SAP-ABAP

3177

Abap programlarımızda birden çok kişiye mail gönderebileceğimiz, mail içerisine birden çok ek dosya ekleyebileceğimiz bir mail gönderme fonksiyonu. Bu fonksiyonda business communication service kullanılmıştır. Nesne tabanlı abap programlamaya güzel bir örnektir.

 

FUNCTION zbc_f_send_mail.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     REFERENCE(SUBJECT) TYPE  SO_OBJ_DES
*"     REFERENCE(MESSAGE_BODY) TYPE  BCSY_TEXT
*"     REFERENCE(ATTACHMENTS) TYPE  RMPS_T_POST_CONTENT OPTIONAL
*"     REFERENCE(SENDER_UID) TYPE  SYUNAME OPTIONAL
*"     REFERENCE(RECIPIENT_UID) TYPE  SYUNAME OPTIONAL
*"     REFERENCE(SENDER_MAIL) TYPE  ADR6-SMTP_ADDR OPTIONAL
*"     REFERENCE(RECIPIENT_MAIL) TYPE  ADR6-SMTP_ADDR OPTIONAL
*"     REFERENCE(I_TYPE) TYPE  SO_OBJ_TP OPTIONAL
*"  EXPORTING
*"     REFERENCE(RESULT) TYPE  BOOLEAN
*"  TABLES
*"      RECIPIENTS STRUCTURE  ADR6 OPTIONAL
*"----------------------------------------------------------------------
 
*Data Declaration
  DATA: lo_sender TYPE REF TO if_sender_bcs VALUE IS INITIAL,
        l_send TYPE adr6-smtp_addr ,
        l_rec TYPE  adr6-smtp_addr .
  DATA: itab TYPE TABLE OF sval,
        ls_itab TYPE sval,
        i_return.
  DATA: lo_send_request TYPE REF TO cl_bcs VALUE IS INITIAL.
*     DATA:
*    lt_message_body TYPE bcsy_text VALUE IS INITIAL,
  DATA: lx_document_bcs TYPE REF TO cx_document_bcs VALUE IS INITIAL,
        attachment_subject TYPE so_obj_des.
 
  DATA: lo_recipient TYPE REF TO if_recipient_bcs VALUE IS INITIAL.
  DATA: ls_recipient LIKE LINE OF recipients,
        ls_attachment LIKE LINE OF attachments.
 
  DATA: lv_recipient_uid TYPE syuname,
        lv_recipient_mail TYPE adr6-smtp_addr.
 
*Prepare Mail Object
  CLASS cl_bcs DEFINITION LOAD.
  lo_send_request = cl_bcs=>create_persistent( ).
* Message body and subject
  DATA lv_type TYPE so_obj_tp.
*ALI,ARC,BCS,BIN,DLI,EXT,FOL,GRA,HTM,OBJ,OFO,OTF,R3I,RAW,SCR,URL,WIM,XXL
  IF i_type IS INITIAL.
    lv_type = 'RAW'.
  ELSE.
    lv_type = i_type.
  ENDIF.
  DATA: lo_document TYPE REF TO cl_document_bcs VALUE IS INITIAL.
  lo_document = cl_document_bcs=>create_document(
  i_type = i_type
  i_text =  message_body
  i_subject = subject ).
 
 
 
*Send  attachment
  LOOP AT attachments INTO ls_attachment.
    attachment_subject = ls_attachment-subject.
    TRY.
        lo_document->add_attachment(
        EXPORTING
        i_attachment_type = ls_attachment-objtp
        i_attachment_subject = attachment_subject
 
        i_att_content_hex = ls_attachment-cont_hex ).
      CATCH cx_document_bcs INTO lx_document_bcs.
    ENDTRY.
  ENDLOOP.
 
* Pass the document to send request
  lo_send_request->set_document( lo_document ).
  TRY.
      IF sender_mail IS NOT INITIAL.
        lo_sender = cl_cam_address_bcs=>create_internet_address( sender_mail ).
      ELSEIF sender_uid IS NOT INITIAL.
        lo_sender = cl_sapuser_bcs=>create( sender_uid ).
      ELSE.
        lo_sender = cl_sapuser_bcs=>create( sy-uname ).
      ENDIF.
* Set sender
      lo_send_request->set_sender(
      EXPORTING
      i_sender = lo_sender ).
    CATCH cx_address_bcs.
      RETURN.
  ENDTRY.
* Set  recipients
  IF recipients[] IS INITIAL.
 
    IF recipient_mail IS NOT INITIAL.
      lo_recipient = cl_cam_address_bcs=>create_internet_address( recipient_mail ).
    ELSEIF recipient_uid IS NOT INITIAL.
      lo_recipient = cl_sapuser_bcs=>create( recipient_uid ).
    ELSE.
      lo_recipient = cl_sapuser_bcs=>create( sy-uname ).
    ENDIF.
 
    lo_send_request->add_recipient(
    EXPORTING
    i_recipient = lo_recipient
    i_express = 'X' ).
  ELSE.
 
    LOOP AT recipients INTO ls_recipient.
      IF ls_recipient-r3_user IS NOT INITIAL.
        lv_recipient_uid = ls_recipient-r3_user.
        lo_recipient = cl_sapuser_bcs=>create( lv_recipient_uid ).
      ELSEIF ls_recipient-smtp_addr IS NOT INITIAL.
        lv_recipient_mail = ls_recipient-smtp_addr .
        lo_recipient = cl_cam_address_bcs=>create_internet_address( lv_recipient_mail ).
      ENDIF.
 
      lo_send_request->add_recipient(
          EXPORTING
          i_recipient = lo_recipient
          i_express = 'X' ).
 
    ENDLOOP.
  ENDIF.
  TRY.
** Send email
      lo_send_request->send(
      EXPORTING
      i_with_error_screen = 'X'
      RECEIVING
      RESULT = RESULT ).
      COMMIT WORK.
      WAIT UP TO 1 SECONDS.
    CATCH cx_send_req_bcs.
      RESULT = ''.
  ENDTRY.
 
 
 
 
 
ENDFUNCTION.

Yazar Hakkında

Serkan Özcan

Serkan Özcan

serkanozcan.com

SAP ABAP Danışmanı & Mobil Çözümler Uzmanı olan Serkan Özcan iş hayatına Haziran 2008’de Arista Danışmanlık Şirketi’nde abap danışmanı olarak başlayıp mobil takım liderliği de yaptıktan sonra Ocak 2013’te BTC-AG Bilişim Hizmetleri A.Ş’ye geçti. Danışmanlık kariyeri boyunca çeşitli sektörlerde SAP modüllerinde ve teknik konularda danışman olarak görev aldı. Uzun soluklu projelerde hem analizlere katıldı hem de uygulama geliştirdi. Ayrıca birçok projede kısa süreli çalışmalarda bulundu. SAP ve Non-SAP sistemler arasındaki entegrasyonlar için çeşitli arayüzler geliştirdi. Microsoft Vb.net, C# dillerini kullanarak mobil saha uygulamaları tasarladı ve programladı. Iphone-Ipad-SAP entegrasyonunu içeren IOS projelerinin tasarlanıp geliştirilmesi ve programlanması görevini üstlendi.

Sosyal Medya

ORANLAR

  • 3177izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Merhaba, ellerinize sağlık çok yardımcı ol...
  • Merhaba Bu uygulama örneğinden ASP.net ...
  • Hocam Link başka sayfaya yönlendiriyor.
  • merhaba benim merak ettiğim bir konu var y...

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 122032
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 68134
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 49928
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ