第9章 智能表單Smartforms_第1頁
第9章 智能表單Smartforms_第2頁
第9章 智能表單Smartforms_第3頁
第9章 智能表單Smartforms_第4頁
第9章 智能表單Smartforms_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第9章

智能表單Smartforms目錄概述Form(表格)SmartStyles(樣式)TextModule(文本模塊)在程序中調用SmartForms檢查與測試Form2概述Smartforms是SAP表單處理的一種工具生成的文檔可以是打印機輸出,傳真或電子郵件格式Smartforms通過SAPWebApplicationServices(WAS)可以生成HTML格式概述-smartforms的優(yōu)點高效的生成和維護表格圖形化界面接口,無需過多編程知識

多語言能力表格中的樣式和字體可重用可將輸入轉換為HTML格式輸出,為表格提供網(wǎng)絡應用的支持Smartforms的組件

DatabaseApplicationProgramABAPFunctionModuleSmartFormDataRetrievalFormDefinitionOutputgeneratedPrinterEmailRetrieveApplicationData

抽取應用數(shù)據(jù)CreateanABAPProgramanddothefollowingprocessing:PreparetheDataneededfortheFormProcessing,theseincludesDatamanipulations;andDataRetrievalfromDatabasewhicharethenstoredintoaninternaltableorstructures.DescribeyourForm

定義表格CreateyourFormusingtheSmartformFormBuilder.WithintheSmartformFormBuilder,thefollowingcanbedone:DefinetheinterfacesofyourForm.CreatetheFormPages,Windows,Addresses,Graphics.CreatetheelementswithintheWindowsDefinetheFlowcontrolforprintingpagesPasstheApplicationDatatotheForm

填充數(shù)據(jù)到表格ExecutethegeneratedFunctionModuleoftheSmartformswithintheABAPProgram(createdinthefirststep),andpassingtheprepareddataintoitsparameters.DatabaseApplicationProgramABAPFunctionModuleApplicationProgramABAPFunctionModuleSmartforms表格生成步驟

概述

SmartForm完全兼容SAPScript,有圖形界面來輔助實現(xiàn)。下面是一個簡單SmartForm輸出結果:7Form(表格)使用事務碼:Smartforms進入SAP智能表初始畫面,如右圖所示:8Form(表格)輸入名稱Z001,點擊“創(chuàng)建”按鈕,進入下面的FormBuilder界面:9Form(表格)上面的屏幕分為三個部分:樹形導航工具(左邊):主要用來顯示SmartForm的層次結構。當你在層次結構中選擇了一個節(jié)點后,在上面截屏的中間部分會顯示這個節(jié)點的維護屏幕。維護屏幕(中間):根據(jù)當前樹狀結構中選擇的不同節(jié)點類型,會出現(xiàn)各種標簽,對應相關的選項卡,在這些選項卡中可以進行該節(jié)點相關屬性的設計。窗口繪制器(右邊):主要用來設計SmartForm輸出頁面的格式,可以在頁面上包含窗口和圖形,還可以指定它們在頁面上的位置以及它們的大小等。在圖片左上角的工具欄有一個按鈕

可以用來顯示和隱藏這個窗口。10Form(表格)定義Smartform的全局設置表格屬性:設置表格的樣式,頁面的格式(即頁面大?。?,輸出格式等。表格接口:它用來描述這個SmartForm的接口屬性,比如IMPORT、EXPORT、TABLES、EXCEPTION。如果從ABAP程序中調用這個FORM的話,就會用到這些接口來傳遞參數(shù)。全局定義:主要用來定義一些全局數(shù)據(jù),還有FIELDSYMBOLS,初始化等。11Form(表格)定義Smartform的全局設置12Form(表格)設定全局設置——表格接口用于設置通過CallFunction調用SmartForm時的參數(shù)。導入——對應CallFunctionExporting參數(shù),用戶也可以增加參數(shù)。導出——對應CallFunctionImporting參數(shù),用戶也可以增加參數(shù)。表——對應CallFunctionTable參數(shù),用戶也可以增加參數(shù),參考打印必須是已存在的數(shù)據(jù)庫表或結構。例外——對應CallFunctionExceptions參數(shù),即出錯捕捉參數(shù)。13Form(表格)設定全局設置——全局定義全局數(shù)據(jù):可以定義在Smartform內(nèi)部使用的全局變量,參考打印內(nèi)容既可是系統(tǒng)提供的I、C等類型,也可以是已存在的數(shù)據(jù)庫表、結構,還可以是Smartform中定義的類型。注:此處Typeassignment的值必須選擇Type或Typerefto(對象分配),用LIKE有時會報錯。類型:定義內(nèi)部使用的類型。此處均使用TYPES語句定義。字段符號:定義Smartform內(nèi)部使用的FIELD-SYMBOL變量。此處定義的變量必須以“<”開始,以“>”結束,如:“field-symbols:<dbtable>typeany.”。初始化:定義初始化處理內(nèi)容,相當于定義一個Subroutine,輸入?yún)?shù)即Using參數(shù),輸出參數(shù)即Changing參數(shù)。貨幣/數(shù)量字段:定義貨幣/數(shù)量類型的全局變量的參考字段。14Form(表格)設置頁和窗口什么是頁?Smartform的組成元素。頁類似于Dialog中的Screen。Smartform是由頁組成,包含至少一頁或多頁。每一頁包含多個節(jié)點,節(jié)點可以是窗口、地址、圖形等。什么是窗口?頁的組成元素。窗口分為主窗口、次窗口、拷貝窗口、最終窗口。15Form(表格)設置頁和窗口窗口類型——主窗口主窗口一般用于數(shù)據(jù)的列表顯示,用于LOOP循環(huán)顯示;當然也可顯示非列表內(nèi)容。一個Form中只能包含一個主窗口。主窗口可分頁輸出,即連續(xù)輸出到幾頁。無論輸出幾頁,主窗口的寬度必須一致,高度和位置可以任意指定。窗口類型——次窗口次窗口主要用于非列表顯示內(nèi)容的輸出。每一頁中能包含多個次窗口。次窗口不可分頁輸出。16Form(表格)設置頁和窗口窗口節(jié)點圖形節(jié)點、地址節(jié)點、文本節(jié)點、表節(jié)點、模板節(jié)點、流邏輯、循環(huán)節(jié)點、程序行、命令節(jié)點、文件夾17Form(表格)窗口節(jié)點——文本節(jié)點建立文本節(jié)點輸出文本內(nèi)容,是最后一級節(jié)點??梢允褂梦谋揪庉嬈?,編輯文本內(nèi)容,可以直接輸出文本,也可動態(tài)輸出文本。18Form(表格)窗口節(jié)點——表列表內(nèi)容顯示,可按一定條件循環(huán)顯示InternalTable中內(nèi)容??勺远x表的顯示格式、列寬、列數(shù)量??梢赃M行匯總統(tǒng)計。表包含表頭、主要區(qū)域、腳標三部分。表頭,即顯示列標題。主要區(qū)域,即Loop循環(huán)顯示區(qū)。腳標,即Footer區(qū)。19Form(表格)窗口節(jié)點——表20Form(表格)窗口節(jié)點——表表的屬性設置:表選項:可以設置表的寬度,列數(shù),每列列寬。數(shù)據(jù)選項:設置數(shù)據(jù)來源,SmartForm內(nèi)部定義的InternalTable,以及循環(huán)的條件。計算選項:用于做匯總統(tǒng)計,可按總計、平均值及數(shù)量來統(tǒng)計。輸出選項:選擇輸出樣式。條件選項:設置表的執(zhí)行條件。表頭、主要區(qū)域、腳標根據(jù)表定義的列數(shù),自動添加CELL,每個CELL下又可添加文本節(jié)點輸出要顯示內(nèi)容。21Form(表格)窗口節(jié)點——表點擊細節(jié)按鈕,設置行類型、每列寬度等內(nèi)容22Form(表格)窗口節(jié)點——模板模板用于按一定格式輸出一組文本??勺远x模板的顯示格式、列寬、列數(shù)量。模板通常在次窗口中輸出文本。可設置模板的執(zhí)行條件??筛鶕?jù)模板的列數(shù),增加相同數(shù)量的文本節(jié)點。23Form(表格)窗口節(jié)點——模板24Form(表格)窗口節(jié)點——流邏輯可選節(jié)點、循環(huán)節(jié)點、程序行、命令行窗口節(jié)點——流邏輯—循環(huán)節(jié)點此節(jié)點用于輸出InternalTable內(nèi)容。循環(huán)節(jié)點的下級節(jié)點一般設置為模板節(jié)點。循環(huán)節(jié)點定義要輸出InternalTable的內(nèi)容,下級的模板節(jié)點則定義循環(huán)輸出的每行格式。25Form(表格)窗口節(jié)點——流邏輯—循環(huán)節(jié)點循環(huán)節(jié)點的屬性設置:數(shù)據(jù)選項:設置數(shù)據(jù)來源,SmartForm內(nèi)部定義的InternalTable,以及循環(huán)的條件。計算選項:用于做匯總統(tǒng)計,可按總計、平均值及數(shù)量來統(tǒng)計。事件選項:可設置是否輸出表頭或腳標。輸出選項:選擇輸出樣式。條件選項:設置表的執(zhí)行條件。26Form(表格)窗口節(jié)點——流邏輯—循環(huán)節(jié)點27Form(表格)窗口節(jié)點——流邏輯—程序行可在程序行中增加邏輯程序處理。程序行相當于程序中subroutine,需要設置輸入和輸出參數(shù)。28SmartStyles(樣式)運行事務代碼SmartForms,選擇樣式(或者直接輸入事務代碼SmartStyles),輸入名稱Z001,點擊創(chuàng)建,如右圖所示:29SmartStyles(樣式)Smartform樣式——表頭數(shù)據(jù)表頭數(shù)據(jù)定義該樣式的默認設置。表頭數(shù)據(jù)中的標準段落必須指定。30SmartStyles(樣式)Smartform樣式—段落格式創(chuàng)建段落格式,一般有RH(ReportHeader),PD(PageHeader),PB(PageBottom),LD(LineHeaderandDetails),字體:CNSONG,9pt。定義不同段落的格式縮進和空格:設置對齊方式、行間距、段落縮進。字體:設置字體格式。標簽:用于設置一個段落中多個標簽的位置,并設定對齊方式。即在文本中使用段落時,一個文本可以輸出多種不同對齊方式。標簽的位置是從0開始計算。在文本中使用,,來分隔標簽。編號與框架:按提綱方式設置段落。31SmartStyles(樣式)Smartform樣式——段落格式32SmartStyles(樣式)Smartform樣式——字符格式33TextModule(文本模塊)Smartform文本模塊文本模塊用于定義文本模板,以便在Smartform報表中使用。文本模塊中只需定義文本內(nèi)容即可使用。在文本節(jié)點中使用文本模塊時,文本節(jié)點一般屬性要選擇[文本模塊],此時在[名稱]處選項定義的文本模塊即可。34在程序中調用SmartForm指定Smartform(一)調用smart名字。DATA:

sm_func

TYPE

rs38l_fnam.例:CALLFUNCTION'SSF_FUNCTION_MODULE_NAME'EXPORTINGFORMNAME='Z001'

"smartforms名字

IMPORTINGFM_NAME=sm_funcEXCEPTIONSNO_FORM=1NO_FUNCTION_MODULE=2OTHERS=3.35在程序中調用SmartForm指定Smartform(二)打印控制設置SSFCOMPOP、SSFCTRLOP類型參數(shù),配置打印控制。直接打印——不顯示Dialog;顯示Dialog——手工打印。DATA:

CONTROL_PARAMETERS

TYPE

SSFCTRLOP,

ERRTAB

TYPETSFERROR.DATA:

JOB_OUTPUT_INFO

TYPE

SSFCRESCL.

control_parameters-preview

=

‘X’.”打印預覽

control_parameters-no_open

=

'X'."沒有新的假脫機請求

control_parameters-no_close

=

'X'."不關閉假脫機請求36在程序中調用SmartForm指定Smartform(三)調用SSF_OPEN函數(shù)設置打印機,打開輸出請求,使用用戶打印設置必須調用SSF_OPEN。CALLFUNCTION'SSF_OPEN'EXPORTINGOUTPUT_OPTIONS=SSFCOMPOP類型變量CONTROL_PARAMETERS=SSFCTRLOP類型變量USER_SETTINGS='X'EXCEPTIONSFORMATTING_ERROR=1INTERNAL_ERROR=2SEND_ERROR=3USER_CANCELED=4OTHERS=5.37在程序中調用SmartForm指定Smartform(四)調用Smartforms的FunctionModule打印——smart表及變量傳遞CALLFUNCTIONL_FM_NAMEEXPORTINGCONTROL_PARAMETERS=SSFCTRLOP類型變量OUTPUT_OPTIONS=SSFCOMPOP類型變量USER_SETTINGS='X'Smartform中定義參數(shù)…=自定義變量TABLESSmartform中定義Table=自定義Internaltable.38在程序中調用SmartForm指定Smartform(五)關閉打印機設置

CALLFUNCTION'SSF_CLOSE'EXCEPTIONSFORMATTING_ERROR=1INTERNAL_ERROR=2SEND_ERROR=3OTHERS=4.39在程序中調用SmartForm示例——ZMMF013DATA:BEGIN

OF

ITAB13

OCCURS

0.

INCLUDE

STRUCTURE

ZMMF013.DATA:END

OF

ITAB13.DATA:SM_FUNC

TYPE

RS38L_FNAM.DATA:LIST

LIKE

ITAB13

OCCURS

0

WITH

HEADER

LINE.DATA:

GT_DETA

LIKE

ITAB13

OCCURS

0

WITH

HEADER

LINE.DATA:I_NAMELAST

LIKE

USER_ADDR-NAME_LAST.DATA:

CONTROL_PARAMETERS

TYPE

SSFCTRLOP,

ERRTAB

TYPE

TSFERROR.DATA:

JOB_OUTPUT_INFO

TYPE

SSFCRESCL.40在程序中調用SmartForm示例——ZMMF013FORM

DISPLAY

.

CALL

FUNCTION

'SSF_FUNCTION_MODULE_NAME'

EXPORTING

formname

=

'ZMMF013'

"smartforms名字

IMPORTING

fm_name

=

sm_func

EXCEPTIONS

no_form

=

1

no_function_module

=

2

others

=

3.

IF

sy-ucomm

=

‘PRIR'.

control_parameters-preview

=

‘X'.

ELSE.

control_parameters-preview

=

''.

ENDIF.

control_parameters-no_open

=

‘X'.

control_parameters-no_close

=

‘X'.

41在程序中調用SmartForm示例——ZMMF013LOOPATITAB13

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論