Smartform 介绍
Smartform是 SAP用來打印單據(jù)的一種可視化技術(shù),可以在程序中調(diào)用,Smartform中除了可以設(shè)計(jì)格式之外還可以添加代碼。
Smart forms?是 SAP Script form的基礎(chǔ)上產(chǎn)生的新的表單制作工具,但是smart forms?使用更加方便,會直接生成功能塊( function module),ABAP程序中調(diào)用更加方便。
注意:中文環(huán)境下創(chuàng)建的 form?一般只能在中文環(huán)境下打開,英文環(huán)境下的節(jié)點(diǎn)可能打不開。
事務(wù):smartforms。
組成:form通常是由?頁面( pages ),窗口( windows ),地址欄( Address),圖形( graphics,logo等?),數(shù)據(jù)(data),文本內(nèi)容等( text )
文本模塊 ( Text Module?)
?一段固定的文本信息,表頭、或者附加條款說明,可以在form中直接引用。
Smartform Style:設(shè)置字體、段落、抬頭。(包括定義條形碼)
1、?字體 Charactor Formats
設(shè)置字體大小、字體族、字體樣式(?粗體、斜體、下劃線、顏色 )、輸出位置、條形碼
? ?
style中的長度單位:
TW ( twip ) 、PT( point)磅、IN( inch?)、MM( millimeter )、CM( centimeter?)、LN( line )、CH(? character)。?
轉(zhuǎn)換關(guān)系: 1IN = 2.54 cm = 25.4mm = ?72 PT =?1440TW
sap?的字體不是從當(dāng)前系統(tǒng)獲取字體庫,除了默認(rèn)字體,其他的需要在SAP中額外安裝,然后通過SE73實(shí)現(xiàn)對字段屬性的基本維護(hù)。
注:條形碼的創(chuàng)建可以參考:條形碼管理 SE73 Bar code開發(fā)_SAP小白kenny的博客-CSDN博客
2、段落格式 paragraph formats
設(shè)置段落格式:左對齊、右對齊、居中對齊,縮進(jìn)、行間距、字體格式等、
注意:可以通過改變行間距控制 smart forms?的table控件的行高。
??
3、抬頭數(shù)據(jù) Header Data
設(shè)置style的默認(rèn)類型。
Form?表格:
由?頁面( pages ),窗口( windows ),地址欄( Address),圖形( graphics,logo等?),數(shù)據(jù)(data),文本內(nèi)容等( text )。
全局設(shè)定 global settings:
表格屬性 forms attributes :
form?紙張大小、使用的Smart Style
注:如果需要自定義紙張類型,可以參考:SAP 定義打印機(jī)紙張類型_SAP小白kenny的博客-CSDN博客_sap打印機(jī)紙張?jiān)O(shè)置
如果系統(tǒng)自帶紙張類型不滿足需要,還可以自定義紙張類型。
表格接口 forms interface :
Smart forms?生成的function module的參數(shù)。
全局定義 global definitions
如果需要在smart forms內(nèi)部添加邏輯,則需要在這里定義全局變量,如果有數(shù)字、金額欄位,還需要在這里定義。
核心部分在頁和窗口:
節(jié)點(diǎn)元素:
form?中元素的輸出順序在page的先后順序決定,系統(tǒng)會自動創(chuàng)建一個初始頁。節(jié)點(diǎn)類型決定節(jié)點(diǎn)的處理過程:打印節(jié)點(diǎn)內(nèi)容(?文本、圖片、地址 ),執(zhí)行節(jié)點(diǎn)的語句,另外所有節(jié)點(diǎn)的可以增加條件屬性,當(dāng)滿足條件子節(jié)點(diǎn)才會處理。
Page?節(jié)點(diǎn):
每個form至少有一個page,當(dāng)page的內(nèi)容超過一頁,會自動輸出到page節(jié)點(diǎn)指定的next?所指定的 next page,一般下一頁都是自己,除非要有單獨(dú)的一頁封面和封底。
下一頁除了可以通過next page來設(shè)置,還可以通過 command?命令控件指定。
窗口元素:
頁面中包含主窗口 main windows 和?子窗口 secondary windows,主窗口可以連續(xù)打印,既可以分頁顯示,每個頁面( page )只可以有一個主窗口,?但可以有多個子窗口。分頁情況下子窗口每頁都會顯示,相當(dāng)于頁眉頁腳。
窗口中模版的寬高度不能超過窗口的寬高度,同樣表的寬高度也不能超過,否則顯示不出。
文本節(jié)點(diǎn):
文本節(jié)點(diǎn)一般是在已經(jīng)定義的窗口中添加各種類型的文本元素,同樣地址類型的文本元素可以直接通過Address節(jié)點(diǎn)添加,
smart forms包含以下文本類型:
文本元素:form中直接創(chuàng)建的編輯文本,
文本模塊:獨(dú)立于smart forms,可直接添加的文本,
包含文本:可直接插入的script?標(biāo)準(zhǔn)文本,可通過SE75,
動態(tài)文本:可綁定全局變量的文本
主窗口 main windows:可在多頁連續(xù)輸出。
子窗口 secondary windows:文本確定在制定頁。
表格節(jié)點(diǎn) table :用于顯示表格的內(nèi)容。
模板節(jié)點(diǎn) template :把文本定義在靜態(tài)表格的單元格中,
標(biāo)題 header?和?腳注 footer:用于顯示表格的總計(jì)數(shù)據(jù)。
事件 event?用于顯示表格的小計(jì)數(shù)據(jù)。
table和template等節(jié)點(diǎn)可以控制邊框,邊框的默認(rèn)寬度是15TW,但是實(shí)際工作建議20TW,用來適應(yīng)針式、激光、噴墨打應(yīng)機(jī)。15TW在某些時候可能打不出來。
table和template的區(qū)別:
1、table是動態(tài)表格,template是靜態(tài)表格,template + loop?可以達(dá)到動態(tài)格式
2、template可控制行高,table不能直接控制行高,需要在smart style的段落中設(shè)置行間距,同時將無換頁屬性打上
3、template是固定長度,超過會截?cái)?#xff0c;table會自動換行。注:table中如果自動換行行數(shù)超過一定程度會報(bào)錯。
TABLE節(jié)點(diǎn)的循環(huán)問題:
table節(jié)點(diǎn)分為表頭 header,主要區(qū)域 main area,腳標(biāo) footer,其中循環(huán)只是存在于主要區(qū)域,所以表頭、腳標(biāo)是每頁會執(zhí)行一次。
圖片節(jié)點(diǎn) graphic :
圖片節(jié)點(diǎn)經(jīng)常會用來展現(xiàn)一些Logo,但是必須在SE78中預(yù)先上傳,可以參考:SE78、SMW0 上傳圖片_SAP小白kenny的博客-CSDN博客_se78上傳圖片
地址節(jié)點(diǎn) Address:沒用到過。
總結(jié)
以上是生活随笔為你收集整理的Smartform 介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eclipse 中文语言包! 大家一起
- 下一篇: java.lang.NoClassDef