[SAP] – Smartforms

Menggunakan SMARTFOMS untuk kebutuhan develop forms

FORMS, merupakan salah 1 menu utama dalam setiap system informasi yang dapat digunakan untuk interaksi (system-dengan manusia), maupun digunakan sebagai bukti dari transaksi. Meskipun saat ini penggunaan kertas sudah sangat-sangat direduksi, namun apakah penggunaan forms hanya sebatas itu? Hanya untuk dicetak?
Forms identik dengan printing, namun dengan teknologi dimana saat ini ‘paper less‘, maka mencetak-pun tidak harus pada kertas, dapat di generate membentuk file dengan format tertentu, yang dapat juga digunakan untuk attachment.

Meskipun di “ERA” sekarang ini penggunaan smartforms sudah mulai di-reduksi, bahkan oleh SAP sendiri, namun untuk mengetahui bagaimana dan cara bekerjanya masih sangat diperlukan bukan? Bahkan SAPSCRIPT yang teknologinya di mutakhirkan oleh Smartforms pun juga masih banyak yang pakai. 😀

GuritnoY Quotes
Tampilan TCODE “smartforms”

OKE, Langsung Ke Pokok Bahasan “SAP SMARTFORMS”

Pada menu utama smartforms sendiri, terdapat 3 menu utama yakni
1. Forms –> Tempat mendevelop, design dan isian dari forms
2. Style –> Tempat untuk me-define jenis huruf dan paragraph yang akan digunakan pada forms
3. Text Module –> Tempat untuk me-define / consume text module yang digunakan pada forms.

Untuk dapat men-develop forms dengan baik, dan penggunaan huruf dan paragraf yang sesuai, maka langkah pertama dapat create Style terlebih dahulu. Untuk detail dari Create Style dari forms dapat teman-teman check pada link berikut ya : https://guritnoy.com/2021/09/08/sap-smartstyle-in-smartforms/

Develop Smartforms

  • Definisikan Data yang akan diterima oleh SMARTFORMS terlebih dahulu

Beberapa “abaper“, mungkin begitu mendapat pekerjaan untuk develop sebuah forms, maka yang akan dikerjakan pertama kali adalah mendesign form di smartforms. Untuk lebih effisiennya dalam bekerja, menurut hemat pikir saya, dalam mengerjakan forms, baiknya menentukan data yang akan diolah terlebih dahulu, dan memprosesnya. Mengapa demikian? *(kok data yang diolah terlebih dahulu, bukan design).
Adapun dari pengalaman, saat implementasi design form acapkali berubah (meskipun ‘katanya’ sudah dikunci). Kadangkala design sudah hampir fix, eh ada nambah 1 kolom lah atau malah menghapus. Maka jika pertama kali dalam mengerjakan form yang dikerjakan terlebih dahulu adalah design, sedangkan format belum dikunci final, maka hal ini dapat menyebabkan rework. Berbeda jika yang dikerjakan adalah data terlebih dahulu, maka adjust yang dilakukan tidak terlalu banyak. Karena menghilangkan satu kolom saja (misalkan) di forms itu membutuhkan effort yang cukup banyak.

Contoh Structure Header Form PO
  • Area Kerja Smartform dan mulai design
Lembar Kerja Smartforms

Pada smartforms terdapat beberapa bagian
* Global Setting –> digunakan untuk general setting pada smartforms, mencakup jenis ukuran layout, style huruf/paragraf yang digunakan, export/import data (parameter input output) point1, exception, additional code, maupun data type declaration.
* Pages and Windows –> Area drawing yang sebenarnya, disini merupakan area dari garis menggaris, menentukan posisi layout, penggunaan tables, main window dan sebagainya.

x. Consume data / Declare Data
Dalam form biasanya dibagi dalam 2 hal, flat (structure) dapat dikirimkan sebagai kesatuan structure maupun data terpisah (biasanya untuk header dan footer), dan table.

Data Structure
Data Table

x. Lets a Sketch
Pada window forms, dapat memiliki beberapa Page, beberapa Window, namun dalam 1 page hanya memiliki 1 buah MAIN dimana dapat di set. Pemilihan MAIN ini acapkali digunakan untuk data inti, dapat memuat looping data. Didalam sebuah window dapat di define untuk template, pict, maupun table.
a. Design dan tata rapi dari masing-masing window yang akan digunakan

Design dan tata letak window


b. Insert Pict Logos

Tampilan menu insert graphic

Untuk graphic yang dapat digunakan oleh Smartforms adalah graphic-graphic yang sudah terlebih dulu ada di SAP (sudah pernah diupload) dengan menggunakan akses tcode SE78

c. Create Template, untuk data flat
Untuk penggunaan informasi flat data (structure), pada window dapat menggunakan template. Pada design template ini tinggal melakukan garis-garis saja ya, dan potong. Namun dapat juga diedit secara manual valuenya melalui properties

Design layout Template

Untuk ukuran yang lebih detail pada design template forms ini, maka setelah membuat layout garis-garis, maka dapat dilanjut dengan adjust ukuran yang terdapat pada button Details. Sedangkan untuk memberikan kondisi pada layout template dapat menggunakan tab condition.

d. Create Table, untuk data table (looping)
Penggunaan informasi table, cara mendesign table hampir sama dengan template yakni dengan menggaris-garis secara manual, lalu untuk informasi detail dapat menggunakan details. Perbedaanya, jika pada template kebanyakan digunakan untuk informasi flat, sedangkan pada table, dapat melakukan loop selayaknya table dan hanya mendefinisikan kolom-kolomnya saja.

Design Layout Table

Disini developer dapat mendesign beberapa type dari table. Jika keseluruhan isi sama maka dapat men-design hanya 1 saja, berbeda hal jika header, content, dan footer berbeda-beda bentuk template/garisnya, maka dapat dibedakan dengan beberapa type.

Type Design Table

Seperti pada gambar diatas misalkan. Untuk header table menggunakan type1 dari 3 type design yang telah di-define pada layout table.
Sedangkan untuk pengisian data, menggunakan tab “Data” pada design table, dengan condition yang dapat dimaintain juga pada tab Condition.

Itab dari Table

e. Isian Text / value dengan menggunakan Text
Untuk isian pada template maupun table merupakan hal yang sama dengan sedikit perbedaan, jika pada table pengisian text/value hanya di “create” pada node kolomnya, hal sedikit berbeda pada template, ia harus meng-assign lokasi yang akan dijadikan tempat untuk text/value tersebut (line dan coloumnya).

Posisi Text pada template dan table

Sedangkan untuk cara pengisian, untuk mode text dapat langsung dituliskan, sedangkan untuk mode value harus dengan Insert Field dan menambahkan & dan mengakhirkan & pada setiap variable nya.

Penulisan Text dan Variable pada smartforms

Selain fungsi-fungsi jamak diatas, masih ada beberapa fungsi powerfull lain yang disediakan oleh SMARTFORMS, misalkan saja “flow logic” baik alternatif, command, program lines yang dapat menyisipkan baris coding di dalamnya, untuk penggunaan forms yang lebih rumit dengan kondisi-kondisi tertentu. Namun jika memungkinkan alangkah baiknya code hanya di tuliskan pada program saja, sedangkan forms di’usahakan’ bersih dari coding, hal ini tidak lain agar lebih memudahkan dalam maintenance system kedepannya.

  • Consume Smartfors
    Setelah data ready, structure, table type (jika menggunakan table) telah dibuat dan forms juga telah selesai dibangun, maka selanjutnya adalah consume forms itu sendiri. Dengan menambahkan code pada event cetak sebagai berikut.
Code untuk call forms

DONE

Demikian sharing terkait step by step untuk develop forms menggunakan smartforms, semoga tulisan ini dapat bermanfaat dan membantu.
Jika ada yang perlu didiskusikan, please contact me at : yudho.guritno@gmail.com

_TerimaKasih,
GuritnoY
https://www.linkedin.com/in/guritno-yudho-wibowo-95944236/

You may also like...

2 Responses

  1. MasWo says:

    Mantab nih articlenya.

Leave a Reply

Your email address will not be published. Required fields are marked *