Özellikle ECC 6.0 ile kullanımı ile yaygınlaşan Smartform ile artık ABAP uygulamalarınızda birçok tasarımı
Script'e oranla daha basit ve pratik yapabilirsiniz. Fakat Smartfom bir çok noktada malesefki çok smart değil :)
Örneğin crystal report ile karşılaştıracak olursam, smartforms un çok eksik ve zahmetli olduğunu rahatlıkla söyleyebilirim.Fakat script ile karşılaştıracak olursam mükemmel... Smartform un içerisinde zaten script özellikleride kullanabildiğinizden, script ten smartforma geçecekseniz hiç zorluk çekmessiniz.Scriptte yapılamayan bir çok özelliği smartform ile çok rahatlıkla ve daha keyifli yapabilirsiniz.
Form çalışmasını bir function gibi düşünebilirsiniz. Formunuzu yarattığınızda arka planda bir function olarak yaratılır ve sizin forma verdiğiniz isimden, sistem kendine özgü bir türeterek (örneğin /1BCDWB/SF00000054) saklar. Zaten sistemin verdiği isimle , se37 ekranına giderseniz smartformun aslında arka planda bir functiona dönüştüğünü görebilirsiniz.Sizin yapmanız gereken ise aynı function da olduğu gibi forma, structurelarınızı ve fieldlarınızı yollamak... hatta formu kapattığınızda, formdan return değerleri de alabilirsiniz. Önemli olan formun da bir function mantığıyla alış veriş yaptığını kavramak.
Form ilk çalıştığında dışarıdan yani programın içerisinden hangi verilerin geldiğine bakar sonra form kullanacağınız stilleri işler daha sonra type verileri olup olmadığını kontrol edip Initialization bölümünde ki kodları işler bunları işlerkende performlarınız varsa form routines kısımlarında da bu verileri okur, sayısal (miktar, para vb.) alanlar için referanslar varsa PB/Miktar alanları alanlarından referans fieldlara göre şeklini burada belirler ve main bölümüne geçerek form işlemesine devam eder ve sonuçta veriler print olarak çıkar yada ekranda görüntülenir.