Sap Smart forms2.docx
- 文档编号:3664553
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:12
- 大小:273KB
Sap Smart forms2.docx
《Sap Smart forms2.docx》由会员分享,可在线阅读,更多相关《Sap Smart forms2.docx(12页珍藏版)》请在冰豆网上搜索。
SapSmartforms2
SapSmartforms
1.Overview:
簡介:
smartforn是一種Gui的開發介面,支援drag&drop、copy&paste,製作表單的工具,
smartform工具的優點:
可減少一半的開發時程,而且不懂程式一樣可以開發
smartform使用時機:
需要輸出文字可控制字型大小,需在表單中加入圖形(ex:
logo),
smartforms是SAP4.6C版本後才新增的工具
Ps.SAP宣稱Sap4.6c以後將以smartforms取代Sapscriptforms
架構:
smartforms:
◎此表格為自行定義規化的表格(一頁上的元素位置)
◎依照自行定義規化的表格去布局想要顯示的text,graphics,addresses,tables….等資料。
◎利用Applicstionprogram設定邏輯條件將所需要的資料從database讀取至internaltable。
◎傳送Applicationdata到自行定義規化的表格界面。
當smartformactivate時,系統產生一個functionmodule,把smartform(表格)的所有屬性封於囊中。
一旦應用程式叫這個functionmodule,smartforms使用moduleinterface傳送以前選擇的任何table資料和根據表格描述去output(print)表格。
表格描述也能夠含有聲明,在表格處理期間選擇進一步的資料。
然而,你(們)不應該使用資料檢索的這個方法。
尤其如果你(們)印刷群眾形式(表格),表現(作秀)將相當惡化。
介面:
T-CODE:
SMARTFORMS
form:
顯示、更改、建立smartform表單,在輸入欄位中輸入smartform表單名稱
style:
設定smartform表單中所需要的字型、字體大小、放置字體位置
textmodule:
在自己本身表單或其他表單中需要顯示註解或一段文字時,可在此設定及維護
form:
form在產生完之後,會自動產生二個component,一個是globalsetting另一個為pagesandwindows
formattributes:
表格屬性
一般屬性:
顯示form的名稱、說明,建立者、建立日期、時間及更改者資訊
設定Language屬性(可轉譯成其他language)
form的language屬性是依據login時的language所決定的
輸出選項:
pageformat:
頁面格式,可以設定成A4、A5…..或自行定義的格式
式樣:
設定smartform表單中所需要的字型、字體大小、放置字體位置
注意:
必須要在style中建立設定完後才能使用(課程後面會介紹)
XSFOUTPUT:
定義輸出方式(可以到spool,applicationserver,oroutputinternet….)
(看系統畫面)
Forminterface:
表格界面
當smartformactivate時,系統產生一個functionmodule,把smartform(表格)的所有屬性封於囊中。
一旦應用程式叫這個functionmodule,smartforms使用moduleinterface傳送以前選擇的任何table資料和根據表格描述去output(print)表格。
fomrinterfac的功能就是將abapprogram中的資料接收過來
import:
輸入欄位或structure名稱,將abapprogram中的欄位或structure值傳進來.
export:
將某些特定值或結果傳出.
表格:
輸入internaltable名稱,將abapprogram中的internaltable值傳進來
exceptions:
處理例外時的狀況.
Globaldefinitions:
定義globaldatatype
globaldata:
定義在此form中所用的資料型態
types:
可以定義在form中自己所需要的欄位、structure、internaltable
Fieldsymbols:
定義fieldsymbol的type與abap中的fieldsymbols中一樣.請參考help
initialization:
在此可以寫一些abapprogram(用perform方式)去定義讀取form中所需之初始值及讀取你所需要的資料,此段程式只會在form一開始時執行一次(和abapprogram中一樣)
formroutines:
和initialization一樣,在此存放的是副程式(form)的地方
Style:
設定smartform表單中所需要的字型、字體大小、放置字體位置
headerdata:
standardsettings:
當在form中使用此style時default的設定
administraction:
顯示此style的說明及建立者、更改者的information.
paragraphformats:
定義段落格式
indentsandspacing:
設定輸出字串的段落
spacing,textflow中的設定和word格式段落中的設定功能一樣
字型:
設定輸出文字的字型、大小、型式、顏色、是否加底線
如果不設定(留空白)會依照headerdata-standardsettings中所設定的值
tabs:
詳細訂義文字輸出位置,和layoutset中一樣
numberandoutline:
定義項目符號及編號
Leftdelimiter:
左定義符號
Numerator:
Position:
位置Ref.Point:
指向
Numberchaining:
數字連續
characterformats:
定義字型格式
standardsettings:
1.設定輸出文字,可設定成上標或下標(effect)
2.設定barcode
字型:
設定輸出文字的字型、大小、型式、顏色、是否加底線
textmodule:
在自己本身表單或其他表單中需要顯示註解或一段文字時,可在此設定及維護
text:
註解中內容輸入在此地方,並可以設定註解中的段落、字型、字體大小
management:
設定註解中所需的字型,建立者、建立日期、時間及更改者及設定Language屬性
注意:
在text中如需要用到自行定義的字型,需先在此先設定好save後才有效
2.FormLogic:
ThediagrambelowshowsthetreestructureoftherootnodePagesandwindows:
node型式:
(這些)節點的數字也顯示他們(被)處理的序列(從完全)。
第一個節點是這個根源節點。
節點的繼任者在層次中的這個節點下直接包括的都是節點。
為節點5這些是節點6(直接繼任者只是下一個層次水準(層次)的節點,到9是6,7,和9)。
沒有繼任者節點的節點也叫作endnode。
Elementarynodes類別是沒夠有繼任者(也參見節點類型)如果節點7的條件錯誤,既非節點也非節點87被處理。
處理用節點直接恢復9。
3.Nodetype:
Outputareas(輸出面積)
Nodetype
Description
Possibledirectsuccessors
Page
表格的一個頁面。
能夠直接對(這)一頁寄託這個node的直接繼任者。
Window,graphic,address
Window
Outputareaonapage.Therearemainwindowsandsubwindows.
Allexceptwindowandpagenodes
Elementarynodes(withoutsuccessors)基本(沒有繼承人)
Nodetype
Description
Text
用這個node來印出任何文字(和table的內容),除了位址以外。
Graphic
用這個node來把圖形定位。
去include背景圖案
Address
用這個node來incule1個位址。
系統從databasetable讀取address資料及格式印出。
Tableoutput
Nodetype
Description
Possibledirectsuccessors
Template
含有靜態資料的的輸出。
Allexceptwindow,page,table,andtemplatenodes
Table
含有應用資料的輸出(動態資料)。
同上
Flowcontrol流程控制
Nodetype
Description
Possibledirectsuccessors
Command
執行特別命令(下一頁,段計算,印刷機控制)。
(nosuccessor)
Loop
反覆處理繼任者節點。
.
Allexceptwindowandpagenodes
Alternative
根據條件的分支(樹枝)。
直接繼任者自動地節點真實和錯誤。
其中的直接繼任者除了窗戶和頁節點以外都是節點。
Othernodes
Nodetype
Description
Possibledirectsuccessors
Folder
把多個NODE結合成一個GROUP。
Allexceptwindowandpagenodes
Complexsection
有template,table,loop,folder的功能組合
Allexceptwindowandpagenodes
Programlines
ExecutesABAPprogramcode(forexample,conversionroutines).
(nosuccessors)
4.nodetype說明:
Page:
定義輸出格式,如A4,A5,或是直式/橫式列印。
一般屬性:
設定nextpage及page計數器
initialcounter:
開始的,如換頁後,counter重新計算
increasecounter:
累加頁數
leavecounterunchanged:
離開counter未改變
pageandoverallpageunchanged:
目前頁數和總頁數未改變
輸出選項:
backgroundpicture:
背景畫面
B.window:
分為mainwindow和subwindows,主要是用來當做displayarea
a.mainwindow:
(1)一個form中只能有一個mainwindow
(2)mainwindow在每一page中的寬度要一樣,但高度可不一樣
(3)若此page沒有定義mainwindow,則其nextpage不可為page本身。
Ex:
page1如沒定義mainwindow,在一般屬性中NEXTPAGE不可設成
Page1.
(4)內容是可以延續的,且每一page中都有.
b.subwindows:
除了mainwindow以外的window,內容是不可延續的。
輸出選項:
verticalspacing:
垂直間格
horizontalspacing:
水平間格
alwaysdrawboxandshading:
總是畫boxand蔭蔽
條件:
afterendofmainwindows:
在mainwindow結束後
before…………………….:
在mainwindow結束前
onlyaypagebreak:
頁面中止
onlyatparagraphbeginning:
段落開始
Text:
用來顯現文字或變數值
一般屬性
內文類型:
textelement:
文字(本文)元素
textnode
newparagraph新段落
newline
appenddirectly:
直接附加
C.Graph:
用來顯現圖檔。
D.Address:
用來顯現地址資料。
一般屬性:
類型:
organizationaddress:
組織add
personaladd:
個人的
workplaceadd:
工作場所add
determinedynamically:
自行決定變化
additionaladdress
A.Template:
用來顯現靜態的資料,即定義範本表格,其內容再一一填入,表格型式是固定的。
範本:
Horizontalalignment:
水平線
Verticalalignment:
垂直線
B.TABLE:
用來顯現動態的資料,即定義表格的LINETYPES,資料可動態的選擇不同的
LINETYPE來顯示。
表格:
Tablewidth表格寬度
Horizontalalignment:
水平線
事件:
footerwithheight:
頁尾高度
C.COMMAND:
用來做PAGE切換及PRINTCONTROL.
一般屬性:
Resetparagraphnumbering:
重排段落編號
Includeprintercontrol:
包含列印控制
I.Loop:
可重複執行NODES.
J.Alternative:
可做邏輯運算。
K.Folder:
把多個NODE結合成一個GROUP,用於分類。
L.Complexsection:
有template,table,loop,folder的功能組合。
M.Programlines:
可於SMARTFORM中撰寫ABAPPROGRAM。
IntegratingtheSmartFormintotheApplication
Use
透過兩個functionmodule去觸發所需列印的表格。
第一個module用form的name來決定產生的functionmodulename。
然後,call這個functionmodule。
產生的functionmodulename在一個系統之內是唯一的。
因此,首先call的這個functionmodulename來決定目前產生的module。
Prerequisites
以自己的形式定義了這個表格界面並將使此formactive起來。
Procedure
1.IntheFormBuildercallthefunctionEnvironment→NameofthefunctionmoduleanduseSTRG-YandSTRG-Ctocopyitsname.
2.在程式對於產生的functionmodule的名字定義類型3rs81_fnam的一個變數。
datafm_nametypers38l_fnam.
3.你能夠在應用程式的其他一些部分callsmartforms,在這種情況下你(們)必須確信系統能夠存取從那地方透過的這個資料。
我們在一個functionmodule中建議也把這個資料檢索封於囊中
4.CallfunctionmoduleSSF_FUNCTION_MODULE_NAME.會回傳產生的functionmodulename:
CALLFUNCTION'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME ='
IMPORTING
FM_NAME =fm_name
EXCEPTIONS
NO_FORM =1
NO_FUNCTION_MODULE =2
OTHERS =3.
IFSY-SUBRC<>0.
ENDIF.
5.叫這個產生的功能組件(模塊)。
為了做它,在ABAP編輯(者)中把插入物聲明功能用作叫喊官能並且使用(用處)用作你(們)在第1步拷貝的名字。
(避免必須手工複製所有界面參數)。
然後,用在第2步定義的可變的鐨_名字代替這個功能組件(模塊)名字。
叫這個產生的功能組件(模塊)。
為了做它,在ABAP編輯(者)中把插入物聲明功能用作數)。
然後,用在第2步定義的可變的鐨_名字代替這個功能組件(模塊)名字。
CALLFUNCTIONfm_name
EXPORTING
* ARCHIVE_INDEX=
* ARCHIVE_PARAMETERS=
* CONTROL_PARAMETERS=
* MAIL_APPL_OBJ=
* MAIL_RECIPIENT=
* MAIL_SENDER=
* OUTPUT_OPTIONS=
* USER_SETTINGS='X'
G_CARRID=
G_CONNID=
G_FLDATE=
*IMPORTING
* DOCUMENT_OUTPUT_INFO=
* JOB_OUTPUT_INFO=
* JOB_OUTPUT_OPTIONS=
TABLES
GT_SBOOK=
EXCEPTIONS
FORMATTING_ERROR=1
INTERNAL_ERROR=2
SEND_ERROR=3
USER_CANCELED=4
OTHERS=5.
IFSY-SUBRC<>0.
ENDIF.
Inthisexample,threevariablesandaninternaltablearepassed.TheparametersG_CARRID,G_CONNID,G_FLDATA,andGT_SBOOKhavebeendefinedbeforeintheforminterface.
在界面通行證中所有資料你(們)都想要轉移(傳送)到形式(表格)。
6.
Result
以表格邏輯定義了smartforms產生的功能組件。
把處理後的結果輸出送到printspool中。
只你(們)不換這個表格界面,你(們)能夠對形式(表格)(進行)任何變化。
當你(們)再次使它產生時,一旦你(們)叫這個功能組件(模塊),系統產生形式(表格)的目前(流行)版本。
僅當你(們)換這個形式(表格)界面,你(們)必須更改資料檢索程式中的界面。
參考文件:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Sap Smart forms2
![提示](https://static.bdocx.com/images/bang_tan.gif)