<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Serkan Özcan</title><link>https://serkanozcan.com/</link><description>Recent content on Serkan Özcan</description><generator>Hugo</generator><language>tr-TR</language><lastBuildDate>Fri, 27 Feb 2026 10:23:27 +0000</lastBuildDate><atom:link href="https://serkanozcan.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Neden Serverless (FaaS) ve NoSQL?</title><link>https://serkanozcan.com/neden-serverless-faas-ve-nosql/</link><pubDate>Sat, 25 Jan 2020 15:51:23 +0000</pubDate><guid>https://serkanozcan.com/neden-serverless-faas-ve-nosql/</guid><description>&lt;p&gt;&lt;strong&gt;İhtiyaç:&lt;/strong&gt; Mobil uygulama, kullanıcı bilgilerinin v.s. tutulacağı bir veritabanı ve bu veritabanıyla mobil uygulama arasında iletişim kuracak bir servis&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Çözüm alternatifleri:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://serkanozcan.com/media/wp/2020/01/private_cloud_iass_paas_faas_saas.png"&gt;&lt;img src="https://serkanozcan.com/media/wp/2020/01/private_cloud_iass_paas_faas_saas.png" alt="private\_cloud\_iass\_paas\_faas\_saas"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tercih ettiğim çözüm:&lt;/strong&gt; Faas (Google Cloud Functions)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tercih sebebi:&lt;/strong&gt; Maliyet + Yönetim Kolaylığı&lt;/p&gt;</description></item><item><title>OData Servisi Oluştururken Yapılan 10 Hata</title><link>https://serkanozcan.com/odata-servisi-olustururken-yapilan-10-hata/</link><pubDate>Wed, 01 Aug 2018 17:04:43 +0000</pubDate><guid>https://serkanozcan.com/odata-servisi-olustururken-yapilan-10-hata/</guid><description>&lt;p&gt;Kısaca bahsetmek gerekirse oData servisi; SAP ile dış dünya arasında veri alışverişini sağlayan bir protokoldür.&lt;/p&gt;
&lt;p&gt;SAP artık bütün web tabanlı iletişimi bu yeni protokol üzerinden yapmaktadır. Fiori uygulamalarının kullandığı servisler de oData servisleridir.&lt;/p&gt;</description></item><item><title>SAP Fiori Cloud Edition canlı kullanıma artık hazır ama nasıl olacak bu işler?</title><link>https://serkanozcan.com/sap-fiori-cloud-edition-canli-kullanima-artik-hazir-ama-nasil-olacak-bu-isler/</link><pubDate>Sun, 17 Apr 2016 11:38:27 +0000</pubDate><guid>https://serkanozcan.com/sap-fiori-cloud-edition-canli-kullanima-artik-hazir-ama-nasil-olacak-bu-isler/</guid><description>&lt;p&gt;Son günlerde Fiori’nin bulut üzerinde kullanılabilir olduğu haberleri dolaşıyor ama nasıl yapılır, edilir konusunda kaynak bulmak oldukça zor. Bu açığı kapatmak için sizlere Fiori’yi bulut üzerinde nasıl kullanırız, uygulamalarımızı bulut ortamına nasıl yükleriz ve bu ortamı kullanıcılarımıza nasıl açarız konusunda bilgilendirmek istiyorum.&lt;/p&gt;</description></item><item><title>Fiori uygulaması geliştirmek hiç bu kadar kolay olmamıştı</title><link>https://serkanozcan.com/fiori-uygulamasi-gelistirmek-hic-bu-kadar-kolay-olmamisti/</link><pubDate>Tue, 22 Mar 2016 14:54:48 +0000</pubDate><guid>https://serkanozcan.com/fiori-uygulamasi-gelistirmek-hic-bu-kadar-kolay-olmamisti/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Yes Björn, “@OData.publish: true” works&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bundan yaklaşık 2.5 sene önceydi ilk Fiori uygulamalarının çıktığını öğrendiğimizde büyük bir heyecan içerisindeydik. Hemen bu uygulamalar nasıl geliştirilir diye araştırmaya başladık. SAPUI5 kütüphanesiyle tanışıklığımız bu zamanlara denk gelir. Kolları sıvayıp demo sistemimizi kurduk ve geliştirmelere başladık. Geliştirmelere başladık derken her şey bu kadar kolay olmadı tabii ki. Örnek bulmakta ve takıldığımız konularda ilerlemekte ciddi anlamda zorlandık. Yine de o günün heyecanıyla odata nasıl oluşturulur, Fiori servisleri nasıl aktiflenir, SAPUI5 uygulamaları nasıl geliştirilir öğrendik ve demo uygulamalarımızı hayata geçirdik. Sonrasında da bu tecrübelerimizi müşterilerimize aktardık, başarılı projelere imza attık.&lt;/p&gt;</description></item><item><title>SAP UX Dönüşümü: SAP Fiori vs SAP Screen Personas</title><link>https://serkanozcan.com/sap-ux-donusumu-sap-fiori-vs-sap-screen-personas/</link><pubDate>Sun, 14 Feb 2016 14:46:32 +0000</pubDate><guid>https://serkanozcan.com/sap-ux-donusumu-sap-fiori-vs-sap-screen-personas/</guid><description>&lt;p&gt;Kullanıcı deneyimini arttırmanın kuruma ne tür katkılar sağlayacağı ve kurumun karlılığını nasıl yükselteceği hakkında detaylı bir sunumu mart ayında yapılacak olan &lt;strong&gt;Functional Inside Track Istanbul 2016&lt;/strong&gt;‘da  yapacağız. Bu sunum öncesinde kullanıcı deneyimini nasıl arttırabiliriz konusuna değinerek sizleri konuya biraz ısındırmak istiyorum.&lt;/p&gt;</description></item><item><title>Fiori uygulaması geliştirirken dikkat edilmesi gerekenler</title><link>https://serkanozcan.com/fiori-uygulamasi-gelistirirken-dikkat-edilmesi-gerekenler/</link><pubDate>Mon, 11 Jan 2016 14:32:58 +0000</pubDate><guid>https://serkanozcan.com/fiori-uygulamasi-gelistirirken-dikkat-edilmesi-gerekenler/</guid><description>&lt;p&gt;Fiori konusuna yıllarını vermiş biri olarak sektörde bu işe &lt;strong&gt;yeni başlamış&lt;/strong&gt; veya&lt;strong&gt;başlayacak&lt;/strong&gt; olanlara, &lt;strong&gt;müşteri&lt;/strong&gt; konumunda olup Fiori uygulaması geliştirme hizmeti alacak olanlara bir takım tavsiyelerde bulunmak ve buz dağının arkasında ne tür tehlikelerin bizleri beklediği konusunda uyarılar yapmak istiyorum.&lt;/p&gt;</description></item><item><title>SAP Fiori ve SAPUI5 Tarihsel Gelisimi</title><link>https://serkanozcan.com/sap-fiori-ve-sapui5-tarihsel-gelisimi/</link><pubDate>Thu, 07 Jan 2016 14:27:59 +0000</pubDate><guid>https://serkanozcan.com/sap-fiori-ve-sapui5-tarihsel-gelisimi/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Run Simple&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;SAP, UI ve UX konusunda karanlık çağını kapatırken aydınlık çağa merhaba dedi. Bu değişim ve dönüşüm son birkaç sene içerisinde büyük bir ilgiyle takip ettiğimiz SAPUI5 ve Fiori ile gerçekleşti. Aslında şu an geldiğimiz noktada da değişim son hızıyla gerçekleşmeye devam ediyor. Ödüllü bir &lt;a href="https://www.linkedin.com/pulse/reddot-%C3%B6d%C3%BCll%C3%BC-fiori-20-ile-gelen-yenilikler-serkan-%C3%B6zcan"&gt;Fiori 2.0&lt;/a&gt; sahneye çıkmaya hazırlanırken, SAP neredeyse her hafta SAPUI5 versiyonlarına bir yenisini ekliyor (¹). Ayrıca SAP bünyesine kattığı ürünlerin arayüzlerini de Fiori’ye dönüştürürken yeni çıkardığı ürünleri de tamamen Fiori arayüzleriyle geliştiriyor.&lt;/p&gt;</description></item><item><title>SCN MeetUp 4 Review</title><link>https://serkanozcan.com/scn-meetup-4-review/</link><pubDate>Fri, 25 Dec 2015 14:23:34 +0000</pubDate><guid>https://serkanozcan.com/scn-meetup-4-review/</guid><description>&lt;p&gt;Gelenekselleşen Sap Community Türkiye toplantılarından bir tanesini daha geride bıraktık. Bugüne kadar gerçekleştirdiğimiz toplantılarda bizi en çok mutlu eden konu ise katılım sayısının ve farklı düşüncelerin her toplantıda artarak devam etmesi oldu.&lt;/p&gt;</description></item><item><title>SAP Splash ve BUILD ile Fiori uygulamaları tasarlayın</title><link>https://serkanozcan.com/sap-splash-ve-build-ile-fiori-uygulamalari-tasarlayin/</link><pubDate>Tue, 08 Dec 2015 11:50:58 +0000</pubDate><guid>https://serkanozcan.com/sap-splash-ve-build-ile-fiori-uygulamalari-tasarlayin/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Kendi Fiori uygulamalarınızı tasarladığınızı hayal edin.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;SAP, UX konusunda yepyeni, güçlü bir ürünle karşımıza çıkmaya hazırlanıyor. Geçtiğimiz haftalarda beta 4 versiyonu çıkan BUILD ürünü SAP Splash ürünüyle birlikte SAP ürün ailesindeki yerini alıyor ve &lt;strong&gt;Discover, Design, Deliver&lt;/strong&gt;üçlüsündeki parçalar yerine oturmaya başlıyor. Bu 3’lü; Fiori uygulaması geliştirirken adım adım geçtiğimiz fazları ifade ediyor.&lt;/p&gt;</description></item><item><title>Reddot Ödüllü Fiori 2.0 ile Gelen Yenilikler</title><link>https://serkanozcan.com/reddot-odullu-fiori-2-0-ile-gelen-yenilikler/</link><pubDate>Sun, 15 Nov 2015 11:37:50 +0000</pubDate><guid>https://serkanozcan.com/reddot-odullu-fiori-2-0-ile-gelen-yenilikler/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Fiori 2.0 kullanmak bir haritayı elinize alıp önce ülkeyi, sonra şehri sonra da sokağı bulmaya benziyor…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Henüz geliştirme aşamasında olan ve 2016 yılında çıkacak Fiori 2.0’ı bu sene SAP Teched Barcelona’da görüp inceleme fırsatı buldum ve izlenimlerimi paylaşmak istedim.&lt;/p&gt;</description></item><item><title>SCN MeetUp 2 Review</title><link>https://serkanozcan.com/scn-meetup-2-review/</link><pubDate>Thu, 17 Sep 2015 11:21:39 +0000</pubDate><guid>https://serkanozcan.com/scn-meetup-2-review/</guid><description>&lt;h2 id="toplulukbüyüyor-ve-renkleniyor"&gt;&lt;strong&gt;Topluluk büyüyor ve renkleniyor&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Dün gerçekleştirdiğimiz Sap Community Türkiye 2. toplantısında farklı şirketlerden, farklı alanlardan, farklı yaşlardan, farklı bakış açılarından ama ortak bir noktada buluşan kişilerden oluşan bir topluluk vardı.&lt;/p&gt;
&lt;p&gt;Toplantıya 2 gündem maddesiyle başladık. Bunlar;&lt;/p&gt;</description></item><item><title>SAP CodeJam Istanbul – ABAP for SAP HANA with Fiori</title><link>https://serkanozcan.com/sap-codejam-istanbul-abap-for-sap-hana-with-fiori/</link><pubDate>Sun, 26 Jul 2015 11:12:36 +0000</pubDate><guid>https://serkanozcan.com/sap-codejam-istanbul-abap-for-sap-hana-with-fiori/</guid><description>&lt;p&gt;Cumartesi günü gerçekleştirilen &lt;a href="http://scn.sap.com/community/events/codejam/2015/06/16/sap-codejam-istanbul--abap-with-fiori"&gt;SAP CodeJam&lt;/a&gt;‘de çok güzel bir gün geçirdik. Bu organizasyonun düzenlenmesinde büyük katkısı olan &lt;a href="http://scn.sap.com/people/abdulbasit.gulsen"&gt;Abdulbasit Gulsen&lt;/a&gt;‘e ve Abap core geliştiricileri olan &lt;a href="http://scn.sap.com/people/ingo.braeuninger"&gt;Ingo Braeuninger&lt;/a&gt; ile &lt;a href="http://scn.sap.com/people/andreas.gruenhagen"&gt;Andreas Gruenhagen&lt;/a&gt;‘a çok teşekkür ederiz.&lt;/p&gt;
&lt;p&gt;Bu CodeJam yeni nesil SAP hakkında önemli bilgiler verdi.&lt;/p&gt;</description></item><item><title>sap abap resize image</title><link>https://serkanozcan.com/sap-abap-resize-image/</link><pubDate>Fri, 26 Dec 2014 18:04:30 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-resize-image/</guid><description>&lt;p&gt;merhaba çok uzun bir aradan sonra abap ile ilgili bir paylaşım yapmak istedim. bu yazımda internette arayıp da bulamadığım bir abap kodunu paylaşacağım.&lt;/p&gt;
&lt;p&gt;abap ile bir resim dosyasını yeniden boyutlandırmanın (image resize) nasıl yapılacağını anlatacağım. bunu yaparken sap’nin &lt;strong&gt;image processor&lt;/strong&gt; sınıfını kullanacağım. &lt;strong&gt;abap image resize&lt;/strong&gt; için bize gereken sınıf; &lt;strong&gt;cl_fxs_image_processor&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>message cleaner for twitter 1.0 (twitter mesaj temizliği)</title><link>https://serkanozcan.com/message-cleaner-for-twitter-1-0-twitter-mesaj-temizligi/</link><pubDate>Sat, 01 Nov 2014 13:22:46 +0000</pubDate><guid>https://serkanozcan.com/message-cleaner-for-twitter-1-0-twitter-mesaj-temizligi/</guid><description>&lt;p&gt;Are you tired of being spammed at twitter?&lt;br&gt;
Do you want to keep your twitter inbox clean?&lt;br&gt;
Do you want to delete all your direct messages instead of marking them as read?&lt;/p&gt;</description></item><item><title>SQL Server’da Bir Veritabanını Temizleme ve Identity Sütunlarını Reset’leme (SQL Reset Identities and Data)</title><link>https://serkanozcan.com/sql-serverda-bir-veritabanini-temizleme-ve-identity-sutunlarini-resetleme/</link><pubDate>Mon, 21 Jul 2014 15:24:50 +0000</pubDate><guid>https://serkanozcan.com/sql-serverda-bir-veritabanini-temizleme-ve-identity-sutunlarini-resetleme/</guid><description>&lt;p&gt;Merhabalar;&lt;/p&gt;
&lt;p&gt;Çoğumuz biliriz. Oluşturduğumuz veritabanı, projemizde ilerledikçe testlerimiz sırasında deneme verileriyle dolar ve iyice karışır. Tüm veritabanınızı boşaltmak, identity sütunlarını reset’lemek ve ilk günkü haline getirmek için bir script yazmanız yeterli:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;/*Constraint &amp;amp; Trigger&amp;#39;ları devre dışı bırakma*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;exec&lt;/span&gt; sp_MSforeachtable &lt;span style="color:#e6db74"&gt;&amp;#39;ALTER TABLE ? NOCHECK CONSTRAINT ALL&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;exec&lt;/span&gt; sp_MSforeachtable &lt;span style="color:#e6db74"&gt;&amp;#39;ALTER TABLE ? DISABLE TRIGGER ALL&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;/*Bütün tablolardaki kayıtları silme*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;exec&lt;/span&gt; sp_MSforeachtable &lt;span style="color:#e6db74"&gt;&amp;#39;DELETE ?&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;/*Constraint &amp;amp; Trigger&amp;#39;ları yeniden etkinleştirme*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;exec&lt;/span&gt; sp_MSforeachtable &lt;span style="color:#e6db74"&gt;&amp;#39;ALTER TABLE ? CHECK CONSTRAINT ALL&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;exec&lt;/span&gt; sp_MSforeachtable &lt;span style="color:#e6db74"&gt;&amp;#39;ALTER TABLE ? ENABLE TRIGGER ALL&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;/*Identity sütunlarını reset&amp;#39;leme (yani yeniden 1&amp;#39;den başlamalarını sağlama)*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;exec&lt;/span&gt; sp_MSforeachtable &lt;span style="color:#e6db74"&gt;&amp;#39;IF OBJECTPROPERTY(OBJECT_ID(&amp;#39;&amp;#39;?&amp;#39;&amp;#39;), &amp;#39;&amp;#39;TableHasIdentity&amp;#39;&amp;#39;) = 1 BEGIN DBCC CHECKIDENT (&amp;#39;&amp;#39;?&amp;#39;&amp;#39;,RESEED,0) END&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sadece 1 tablonun identity sütununu resetlemek için;&lt;/p&gt;</description></item><item><title>tweet cleaning 1.0 (tweet temizliği)</title><link>https://serkanozcan.com/tweet-cleaning-1-0-tweet-temizligi/</link><pubDate>Fri, 14 Feb 2014 15:59:58 +0000</pubDate><guid>https://serkanozcan.com/tweet-cleaning-1-0-tweet-temizligi/</guid><description>&lt;h2 id="500000-tweets-deleted-within-5-days"&gt; &lt;strong&gt;500.000 tweets deleted within 5 days.&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Delete your old, unwanted tweets with one simple touch&lt;br&gt;
Clean your twitter history and prevent them being archived&lt;/p&gt;
&lt;p&gt;Did you know that the Library of Congress archives all undeleted tweets that are 6 months or older? After that they will then be stored forever!&lt;br&gt;
&lt;a href="http://1.usa.gov/yGw3DO"&gt;http://1.usa.gov/yGw3DO&lt;/a&gt;&lt;/p&gt;</description></item><item><title>drench plus 5.3 – dünyanın en kolay oyunu (the world’s simplest game)</title><link>https://serkanozcan.com/drench-plus-5-3-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</link><pubDate>Thu, 23 Jan 2014 16:03:34 +0000</pubDate><guid>https://serkanozcan.com/drench-plus-5-3-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</guid><description>&lt;p&gt;&lt;strong&gt;Version 5.3 (Jan 17, 2014)&lt;/strong&gt;&lt;br&gt;
• Minor bugs fixed&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Version 5.0 (Oct 11, 2013)&lt;/strong&gt;&lt;br&gt;
• Ready for IOS7&lt;br&gt;
• Challenges are now fair enough with winning gold coins&lt;br&gt;
• Added bonus points&lt;br&gt;
• Ads can be removed&lt;/p&gt;</description></item><item><title>speedy plus 2.0 (fast and furious board game)</title><link>https://serkanozcan.com/speedy-plus-2-0-fast-and-furious-board-game/</link><pubDate>Thu, 23 Jan 2014 15:52:48 +0000</pubDate><guid>https://serkanozcan.com/speedy-plus-2-0-fast-and-furious-board-game/</guid><description>&lt;p&gt;&lt;strong&gt;2.0 Sürümündeki Yenilikler&lt;/strong&gt;&lt;br&gt;
• Zorluk derecesi değiştirildi&lt;br&gt;
• Destekleyiciler eklendi&lt;br&gt;
• Uygulama içi satın alım eklendi&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What’s New in Version 2.0&lt;/strong&gt;&lt;br&gt;
• Diffuculty factors changed&lt;br&gt;
• Powerups added&lt;br&gt;
• App-in purchases added&lt;/p&gt;</description></item><item><title>speedy plus 1.0 (fast and furious board game)</title><link>https://serkanozcan.com/speedy-plus-1-0-fast-and-furious-board-game/</link><pubDate>Mon, 06 Jan 2014 22:50:44 +0000</pubDate><guid>https://serkanozcan.com/speedy-plus-1-0-fast-and-furious-board-game/</guid><description>&lt;p&gt;merhaba arkadaşlar size bu yazımda geliştirmiş olduğum ikinci oyun &lt;strong&gt;speedy plus&lt;/strong&gt;‘ı tanıtacağım. oyunu kolay ve zor olarak iki bölüme ayırdım. kolay veya zorluğu da renk farklılığının sayısına bağlı olarak değişiyor. oyunun arayüzü aşağıdaki gibi;&lt;/p&gt;</description></item><item><title>sap abap xml string içerisinden regex ile veri ayıklamak (abap extract string)</title><link>https://serkanozcan.com/sap-abap-xml-string-icerisinden-regex-ile-veri-ayiklamak-abap-extract-string/</link><pubDate>Thu, 14 Nov 2013 17:18:16 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-xml-string-icerisinden-regex-ile-veri-ayiklamak-abap-extract-string/</guid><description>&lt;p&gt;merhaba bu yazımda, elimizdeki bir &lt;strong&gt;xml string&lt;/strong&gt; içerisinden belli bir tag arasındaki verileri nasıl çekeceğimizi anlatacağım. bunu yaparken sap’nin &lt;strong&gt;regular expression&lt;/strong&gt; sınıflarını kullanacağım. &lt;strong&gt;abap regular expression&lt;/strong&gt; için bize iki adet sınıf gerekiyor; &lt;strong&gt;cl_abap_regex&lt;/strong&gt; ve &lt;strong&gt;cl_abap_matcher&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>ios 7 ile meydan okuma gönderimi (send challenge in ios 7)</title><link>https://serkanozcan.com/ios-7-ile-meydan-okuma-gonderimi-send-challenge-in-ios-7/</link><pubDate>Mon, 07 Oct 2013 15:25:20 +0000</pubDate><guid>https://serkanozcan.com/ios-7-ile-meydan-okuma-gonderimi-send-challenge-in-ios-7/</guid><description>&lt;p&gt;merhaba arkadaşlar, &lt;strong&gt;ios 7&lt;/strong&gt; ile birlikte &lt;strong&gt;meydan okuma sistemi&lt;/strong&gt; tamamen değişmiştir. artık oyuncuya meydan okuyacağı kişileri seçtirmeden meydan okuma gönderme mümkün değildir.&lt;br&gt;
yeni sisteme göre aşağıdaki kod bloğuyla meydan okuma gönderimi yapabiliriz.&lt;br&gt;
bu kodda önce oyuncunun &lt;strong&gt;game center&lt;/strong&gt;‘daki bütün arkadaş listesini seçip bu listeyi ekrana basıyoruz. daha sonra oyuncunun meydan okuma için seçtiği diğer oyunculara meydan okuma gönderiyoruz.&lt;/p&gt;</description></item><item><title>saplogon.ini dosyası nerede bulunur?</title><link>https://serkanozcan.com/saplogon-ini-dosyasi-nerede-bulunur/</link><pubDate>Wed, 04 Sep 2013 14:22:34 +0000</pubDate><guid>https://serkanozcan.com/saplogon-ini-dosyasi-nerede-bulunur/</guid><description>&lt;p&gt;Küçük bir ipucu olarak sizinle &lt;strong&gt;saplogon.ini&lt;/strong&gt; dosyasının bilgisayarınızda nerede bulunduğunu paylaşacağım.&lt;/p&gt;
&lt;p&gt;Windows 7 ve Windows 8&lt;br&gt;
C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\SAP\Common\saplogon.ini&lt;br&gt;
C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\SAP\Common\SapLogonTree.xml&lt;br&gt;
C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\SAP\Common\saprules.xml&lt;br&gt;
C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\SAP\Common\sapshortcut.ini&lt;/p&gt;
&lt;p&gt;XP&lt;br&gt;
C:\Windows\saplogon.ini&lt;/p&gt;
&lt;p&gt;&lt;a href="https://serkanozcan.com/media/wp/sap-logon.png"&gt;&lt;img src="https://serkanozcan.com/media/wp/sap-logon-300x130.png" alt="sap logon"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>drench plus 4.2 – dünyanın en kolay oyunu (the world’s simplest game)</title><link>https://serkanozcan.com/drench-plus-4-2-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</link><pubDate>Thu, 22 Aug 2013 12:47:22 +0000</pubDate><guid>https://serkanozcan.com/drench-plus-4-2-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</guid><description>&lt;p&gt;4.2 Sürümündeki Yenilikler&lt;br&gt;
• Uygulama içi satın alımlarda hile önleyici sistem eklendi&lt;br&gt;
• Uygulama ikonu değiştirildi&lt;br&gt;
• Yeni uygulama içi satın alımları eklendi&lt;/p&gt;
&lt;p&gt;What’s New in Version 4.2&lt;br&gt;
• Implemented anti-cheating system for app-in purchases&lt;br&gt;
• Changed app icon&lt;br&gt;
• Added new app-in purchases&lt;/p&gt;</description></item><item><title>sap abap dinamik program oluşturma ve silme (gizli abap kodu çalıştırma)</title><link>https://serkanozcan.com/sap-abap-dinamik-program-olusturma-ve-silme/</link><pubDate>Tue, 13 Aug 2013 14:13:08 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-dinamik-program-olusturma-ve-silme/</guid><description>&lt;p&gt;merhaba, size bugün abap ile dinamik programların nasıl oluşturulduğunu anlatacağım. geliştirmiş olduğum program ile herhangi bir text dökümanına abap kodları yazıp, sisteme import edip, programı çalıştırıp, hemen sonrasında da silebiliriz. sistemde repository objelerinin değiştirilmesi yasak olsa bile bu program ile kodlarımızı yükleyip çalıştırabiliyoruz. (yani canlı sistemlerde de işe yarıyor). çok fazla laf kalabalığı yapmadan abap kodunu ekliyorum. güle güle kullanın.&lt;/p&gt;</description></item><item><title>sap pi web servisinden kullanıcı adı ve şifreyi kaldırma yöntemi</title><link>https://serkanozcan.com/sap-pi-web-servisinden-kullanici-adi-ve-sifreyi-kaldirma-yontemi/</link><pubDate>Tue, 06 Aug 2013 13:21:59 +0000</pubDate><guid>https://serkanozcan.com/sap-pi-web-servisinden-kullanici-adi-ve-sifreyi-kaldirma-yontemi/</guid><description>&lt;p&gt;merhaba, sanırım güvenlik nedeniyle sap pi sistemi üzerinden oluşturulan web servislerden kullanıcı adı ve şifreyi kaldıramıyoruz. bunu yapabilmek için araya bir katman yerleştirmemiz gerekiyor. bu katmanı araya koyarak web servisin uç noktasını da değiştirmiş oluyoruz. çalışmanın sonunda elde edeceğimiz uç noktası şu şekilde olacak; &lt;strong&gt;http://[domain]:50000/sap/bc/icf/[servis adı]&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>drench plus 4.0 – dünyanın en kolay oyunu (the world’s simplest game)</title><link>https://serkanozcan.com/drench-plus-4-0-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</link><pubDate>Mon, 22 Jul 2013 16:04:55 +0000</pubDate><guid>https://serkanozcan.com/drench-plus-4-0-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</guid><description>&lt;p&gt;4.0 Sürümündeki Yenilikler&lt;br&gt;
• Başarılar eklendi&lt;br&gt;
• Altın para sistemi getirildi&lt;br&gt;
• Menü ekranı eklendi&lt;/p&gt;
&lt;p&gt;What’s New in Version 4.0&lt;br&gt;
• Added achievements&lt;br&gt;
• Implemented Gold Coin System&lt;br&gt;
• Added Menu Screen&lt;/p&gt;</description></item><item><title>drench plus 3.2 – dünyanın en kolay oyunu (the world’s simplest game)</title><link>https://serkanozcan.com/drench-plus-3-2-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</link><pubDate>Wed, 03 Jul 2013 13:37:18 +0000</pubDate><guid>https://serkanozcan.com/drench-plus-3-2-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</guid><description>&lt;p&gt;3.2 Sürümündeki Yenilikler&lt;br&gt;
• Meydan okuma düzeltildi&lt;br&gt;
• Günün en iyisinin puanı ve fotoğrafı eklendi&lt;/p&gt;
&lt;p&gt;What’s New in this Version&lt;br&gt;
• Fixed challenge request&lt;br&gt;
• Added best of the day score and photo&lt;/p&gt;</description></item><item><title>ios view içerisinden uygulamanın arkaplana düşmesini yakalama</title><link>https://serkanozcan.com/ios-view-icerisinden-uygulamanin-arkaplana-dusmesini-yakalama/</link><pubDate>Mon, 01 Jul 2013 22:24:49 +0000</pubDate><guid>https://serkanozcan.com/ios-view-icerisinden-uygulamanin-arkaplana-dusmesini-yakalama/</guid><description>&lt;p&gt;merhaba arkadaşlar,&lt;br&gt;
ios programlamada uygulamanın ön planda mı yoksa arka planda mı olduğunu &lt;strong&gt;AppDelegate&lt;/strong&gt; içerisinde yakalamak zorunda değiliz. istersek uygulamanın bu durumlarını yakalayabileceğimiz **observer’**ları ilgili view içerisine ekleyebiliriz. aşağıdaki örneğimde bir adet &lt;strong&gt;timer&lt;/strong&gt; nesnesi var. uygulama arka plana düştüğünde &lt;strong&gt;timer&lt;/strong&gt;‘ı durduruyorum ön plana geldiğinde tekrar başlatıyorum.&lt;/p&gt;</description></item><item><title>sap abap şifre kırma programı (sap pasword cracking)</title><link>https://serkanozcan.com/sap-abap-sifre-kirma-programi-sap-pasword-cracking/</link><pubDate>Thu, 27 Jun 2013 15:04:42 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-sifre-kirma-programi-sap-pasword-cracking/</guid><description>&lt;p&gt;merhaba arkadaşlar, sizinle bugün sap’nin açıklarını paylaşıyorum. &lt;strong&gt;brute force&lt;/strong&gt; diye tabir ettiğimiz yöntemi kullanarak sap sistemindeki bütün kullanıcıların şifrelerinin elimizdeki şifre listesine uyup uymadığını kontrol edebiliriz. eğer kullanıcı kolay bir şifre kullanıyorsa bunu görebiliriz. bu programı daha çok sistem yöneticilerinin kullanımı için paylaşıyorum.&lt;/p&gt;</description></item><item><title>sap yetki sahibi olmadığınız işlem kodlarına giriş yöntemi</title><link>https://serkanozcan.com/sap-yetki-sahibi-olmadiginiz-islem-kodlarina-giris-yontemi/</link><pubDate>Thu, 27 Jun 2013 14:11:29 +0000</pubDate><guid>https://serkanozcan.com/sap-yetki-sahibi-olmadiginiz-islem-kodlarina-giris-yontemi/</guid><description>&lt;p&gt;merhaba arkadaşlar, bir abap danışmanı için yetki problemlerini aşmak her zaman mümkündür. debug yaparak aşamayacağı kontrol yok denecek kadar azdır. yalnız debug yapmayı bilmeyen arkadaşlar için çok kolay bir yöntem daha var. eğer sap kullanıcınızın &lt;strong&gt;se37&lt;/strong&gt; yetkisi varsa bütün işlem kodlarına yetki problemi yaşamadan girebilirsiniz.&lt;/p&gt;</description></item><item><title>yazılım dilleri yazarlığı</title><link>https://serkanozcan.com/yazilim-dilleri-yazarligi/</link><pubDate>Tue, 25 Jun 2013 22:17:09 +0000</pubDate><guid>https://serkanozcan.com/yazilim-dilleri-yazarligi/</guid><description>&lt;p&gt;merhaba arkadaşlar, bugünden itibaren blogumla eşzamanlı olarak &lt;a href="http://www.yazilimdilleri.net/"&gt;yazilimdilleri.net&lt;/a&gt; adresinde de paylaşımlarıma devam edeceğim.&lt;/p&gt;
&lt;p&gt;ayrıca bugüne kadar ios konusunda çok paylaşım yapmadım fakat ileride ios ile alakalı makaleler de yazacağım. takipte kalın…&lt;/p&gt;
&lt;p&gt;&lt;img src="https://serkanozcan.com/media/wp/YazilimDilleri_Yazar.png" alt="YazilimDilleri Yazar"&gt;&lt;/p&gt;</description></item><item><title>drench plus 3.1 – dünyanın en kolay oyunu (the world’s simplest game)</title><link>https://serkanozcan.com/drench-plus-3-1-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</link><pubDate>Thu, 13 Jun 2013 16:31:53 +0000</pubDate><guid>https://serkanozcan.com/drench-plus-3-1-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</guid><description>&lt;p&gt;&lt;strong&gt;3.1 Sürümündeki Yenilikler&lt;/strong&gt;&lt;br&gt;
• Şekilleri kaldırma opsiyonu eklendi&lt;br&gt;
• Animasyonları kaldırma opsiyonu eklendi&lt;br&gt;
• Ayarlar butonu eklendi&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3.0 Sürümündeki Yenilikler&lt;/strong&gt;&lt;br&gt;
• Geliştirilmiş yeni arayüz&lt;br&gt;
• Geliştirilmiş performans&lt;br&gt;
• Optimize edilmiş bellek kullanımı&lt;br&gt;
• Çocuklar için eklenen şekiller&lt;br&gt;
• Nasıl oynanır videosu&lt;/p&gt;</description></item><item><title>java dom ile xml içerisinden prefix’leri silme (remove prefix from xml, using java dom)</title><link>https://serkanozcan.com/java-dom-ile-xml-icerisinden-prefixleri-silme-remove-prefix-from-xml-using-java-dom/</link><pubDate>Fri, 17 May 2013 10:10:15 +0000</pubDate><guid>https://serkanozcan.com/java-dom-ile-xml-icerisinden-prefixleri-silme-remove-prefix-from-xml-using-java-dom/</guid><description>&lt;p&gt;org.w3c.dom kütüphanesini kullanarak yazdığım aşağıdaki metod ile xml dökümanınızdan bütün prefix’leri silebilirsiniz. kod önce root node’dan başlayarak bütün child node’ların prefix’lerini rekürsif olarak siliyor.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;static&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;removePrefix&lt;/span&gt;(Node nd){
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		nd.&lt;span style="color:#a6e22e"&gt;setPrefix&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		NodeList nl &lt;span style="color:#f92672"&gt;=&lt;/span&gt; nd.&lt;span style="color:#a6e22e"&gt;getChildNodes&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt;(&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; i &lt;span style="color:#f92672"&gt;=&lt;/span&gt; 0; i &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; nl.&lt;span style="color:#a6e22e"&gt;getLength&lt;/span&gt;(); i&lt;span style="color:#f92672"&gt;++&lt;/span&gt;){
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			Node ndd &lt;span style="color:#f92672"&gt;=&lt;/span&gt; nl.&lt;span style="color:#a6e22e"&gt;item&lt;/span&gt;(i);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;(ndd.&lt;span style="color:#a6e22e"&gt;getNodeType&lt;/span&gt;() &lt;span style="color:#f92672"&gt;==&lt;/span&gt; Node.&lt;span style="color:#a6e22e"&gt;ELEMENT_NODE&lt;/span&gt; ){
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;				removePrefix(ndd);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Örnek kullanım;&lt;/p&gt;</description></item><item><title>drench plus 2.0 – dünyanın en kolay oyunu (the world’s simplest game)</title><link>https://serkanozcan.com/drench-plus-2-0-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</link><pubDate>Fri, 17 May 2013 09:41:12 +0000</pubDate><guid>https://serkanozcan.com/drench-plus-2-0-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</guid><description>&lt;h4 id="20-sürümündeki-yenilikler"&gt;2.0 Sürümündeki Yenilikler&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Artık Ipad versiyonu da mevcut&lt;/li&gt;
&lt;li&gt;Hile önleyici sistem eklendi&lt;/li&gt;
&lt;li&gt;Artık reklamlarla birlikte daha fazla hamle hakkınız mevcut&lt;/li&gt;
&lt;li&gt;Bildirim sistemi eklendi&lt;/li&gt;
&lt;li&gt;Game center meydan okuma sistemi eklendi&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://itunes.apple.com/tr/app/drench-plus/id617693248?mt=8" title="https://itunes.apple.com/tr/app/drench-plus/id617693248?mt=8"&gt;indirmek için tıklayın&lt;/a&gt;&lt;/p&gt;</description></item><item><title>sanal sunucuya (vps) geçiş</title><link>https://serkanozcan.com/sanal-sunucuya-vps-gecis/</link><pubDate>Sun, 14 Apr 2013 06:36:23 +0000</pubDate><guid>https://serkanozcan.com/sanal-sunucuya-vps-gecis/</guid><description>&lt;p&gt;merhaba, artık serkanozcan.com ve bundan sonra oluşturacağım projeler için almanya’da bir sanal sunucum var. sunucuya windows işletim sistemi kurduğum için siteyi sunucu üzerine alırken epey zorluklar çıktı ama sonunda bütün sorunları çözmeyi başardım.&lt;br&gt;
&lt;img src="https://serkanozcan.com/media/wp/vps1-280x300.jpg" alt="vps1"&gt;&lt;br&gt;
öncelikle vps nedir, faydaları nelerdir onlardan bahsedeyim. fiziksel sunucuyu bir devlet gibi, sanal sunucuları da bu devletin eyaletleri gibi düşünebilirsiniz. bir fiziksel sunucu birden fazla sanal sunucu barındırabilir. bu sanal sunucular fiziksel sunucunun bellek, işlemci ve sabit diskinin belli bir parçasını sadece kendileri kullanırken fiziksel sunucunun geri kalan bileşenlerini diğer sanal sunucularla ortak kullanır. &lt;strong&gt;sanal sunucular, gerçek bir sunucu gibi işletim sistemine sahiptir.&lt;/strong&gt; bu nedenle klasik web hosting paketlerinde size sunulanı kabul etmeniz gerekirken sanal sunucu üzerinde her türlü programı kurabilir, sunucu ayarlarınızı değiştirebilirsiniz. güvenlik tamamen sizin elinizdedir. yasaları siz koyarsınız. &lt;strong&gt;her sanal sunucunun kendine özel bir ip adresi mevcuttur.&lt;/strong&gt;&lt;br&gt;
benim sunucunun global ip adresi &lt;a href="http://46.20.34.210/"&gt;46.20.34.210&lt;/a&gt; olarak belirlenmiştir.&lt;/p&gt;</description></item><item><title>sap abap import edilen parametrenin değerini değiştirme</title><link>https://serkanozcan.com/sap-abap-import-edilen-parametrenin-degerini-degistirme/</link><pubDate>Fri, 22 Mar 2013 15:44:27 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-import-edilen-parametrenin-degerini-degistirme/</guid><description>&lt;p&gt;merhaba size şu an anlatacağım konuyu tam olarak anlayabilirseniz standart programlardaki değişken değerlerini bile repair yapmadan değiştirebilirsiniz. şimdi &lt;strong&gt;zdeneme&lt;/strong&gt; diye bir rapor oluşturalım. bu raporda &lt;strong&gt;lv_name&lt;/strong&gt; adında local bir değişken tanımlayalım ve bu değişkeni bir fonksiyona export edip, fonksiyondan dönen değer ile birlikte ekrana yazdıralım. normal şartlarda export ettiğimiz değişkenin değerinin değişmemesi gerekiyor. ama bunu &lt;strong&gt;field symbol&lt;/strong&gt; kullanarak değiştirebiliriz. aşağıdaki fonksiyonda fonksiyonu çağıran programın içindeki değişkene bellekten erişip değerini değiştiriyoruz.&lt;/p&gt;</description></item><item><title>drench plus – dünyanın en kolay oyunu (the world’s simplest game)</title><link>https://serkanozcan.com/drench-plus-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</link><pubDate>Thu, 21 Mar 2013 15:47:48 +0000</pubDate><guid>https://serkanozcan.com/drench-plus-dunyanin-en-kolay-oyunu-the-worlds-simplest-game/</guid><description>&lt;p&gt;merhaba, ocak ayında yaptığım iş değişikliğinden dolayı burada çok fazla paylaşım yapamaz oldum ama yavaş yavaş yazılarımı artırmayı planlıyorum.&lt;br&gt;
size bugün yeni yazdığım ve apple store’da yayınlanan drench plus oyunumu tanıtacağım. oyun dünyanın en kolay oyunu olarak biliniyor. çok basit bir arayüze sahip. sadece 6 butona tıklanarak oynanıyor. oyundaki amaç bütün ekranı aynı renge boyamak ve oyun sonunda en yüksek puana sahip olmak. bunun için sol üst köşeden başlayarak komşu renkleri ana renge katarak ilerlemeniz gerekiyor. ana renge kattığınız son renk ana renk olarak belirleniyor ve bu renkteki buton inaktif hale geliyor.&lt;/p&gt;</description></item><item><title>sap abap adobe forms dinamik resim üretme</title><link>https://serkanozcan.com/sap-abap-adobe-forms-dinamik-resim-uretme/</link><pubDate>Tue, 15 Jan 2013 16:57:45 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-adobe-forms-dinamik-resim-uretme/</guid><description>&lt;p&gt;merhaba, bu yazıda sap adobe forms çıktılarında satır bazında dinamik resim nasıl üretilir onu anlatacağım. örnek olarak site ismi ve site logosu ekrana basan bir çıktı oluşturalım. bunun için öncelikle &lt;strong&gt;zzz_s_website&lt;/strong&gt; adında bir structure ve &lt;strong&gt;zzz_tt_website&lt;/strong&gt; adında bir table type yaratıyoruz. &lt;strong&gt;zzz_tt_website&lt;/strong&gt; satır tipini &lt;strong&gt;zzz_s_website&lt;/strong&gt; olarak belirliyoruz.&lt;/p&gt;</description></item><item><title>sap abap xml dom parser (tcmb kur verisini çekme)</title><link>https://serkanozcan.com/sap-abap-xml-dom-parser-tcmb-kur-verisini-cekme/</link><pubDate>Tue, 15 Jan 2013 10:34:51 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-xml-dom-parser-tcmb-kur-verisini-cekme/</guid><description>&lt;p&gt;merhaba, bu yazımda abap ile xml dosyasını nasıl parse edeceğimizi anlatacağım. öncelikle örnek olarak belirlediğimiz &lt;strong&gt;tcmb&lt;/strong&gt;‘nin bize sağladığı &lt;strong&gt;today.xml&lt;/strong&gt; dosyasını &lt;strong&gt;cl_http_client&lt;/strong&gt; sınıfını kullanarak içeriğini string formatında çekeriz. daha sonra bu veriyi &lt;strong&gt;xstring&lt;/strong&gt; formatına çevirip &lt;strong&gt;abap xml parser&lt;/strong&gt;‘ın kullanımına hazır hale getiririz. &lt;strong&gt;if_ixml_parser&lt;/strong&gt; arayüzünün parse metodunu kullanarak xml verimizin hiyerarşik yapısını çıkarmış oluruz. burada bir hata çıkarsa xml dosyası standartlara uygun değil demektir. bu adımdan sonra tek yapmamız gereken bize gerekli olan currency düğümlerini çekmek ve bu bilgileri ekrana yazmak. bunu düğüm iterasyonu ile yapabiliriz. aşağıdaki örnekte iterasyon bitene kadar verileri çekip bunları sırayla ekrana basıyorum.&lt;/p&gt;</description></item><item><title>sap abap seçim parametreleri ve alv grid bir arada dinamik ekran tasarımı</title><link>https://serkanozcan.com/sap-abap-secim-parametreleri-ve-alv-grid-bir-arada-dinamik-ekran-tasarimi/</link><pubDate>Mon, 07 Jan 2013 23:09:15 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-secim-parametreleri-ve-alv-grid-bir-arada-dinamik-ekran-tasarimi/</guid><description>&lt;p&gt;istersek seçim ekranından “AT SELECTION-SCREEN OUTPUT” yardımıyla “EXECUTE” butonunu kaldırabiliriz ve raporumuzun “AT SELECTION-SCREEN” yardımıyla “ENTER” tuşuna basıldığında oluşmasını sağlayabiliriz.&lt;br&gt;
daha sonra rapor alv gridimizin büyüklüğünü belirleyip bir “DOCKING CONTAINER” oluşturabiliriz. istersek bu container’ı “SPLITTER CONTAINER” ile parçalara ayırabiliriz. ama ben aşağıdaki örnekte bu “DOCKING CONTAINER” içerisine tek parça halinde bir alv grid ekledim. alv gridime “TOOLBAR” ekleyip buradan basılacak herhangi bir butonu handle etmek için ise “EVENT LISTENER” oluşturdum. bazı hücrelerin bir takım koşullarda kullanıcı girişine açık olmasını sağlayabilmek için de “CELL STYLE” oluşturdum. aşağıdaki örnekte teslimattan mal girişi yani 501 mal hareketi yapan programımı görebilirsiniz.&lt;/p&gt;</description></item><item><title>sap modülleri, sap modül listesi (sap modules)</title><link>https://serkanozcan.com/sap-modulleri-sap-modul-listesi-sap-modules/</link><pubDate>Sun, 06 Jan 2013 22:08:36 +0000</pubDate><guid>https://serkanozcan.com/sap-modulleri-sap-modul-listesi-sap-modules/</guid><description>&lt;h1 id="sap-modülleri-sap-modül-listesi"&gt;Sap Modülleri, Sap Modül Listesi&lt;/h1&gt;
&lt;p&gt;SAP modüllerini 4 ayrı başlık altında toplayabiliriz.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;SAP Fonksiyonel Modüller&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SAP Teknik Modüller&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SAP Yeni Modülleri&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SAP Sektörlere Özel Çözümler&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="https://serkanozcan.com/sap-modulleri-sap-modul-listesi-sap-modules/sap-modulleri/"&gt;&lt;img src="https://serkanozcan.com/media/wp/sap-mod%C3%BClleri-300x173.jpg" alt="sap modülleri"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="sap-fonksiyonel-modüller"&gt;SAP Fonksiyonel Modüller:&lt;/h2&gt;
&lt;p&gt;1. SAP &lt;strong&gt;FI&lt;/strong&gt; modülü: FI Genel Muhasebe (Financial Accounting)&lt;br&gt;
2. SAP &lt;strong&gt;CO&lt;/strong&gt; modülü: CO Kontrol (Controlling)&lt;br&gt;
3. SAP &lt;strong&gt;CRM&lt;/strong&gt; modülü: CRM Müşteri İlişkileri Yönetimi (Customer Relationship Management)&lt;br&gt;
4. SAP &lt;strong&gt;CS&lt;/strong&gt; modülü: CS Müşteri Servisi (Customer Service)&lt;br&gt;
5. SAP &lt;strong&gt;EC&lt;/strong&gt; modülü: EC Kurumsal Kontrol (Enterprise Controlling)&lt;br&gt;
6. SAP &lt;strong&gt;EHS&lt;/strong&gt; modülü: EHS Çevre, Sağlık ve Güvenlik (Environment, Health &amp;amp; Safety)&lt;br&gt;
7. SAP &lt;strong&gt;FM&lt;/strong&gt; modülü: FM Filo Yönetimi (Fleet Management)&lt;br&gt;
8. SAP &lt;strong&gt;FSCM&lt;/strong&gt; modülü: FSCM Finansal Tedarik Zinciri Yönetimi (Financial Supply Chain Management)&lt;br&gt;
9. SAP &lt;strong&gt;HR&lt;/strong&gt; modülü: HR İnsan Kaynakları (Human Resources)&lt;br&gt;
10. SAP &lt;strong&gt;IM&lt;/strong&gt; modülü: IM Yatırım Yönetimi (Investment Management)&lt;br&gt;
11. SAP &lt;strong&gt;MM&lt;/strong&gt; modülü: MM Malzeme Yönetimi (Materials Management)&lt;br&gt;
12. SAP &lt;strong&gt;PLM&lt;/strong&gt; modülü: PLM Ürün Yaşam Döngüsü Yönetimi (Product Life Cycle Management)&lt;br&gt;
13. SAP &lt;strong&gt;PM&lt;/strong&gt; modülü: PM Bakım Onarım (Plant Maintenance)&lt;br&gt;
14. SAP &lt;strong&gt;PP&lt;/strong&gt; modülü: PP Üretim Planlama (Production Planning)&lt;br&gt;
15. SAP Ürün Maliyetlendirme: Tamamlanmış Ürünlerin Fiili Maliyetlendirme ve Maliyet Planı (Product Costing)&lt;br&gt;
16. SAP &lt;strong&gt;PS&lt;/strong&gt; modülü: PS Proje Sistemleri (Project Systems)&lt;br&gt;
17. SAP &lt;strong&gt;QM&lt;/strong&gt; modülü: QM Kalite Yönetimi (Quality Management)&lt;br&gt;
18. SAP &lt;strong&gt;RE&lt;/strong&gt; modülü: RE Emlak (Real Estate)&lt;br&gt;
19. SAP &lt;strong&gt;SD&lt;/strong&gt; modülü: SD Satış ve Dağıtım (Sales and Distribution)&lt;br&gt;
20. SAP &lt;strong&gt;SM&lt;/strong&gt; modülü: SM Servis Yönetimi (Service Management)&lt;br&gt;
21. SAP &lt;strong&gt;TR&lt;/strong&gt; modülü: TR Maliye (Treasury)&lt;br&gt;
22. SAP &lt;strong&gt;WM&lt;/strong&gt; modülü: WM Depo Yönetimi (Warehouse Management)&lt;br&gt;
23. SAP &lt;strong&gt;LO&lt;/strong&gt; modülü: LO Genel Lojistik (Logistics General)&lt;/p&gt;</description></item><item><title>windows mobile cihazların UUID ve IMEI numaralarını bulma</title><link>https://serkanozcan.com/windows-mobile-cihazlarin-uuid-ve-imei-numaralarini-bulma/</link><pubDate>Thu, 03 Jan 2013 12:26:09 +0000</pubDate><guid>https://serkanozcan.com/windows-mobile-cihazlarin-uuid-ve-imei-numaralarini-bulma/</guid><description>&lt;p&gt;windows pocket pc, pda, mobile cihazlarda cihazın kendine özgü numarasını bulmak için compact işletim sistemindeki &lt;strong&gt;coredll.dll&lt;/strong&gt; dosyası kullanılır. bu dosyayı kullanan ve &lt;strong&gt;GetDeviceID&lt;/strong&gt;, &lt;strong&gt;GetIMEI&lt;/strong&gt; metodları olan &lt;strong&gt;DeviceInfo&lt;/strong&gt; sınıfını aşağıda ve örnek kullanımını aşağıda paylaşıyorum.&lt;/p&gt;</description></item><item><title>adobe flex 3 string replace fonksiyonu</title><link>https://serkanozcan.com/adobe-flex-3-string-replace-fonksiyonu/</link><pubDate>Mon, 10 Dec 2012 18:15:32 +0000</pubDate><guid>https://serkanozcan.com/adobe-flex-3-string-replace-fonksiyonu/</guid><description>&lt;p&gt;öncelikle adobe flex 3 sdk’sında string sınıfının içindeki replace metodunun parametre olarak sadece regular expression deyimini kabul ettiğini söyleyeyim. o nedenle regular expression bilmeyen ölsün mü diyerek de sizinle hemen aşağıdaki parametre olarak string kabul eden str_replace fonksiyonumu paylaşayım.&lt;/p&gt;</description></item><item><title>sap sorgu yaratma, hazırlama (sq01, sq02, sq03)</title><link>https://serkanozcan.com/sap-sorgu-yaratma-hazirlama-sq01-sq02-sq03/</link><pubDate>Fri, 07 Dec 2012 15:43:40 +0000</pubDate><guid>https://serkanozcan.com/sap-sorgu-yaratma-hazirlama-sq01-sq02-sq03/</guid><description>&lt;p&gt;bir abap danışmanı olarak kariyerim boyunca hiçbir zaman sorgu yaratma ihtiyacı duymadım fakat anahtar kullanıcılar ve modül danışmanları için faydalı olabilecek olan sap sisteminde bir sorgu nasıl yaratılır onu anlatacağım. bu sorguda malzeme ana verisi ve üretim yerleri bilgileri olacak.&lt;/p&gt;</description></item><item><title>sap abap programlarını indirme programı (download sap program)</title><link>https://serkanozcan.com/sap-abap-programlarini-indirme-programi-download-sap-program/</link><pubDate>Fri, 23 Nov 2012 15:22:29 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-programlarini-indirme-programi-download-sap-program/</guid><description>&lt;p&gt;merhabalar, vakit bulup da anlatılacaklar listeme bir türlü el atamadım ama şimdilik bir abap danışmanının işini en çok kolaylaştıracak olan sistemde yapılmış örnek programları bilgisayarınıza yükleyebileceğiniz programı aşağıda paylaşıyorum. güle güle kullanın!&lt;/p&gt;</description></item><item><title>sap işlem kodu ile user exit bulma ve user exit implementasyonu (badi, enhancement, program exit, bte, workflow)</title><link>https://serkanozcan.com/sap-islem-kodu-ile-user-exit-bulma-ve-user-exit-implementasyonu-badi-enhancement-program-exit-bte-workflow/</link><pubDate>Fri, 16 Nov 2012 18:50:13 +0000</pubDate><guid>https://serkanozcan.com/sap-islem-kodu-ile-user-exit-bulma-ve-user-exit-implementasyonu-badi-enhancement-program-exit-bte-workflow/</guid><description>&lt;p&gt;sap’de eğer standart kodların çalışmasına müdahele etmek istiyorsak bunu user exit kullanarak yapabiliriz. sap bize standart akışa müdahele edebileceğimiz çeşitli noktalar sunmuştur fakat bunu mümkün olduğunca karışık yapmıştır ki herkes olaya müdahil olamasın : )&lt;/p&gt;</description></item><item><title>sap malzeme ana verisine alan ekleme – mm01mm02mm03 screen exit implementasyonu</title><link>https://serkanozcan.com/sap-malzeme-ana-verisine-alan-ekleme-mm01-mm02-mm03-screen-exit-implementasyonu/</link><pubDate>Wed, 14 Nov 2012 14:06:46 +0000</pubDate><guid>https://serkanozcan.com/sap-malzeme-ana-verisine-alan-ekleme-mm01-mm02-mm03-screen-exit-implementasyonu/</guid><description>&lt;p&gt;bu yazımda sap’de malzeme ana verisine ek alan açıp bu ek alanları malzeme ana verileri bakım ekranlarına yerleştirmeyi baştan sona bütün adımlarıyla anlatacağım. şu ana kadar aramalarım sonucunda bu konuyu tam anlamıyla anlatan bir kaynağa henüz rastlamadım ve bu konuya değinmem gerektiğini düşündüm.&lt;/p&gt;</description></item><item><title>arama motoru optimizasyonu için etkili yöntemler (effective methods of search engine optimization)</title><link>https://serkanozcan.com/arama-motoru-optimizasyonu-icin-etkili-yontemler-effective-methods-of-search-engine-optimization/</link><pubDate>Tue, 13 Nov 2012 21:05:21 +0000</pubDate><guid>https://serkanozcan.com/arama-motoru-optimizasyonu-icin-etkili-yontemler-effective-methods-of-search-engine-optimization/</guid><description>&lt;p&gt;&lt;a href="https://serkanozcan.com/media/wp/SEO-guide.jpg"&gt;&lt;img src="https://serkanozcan.com/media/wp/SEO-guide-300x200.jpg" alt="" title="SEO Perfect Company"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1- Başlık Uzunluğu&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sayfa başlık uzunluğu &lt;strong&gt;70&lt;/strong&gt; karakterden az olmalıdır.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2- Anahtar Kelime Uzunluğu&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Meta Keywords uzunluğu &lt;strong&gt;260&lt;/strong&gt; karakterden az olmalıdır. Fazla olması, spam şüphesi sebebiyle seo açısından sakınca oluşturabilmektedir.&lt;/p&gt;</description></item><item><title>sap abap bcs ile mail gönderme fonksiyonu (business communication service)</title><link>https://serkanozcan.com/sap-abap-bcs-ile-mail-gonderme-fonksiyonu-business-communication-service/</link><pubDate>Fri, 09 Nov 2012 10:19:29 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-bcs-ile-mail-gonderme-fonksiyonu-business-communication-service/</guid><description>&lt;p&gt;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.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-abap" data-lang="abap"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;FUNCTION&lt;/span&gt; zbc_f_send_mail.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34;----------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34;*&amp;#34;Local Interface:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; IMPORTING&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; REFERENCE(SUBJECT) TYPE SO_OBJ_DES&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; REFERENCE(MESSAGE_BODY) TYPE BCSY_TEXT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; REFERENCE(ATTACHMENTS) TYPE RMPS_T_POST_CONTENT OPTIONAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; REFERENCE(SENDER_UID) TYPE SYUNAME OPTIONAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; REFERENCE(RECIPIENT_UID) TYPE SYUNAME OPTIONAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; REFERENCE(SENDER_MAIL) TYPE ADR6-SMTP_ADDR OPTIONAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; REFERENCE(RECIPIENT_MAIL) TYPE ADR6-SMTP_ADDR OPTIONAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; REFERENCE(I_TYPE) TYPE SO_OBJ_TP OPTIONAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; EXPORTING&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; REFERENCE(RESULT) TYPE BOOLEAN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; TABLES&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34; RECIPIENTS STRUCTURE ADR6 OPTIONAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*&amp;#34;----------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*Data Declaration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;DATA&lt;/span&gt;: lo_sender &lt;span style="color:#66d9ef"&gt;TYPE REF TO&lt;/span&gt; if_sender_bcs &lt;span style="color:#66d9ef"&gt;VALUE&lt;/span&gt; &lt;span style="color:#f92672"&gt;IS INITIAL&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; l_send &lt;span style="color:#66d9ef"&gt;TYPE &lt;/span&gt;adr6&lt;span style="color:#f92672"&gt;-&lt;/span&gt;smtp_addr ,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; l_rec &lt;span style="color:#66d9ef"&gt;TYPE &lt;/span&gt;adr6&lt;span style="color:#f92672"&gt;-&lt;/span&gt;smtp_addr .
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;DATA&lt;/span&gt;: itab &lt;span style="color:#66d9ef"&gt;TYPE TABLE OF&lt;/span&gt; sval,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ls_itab &lt;span style="color:#66d9ef"&gt;TYPE &lt;/span&gt;sval,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_return.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;DATA&lt;/span&gt;: lo_send_request &lt;span style="color:#66d9ef"&gt;TYPE REF TO&lt;/span&gt; cl_bcs &lt;span style="color:#66d9ef"&gt;VALUE&lt;/span&gt; &lt;span style="color:#f92672"&gt;IS INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;* DATA:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;* lt_message_body TYPE bcsy_text VALUE IS INITIAL,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;DATA&lt;/span&gt;: lx_document_bcs &lt;span style="color:#66d9ef"&gt;TYPE REF TO&lt;/span&gt; cx_document_bcs &lt;span style="color:#66d9ef"&gt;VALUE&lt;/span&gt; &lt;span style="color:#f92672"&gt;IS INITIAL&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; attachment_subject &lt;span style="color:#66d9ef"&gt;TYPE &lt;/span&gt;so_obj_des.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;DATA&lt;/span&gt;: lo_recipient &lt;span style="color:#66d9ef"&gt;TYPE REF TO&lt;/span&gt; if_recipient_bcs &lt;span style="color:#66d9ef"&gt;VALUE&lt;/span&gt; &lt;span style="color:#f92672"&gt;IS INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;DATA&lt;/span&gt;: ls_recipient &lt;span style="color:#66d9ef"&gt;LIKE LINE OF&lt;/span&gt; recipients,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ls_attachment &lt;span style="color:#66d9ef"&gt;LIKE LINE OF&lt;/span&gt; attachments.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;DATA&lt;/span&gt;: lv_recipient_uid &lt;span style="color:#66d9ef"&gt;TYPE &lt;/span&gt;syuname,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lv_recipient_mail &lt;span style="color:#66d9ef"&gt;TYPE &lt;/span&gt;adr6&lt;span style="color:#f92672"&gt;-&lt;/span&gt;smtp_addr.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*Prepare Mail Object&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;CLASS&lt;/span&gt; cl_bcs &lt;span style="color:#66d9ef"&gt;DEFINITION&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;LOAD&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_send_request &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cl_bcs&lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;create_persistent&lt;/span&gt;( ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;* Message body and subject&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;DATA&lt;/span&gt; lv_type &lt;span style="color:#66d9ef"&gt;TYPE &lt;/span&gt;so_obj_tp.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*ALI,ARC,BCS,BIN,DLI,EXT,FOL,GRA,HTM,OBJ,OFO,OTF,R3I,RAW,SCR,URL,WIM,XXL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;IF&lt;/span&gt; i_type &lt;span style="color:#f92672"&gt;IS INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lv_type &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;RAW&amp;#39;&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ELSE&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lv_type &lt;span style="color:#f92672"&gt;=&lt;/span&gt; i_type.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ENDIF&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;DATA&lt;/span&gt;: lo_document &lt;span style="color:#66d9ef"&gt;TYPE REF TO&lt;/span&gt; cl_document_bcs &lt;span style="color:#66d9ef"&gt;VALUE&lt;/span&gt; &lt;span style="color:#f92672"&gt;IS INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_document &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cl_document_bcs&lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;create_document&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_type &lt;span style="color:#f92672"&gt;=&lt;/span&gt; i_type
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_text &lt;span style="color:#f92672"&gt;=&lt;/span&gt; message_body
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_subject &lt;span style="color:#f92672"&gt;=&lt;/span&gt; subject ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*Send attachment&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;LOOP AT &lt;/span&gt;attachments &lt;span style="color:#66d9ef"&gt;INTO&lt;/span&gt; ls_attachment.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; attachment_subject &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ls_attachment&lt;span style="color:#f92672"&gt;-&lt;/span&gt;subject.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;TRY&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_document&lt;span style="color:#f92672"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;add_attachment&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;EXPORTING&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_attachment_type &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ls_attachment&lt;span style="color:#f92672"&gt;-&lt;/span&gt;objtp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_attachment_subject &lt;span style="color:#f92672"&gt;=&lt;/span&gt; attachment_subject
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_att_content_hex &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ls_attachment&lt;span style="color:#f92672"&gt;-&lt;/span&gt;cont_hex ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;CATCH&lt;/span&gt; cx_document_bcs &lt;span style="color:#66d9ef"&gt;INTO&lt;/span&gt; lx_document_bcs.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ENDTRY&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ENDLOOP&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;* Pass the document to send request&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_send_request&lt;span style="color:#f92672"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;set_document&lt;/span&gt;( lo_document ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;TRY&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;IF&lt;/span&gt; sender_mail &lt;span style="color:#f92672"&gt;IS NOT INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_sender &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cl_cam_address_bcs&lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;create_internet_address&lt;/span&gt;( sender_mail ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ELSEIF&lt;/span&gt; sender_uid &lt;span style="color:#f92672"&gt;IS NOT INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_sender &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cl_sapuser_bcs&lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;create&lt;/span&gt;( sender_uid ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ELSE&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_sender &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cl_sapuser_bcs&lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;create&lt;/span&gt;( sy&lt;span style="color:#f92672"&gt;-&lt;/span&gt;uname ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ENDIF&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;* Set sender&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_send_request&lt;span style="color:#f92672"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;set_sender&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;EXPORTING&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_sender &lt;span style="color:#f92672"&gt;=&lt;/span&gt; lo_sender ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;CATCH&lt;/span&gt; cx_address_bcs.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;RETURN&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ENDTRY&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;* Set recipients&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;IF&lt;/span&gt; recipients[] &lt;span style="color:#f92672"&gt;IS INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;IF&lt;/span&gt; recipient_mail &lt;span style="color:#f92672"&gt;IS NOT INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_recipient &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cl_cam_address_bcs&lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;create_internet_address&lt;/span&gt;( recipient_mail ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ELSEIF&lt;/span&gt; recipient_uid &lt;span style="color:#f92672"&gt;IS NOT INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_recipient &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cl_sapuser_bcs&lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;create&lt;/span&gt;( recipient_uid ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ELSE&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_recipient &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cl_sapuser_bcs&lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;create&lt;/span&gt;( sy&lt;span style="color:#f92672"&gt;-&lt;/span&gt;uname ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ENDIF&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_send_request&lt;span style="color:#f92672"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;add_recipient&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;EXPORTING&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_recipient &lt;span style="color:#f92672"&gt;=&lt;/span&gt; lo_recipient
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_express &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;X&amp;#39;&lt;/span&gt; ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ELSE&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;LOOP AT &lt;/span&gt;recipients &lt;span style="color:#66d9ef"&gt;INTO&lt;/span&gt; ls_recipient.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;IF&lt;/span&gt; ls_recipient&lt;span style="color:#f92672"&gt;-&lt;/span&gt;r3_user &lt;span style="color:#f92672"&gt;IS NOT INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lv_recipient_uid &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ls_recipient&lt;span style="color:#f92672"&gt;-&lt;/span&gt;r3_user.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_recipient &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cl_sapuser_bcs&lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;create&lt;/span&gt;( lv_recipient_uid ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ELSEIF&lt;/span&gt; ls_recipient&lt;span style="color:#f92672"&gt;-&lt;/span&gt;smtp_addr &lt;span style="color:#f92672"&gt;IS NOT INITIAL&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lv_recipient_mail &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ls_recipient&lt;span style="color:#f92672"&gt;-&lt;/span&gt;smtp_addr .
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_recipient &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cl_cam_address_bcs&lt;span style="color:#f92672"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;create_internet_address&lt;/span&gt;( lv_recipient_mail ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ENDIF&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_send_request&lt;span style="color:#f92672"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;add_recipient&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;EXPORTING&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_recipient &lt;span style="color:#f92672"&gt;=&lt;/span&gt; lo_recipient
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_express &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;X&amp;#39;&lt;/span&gt; ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ENDLOOP&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ENDIF&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;TRY&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;** Send email&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lo_send_request&lt;span style="color:#f92672"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;send&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;EXPORTING&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; i_with_error_screen &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;X&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; RECEIVING
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; result &lt;span style="color:#f92672"&gt;=&lt;/span&gt; result ).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;COMMIT&lt;/span&gt; WORK.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;WAIT&lt;/span&gt; UP &lt;span style="color:#66d9ef"&gt;TO&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; SECONDS.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;CATCH&lt;/span&gt; cx_send_req_bcs.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; result &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;&amp;#39;&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;ENDTRY&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ENDFUNCTION&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://serkanozcan.com/media/wp/sap_bcs.gif"&gt;&lt;img src="https://serkanozcan.com/media/wp/sap_bcs-300x224.gif" alt="" title="sap_bcs"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>sap abap ile ole nesnesi kullanılarak gelişmiş excel dosyası oluşturma (creating an advanced excel file with abap ole object)</title><link>https://serkanozcan.com/sap-abap-ile-ole-nesnesi-kullanilarak-gelismis-excel-dosyasi-olusturma-creating-an-advanced-excel-file-with-abap-ole-object/</link><pubDate>Thu, 08 Nov 2012 15:21:41 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-ile-ole-nesnesi-kullanilarak-gelismis-excel-dosyasi-olusturma-creating-an-advanced-excel-file-with-abap-ole-object/</guid><description>&lt;p&gt;abap ile gelişmiş seviyede bir excel dosyası oluşturmak istiyorsak abap ole nesnesini kullanırız. ole nesnesi kullanarak excel dosyasındaki her hücreyi tek tek biçimlendirebiliriz. istersek yazı tipini değiştirebiliriz, istersek hücreyi renklendirebiliriz, istersek hücre genişliğini ayarlayabiliriz hatta bir hücreye formül bile atayabiliriz. mesela aşağıdaki örnekte kod yardımıyla 3 adet malzeme oluşturdum ve bunların fiyatlarının toplamını satırların bitişine formül ile yazdırdım. bazı hücreleri koyu yaparken bazılarının arka plan renklerini değiştirdim.&lt;/p&gt;</description></item><item><title>sap smartform print preview üzerinden pdf oluşturma (create pdf from print preview of smartform)</title><link>https://serkanozcan.com/sap-smartform-print-preview-uzerinden-pdf-olusturma-create-pdf-from-print-preview-of-smartform/</link><pubDate>Wed, 07 Nov 2012 12:13:29 +0000</pubDate><guid>https://serkanozcan.com/sap-smartform-print-preview-uzerinden-pdf-olusturma-create-pdf-from-print-preview-of-smartform/</guid><description>&lt;p&gt;sap sisteminde oluşturulan çıktıların pdf olarak alınması için genelde abap danışmanına kod yazdırılır. fakat çıktı smartform ile oluşturulmuş ise çıktıyı pdf olarak görüntülemek ve kaydetmek için kod yazmaya gerek yoktur. çıktının öngörünümü aldığımız ekranda aşağıdaki örnekte olduğu gibi işlem kodu yazdığımız alana &lt;strong&gt;PDF!&lt;/strong&gt; yazarsak otomatik olarak pdf öngörünüm ekranı açılır. ve bu ekrandan çıktıyı pdf olarak kaydedebiliriz.&lt;/p&gt;</description></item><item><title>sap abap fonksiyonu ile web servis yaratma ve soap ile bu web servise ulaşma (creating web service in abap with rfc)</title><link>https://serkanozcan.com/sap-abap-fonksiyonu-ile-web-servis-yaratma-ve-soap-ile-bu-web-servise-ulasma-creating-web-service-in-abap-with-rfc/</link><pubDate>Thu, 01 Nov 2012 12:13:55 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-fonksiyonu-ile-web-servis-yaratma-ve-soap-ile-bu-web-servise-ulasma-creating-web-service-in-abap-with-rfc/</guid><description>&lt;p&gt;sap haricinde herhangi bir dış kaynaktan sap verisi çekmek istiyorsak web servise ihtiyaç duyarız. sap’de web servis üretmek için iki yol vardır. bunlardan birincisi ve sap’nin bizden beklediği SOAMANAGER işlem kodu yardımıyla web servis üretmektir. fakat ben daha pratik olan diğer yöntemi anlatacağım. öncelikle SE37 işlem kodu ile ZSD_F_GET_MATNR diye bir &lt;strong&gt;remote enabled&lt;/strong&gt; fonksiyon yaratıyoruz. daha sonra import parametresi olarak malzeme numarası alıp export parametresi olarak mara yapısını kullanıcıya gönderiyoruz.&lt;/p&gt;</description></item><item><title>sap abap malzeme ana verisindeki ekleri listeleme (list material master attachments)</title><link>https://serkanozcan.com/sap-abap-malzeme-ana-verisindeki-ekleri-listeleme-list-material-master-attachments/</link><pubDate>Tue, 30 Oct 2012 15:23:47 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-malzeme-ana-verisindeki-ekleri-listeleme-list-material-master-attachments/</guid><description>&lt;p&gt;sap’de mm03 ile malzeme anaverisine girip malzemenin üzerinde gördüğümüz eklerin listesini program ile çekmek için aşağıdaki kodu kullanabilirsiniz. ‘BUS1001006’ malzeme ana verisine ait anahtardır. isterseniz kendi ek mekanizmanızı SWO1 işlem kodundan z’li bir business object oluşturarak yaratabilirsiniz. eğer bu yöntemi uygularsanız ‘BUS1001006’ yerine oluşturduğunuz z’li kodu yazmanız gerekir.&lt;/p&gt;</description></item><item><title>sap abap log görüntüleme programı (abap bal log create and display)</title><link>https://serkanozcan.com/sap-abap-log-goruntuleme-programi-abap-bal-log-create-and-display/</link><pubDate>Fri, 26 Oct 2012 22:09:42 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-log-goruntuleme-programi-abap-bal-log-create-and-display/</guid><description>&lt;p&gt;programlarımızda log görüntüleme yapmak için sap standart fonksiyonlarından BAL_LOG_CREATE, BAL_LOG_MSG_ADD ve BAL_DSP_LOG_DISPLAY fonksiyonlarını kullanırız. BAL_LOG_CREATE fonksiyonu ile log yaratıp, log handle bilgisini alırız. daha sonra bu handle numarasına BAL_LOG_MSG_ADD fonksiyonu ile log mesajlarımızı ekleriz. bu logları görüntülemek için de BAL_DSP_LOG_DISPLAY fonksiyonuna görüntülenmesini istediğimiz log handle bilgisini verip logların ekrana gelmesini sağlarız.&lt;/p&gt;</description></item><item><title>twitter’da sizi takip etmeyenleri bulmanın yolu (get twitter unfollowers list)</title><link>https://serkanozcan.com/twitterda-sizi-takip-etmeyenleri-bulmanin-yolu-get-twitter-unfollowers-list/</link><pubDate>Wed, 24 Oct 2012 20:01:27 +0000</pubDate><guid>https://serkanozcan.com/twitterda-sizi-takip-etmeyenleri-bulmanin-yolu-get-twitter-unfollowers-list/</guid><description>&lt;p&gt;&lt;a href="https://serkanozcan.com/media/wp/Twitter-unfollow-you.jpg"&gt;&lt;img src="https://serkanozcan.com/media/wp/Twitter-unfollow-you-300x220.jpg" alt="" title="Twitter-unfollow-you"&gt;&lt;/a&gt;&lt;br&gt;
twittter’da sizi takip etmeyenleri öğrenmek istiyor ve bunu kendi yazdığınız kodlarla görmek istiyorsanız işte buyrun size çok basit anlamda bu listeyi çekebileceğiniz kod parçacağı. bu kod ile önce url’den $q değişkenine hangi kullanıcı hakkında bilgi edinmek istediğimiz bilgisini okuyoruz. eğer bu parametre boş ise uygulamayı kullanan kullanıcının adını set ediyoruz. daha sonra bu kullanıcının önce takip ettiklerinin listesini ve bu kullanıcıyı takip edenlerin listesini alıyoruz. daha sonra bu kullanıcının takip ettikleri arasından kullanıcıyı takip etmeyenleri ayıklıyoruz. işte bu kadar basit&lt;/p&gt;</description></item><item><title>abap nedir? abap danışmanı kimdir? abap danışmanı ne iş yapar? abap danışmanı ne kadar kazanır?</title><link>https://serkanozcan.com/abap-nedir-abap-danismani-kimdir-abap-danismani-ne-is-yapar-abap-danismani-ne-kadar-kazanir/</link><pubDate>Wed, 24 Oct 2012 19:21:50 +0000</pubDate><guid>https://serkanozcan.com/abap-nedir-abap-danismani-kimdir-abap-danismani-ne-is-yapar-abap-danismani-ne-kadar-kazanir/</guid><description>&lt;p&gt;bu yazıyı okuduktan sonra sap ailesinden bir abap danışmanı hakkında bilmeniz gereken bilgilerin birçoğuna sahip olacağınızı ümit ediyorum&lt;/p&gt;
&lt;h3 id="abap-nedir"&gt;abap nedir?&lt;/h3&gt;
&lt;p&gt;abap (advanced business application programming), 5 eski ibm çalışanının 1972 yılında inşa etmeye başladığı sap kurumsal kaynak planlaması programının geliştirme dilidir. yani bu aşmış insanlar öncelikle kendi dillerini yaratmışlar daha sonra bu programlama dili ile sap modüllerini geliştirmeye başlamışlardır. abap kodu yazmak için tek ihtiyacımız sap gui programıdır.  tüm abap programları sap sunucusunda bulunur. abap programları gerçek anlamda derlenmez sadece sözdizimsel olarak kontrol edilip aktif hale getirilir. program çalıştırılacağı zaman abap kodları abap load denen ara bir yapıya alınır daha sonra bu abap load yapısı abap virtual machine tarafından yorumlanır.&lt;/p&gt;</description></item><item><title>sap abap popup fonksiyonları (sap popup functions)</title><link>https://serkanozcan.com/sap-abap-popup-fonksiyonlari/</link><pubDate>Wed, 24 Oct 2012 00:16:09 +0000</pubDate><guid>https://serkanozcan.com/sap-abap-popup-fonksiyonlari/</guid><description>&lt;p&gt;bazen kullanıcıdan isteyeceğimiz bilgiler bir ekran tasarımı yapmamıza değmeyecek kadar basit ve az olabilir. bu durumlarda imdadımıza standart popup fonksiyonları yetişir. bunlardan en çok kullanılanları POPUP_TO_CONFIRM ve POPUP_GET_VALUES olarak gösterebiliriz. POPUP_TO_CONFIRM fonksiyonuyla kullanıcıya 2 veya 3 seçenekli butonlardan oluşan bir popup ekranı sunabiliriz. POPUP_GET_VALUES fonksiyonuyla da kullanıcıya belli alanlar için değerler girebileceği bir popup ekranı sunabiliriz. Örnekleri aşağıda bulabilirsiniz;&lt;/p&gt;</description></item><item><title>sap sisteminde daha önceden yazılmış bir sorgu programının adı ile sorguyu bulma (finding query with query program name)</title><link>https://serkanozcan.com/sap-sisteminde-daha-onceden-yazilmis-bir-sorgu-programinin-adi-ile-sorguyu-bulma-finding-query-with-query-program-name/</link><pubDate>Fri, 19 Oct 2012 10:09:15 +0000</pubDate><guid>https://serkanozcan.com/sap-sisteminde-daha-onceden-yazilmis-bir-sorgu-programinin-adi-ile-sorguyu-bulma-finding-query-with-query-program-name/</guid><description>&lt;p&gt;eğer elimizde bir sorgu programının adı var ve biz bu programın kullandığı sorgunun adını bilmiyorsak öğrenmek için aşağıdaki adımları uygulayabiliriz;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;öncelikle se37 ekranından RSAQ_DECODE_REPORT_NAME fonksiyonuna programın adı verilerek çalıştırırız.&lt;a href="https://serkanozcan.com/media/wp/query.jpg"&gt;&lt;img src="https://serkanozcan.com/media/wp/query-300x166.jpg" alt="" title="query"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;daha sonra sq01 ekranına gidip sol üst köşedeki butona basarak fonksiyondan bize dönen user group değerini seçeriz.&lt;a href="https://serkanozcan.com/media/wp/query2.jpg"&gt;&lt;img src="https://serkanozcan.com/media/wp/query2-300x170.jpg" alt="" title="query2"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;sonra da karşımıza gelen listeden fonksiyondan bize dönen query adını bulup içine girebiliriz.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>adobe flex builder 3.2 sdk’sında grafik sorunu (chart problem in flex builder 3.2 sdk)</title><link>https://serkanozcan.com/adobe-flex-builder-3-2-sdksinda-grafik-sorunu-chart-problem-in-flex-builder-3-2-sdk/</link><pubDate>Thu, 18 Oct 2012 19:55:23 +0000</pubDate><guid>https://serkanozcan.com/adobe-flex-builder-3-2-sdksinda-grafik-sorunu-chart-problem-in-flex-builder-3-2-sdk/</guid><description>&lt;p&gt;&lt;a href="https://serkanozcan.com/media/wp/chartTypes.png"&gt;&lt;img src="https://serkanozcan.com/media/wp/chartTypes-300x174.png" alt="" title="chartTypes"&gt;&lt;/a&gt;flex builder 3.2 sdk’sında grafik component’leri malesef lisans haklarıyla nedeniyle kaldırılmıştır. eğer hem flex 3.2 sdk’sını kullanmak hem de grafik component’leri ulaşmak istiyorsanız aşağıdağıdaki çözümü uygulayabilirsiniz.&lt;/p&gt;
&lt;p&gt;adobe flex builder 3.2 sdk’sında grafik sorunu aşmak için “C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\frameworks\locale\en_US” klasöründeki bütün dosyaları “C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\locale\en_US” klasörüne kopyalayın.&lt;/p&gt;</description></item><item><title>“Could not resolve to a component implementation” hatasını düzeltme</title><link>https://serkanozcan.com/could-not-resolve-to-a-component-implementation-hatasini-duzeltme/</link><pubDate>Thu, 18 Oct 2012 19:47:42 +0000</pubDate><guid>https://serkanozcan.com/could-not-resolve-to-a-component-implementation-hatasini-duzeltme/</guid><description>&lt;p&gt;Adobe Flex Builder 3 ile karşımıza çıkan “Could not resolve &amp;lt;mx:Script&amp;gt; to a component implementation” hatasını aşağıdaki yöntemle çözebilirsiniz. Bunları yapmadan önce flex builder’ı kapatın, işlemler bitince tekrar açın.&lt;/p&gt;
&lt;p&gt;1- C:\Program Files\Adobe\Flex Builder 3\FlexBuilder.ini dosyasını notepad ile açıp en alta şu iki satırı ekleyin ve kaydedin.&lt;/p&gt;</description></item><item><title>sap transaction lock (işlem kodunu bloke etmek)</title><link>https://serkanozcan.com/sap-transaction-lock-islem-kodunu-bloke-etmek/</link><pubDate>Wed, 17 Oct 2012 09:39:52 +0000</pubDate><guid>https://serkanozcan.com/sap-transaction-lock-islem-kodunu-bloke-etmek/</guid><description>&lt;p&gt;sap sisteminde işlem kodunu bloke etmek sm01 ekranını kullanabiliriz.&lt;/p&gt;
&lt;p&gt;bu işleme ne zaman ihtiyaç duyarız diye sorarsanız; genelde exitlerle uğraşırken ve repair yaparken ihtiyaç duyulur. mesela vbap tablosuna ek alan ekleyeceğiz diyelim satış siparişiyle ilgili çok kullanılan va01, va02, va03 işlem kodlarını bloke edebiliriz. bu sayede biz işlerimizi tamamlayana kadar kimse bu işlem kodlarını kullanamaz.&lt;/p&gt;</description></item><item><title>ilk adım</title><link>https://serkanozcan.com/ilk-adim/</link><pubDate>Sat, 13 Oct 2012 21:02:08 +0000</pubDate><guid>https://serkanozcan.com/ilk-adim/</guid><description>&lt;p&gt;Merhabalar,&lt;/p&gt;
&lt;p&gt;Uzun yıllardır düşündüğüm fakat bir türlü hayata geçiremediğim blog sayfamı sonunda hayata geçirme fırsatı yakaladım. Burada tecrübelerimi ve bilgi birikimlerimi okuyucularla paylaşıp, bunların kalıcı olmasını sağlamayı hedefliyorum.&lt;/p&gt;
&lt;p&gt;Unutmayalım ki; bilgi paylaştıkça çoğalır!&lt;/p&gt;</description></item><item><title>Serkan Özcan</title><link>https://serkanozcan.com/serkan-ozcan-cv/</link><pubDate>Fri, 08 Jun 2012 00:00:00 +0000</pubDate><guid>https://serkanozcan.com/serkan-ozcan-cv/</guid><description>&lt;p&gt;Serkan Özcan&lt;/p&gt;
&lt;p&gt;Serkan Özcan, kurumsal sistemlerde uçtan uca SAP çözümleri sunma konusunda 18 yılı aşkın deneyime sahip bir SAP Teknik Mimarıdır. Uzmanlık alanları; modern yaklaşımlar dahil ABAP, SAP Fiori ve SAPUI5 geliştirme, SAP BTP mimarisi ve SAP CAP tabanlı uygulama tasarımını kapsar. Temiz ve ölçeklenebilir sistem mimarileri, performans optimizasyonu, güvenli entegrasyonlar ve SAP&amp;rsquo;yi modern bulut ve yapay zekâ yetenekleriyle buluşturan otomasyon katmanları geliştirme konusunda uzmanlaşmıştır. Müşteri projelerinin yanı sıra yapay zekâ destekli SAP otomasyonu ve orkestrasyonuna odaklanmakta; ajan tabanlı iş akışları ile kurumsal üretken yapay zekânın uygulanabilir kullanım senaryoları üzerinde çalışmaktadır. İş dışında oyun geliştirmekten, yeni yapay zekâ araçlarını ve ürün fikirlerini denemekten keyif alır.&lt;/p&gt;</description></item></channel></rss>