Smarts 教程.docx_第1頁
Smarts 教程.docx_第2頁
Smarts 教程.docx_第3頁
Smarts 教程.docx_第4頁
Smarts 教程.docx_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1.2.3. 按回車(Enter)4. 字體和段落設(shè)計(程序名:zsf_test), 注:操作順序見紅色標記數(shù)字,以下不在提示。4. 創(chuàng)建段落PN 步驟(注:有窗口重疊,標記3和標記4位于新的窗口中,后面不在提示.)5. 設(shè)置 縮進和空格 6. 設(shè)置 PN字體7. 其他字段設(shè)置步驟同4、5、6段落格式描述縮進和空格字體對齊左邊距右邊距字體族字體大小字體樣式下劃線顏色PN定義數(shù)字右邊-對齊0.1CNSONG9藍色LR左右邊框左對齊0.1CNSONG8PH標題左對齊CNSONG20粗體PL表格左對齊0.1CNSONG9PS統(tǒng)計右邊-對齊0.1CNSONG9粗體PT表頭左對齊0.1CNSONG9粗體TT表頭下線CNSONG10粗體8. 設(shè)置表頭數(shù)據(jù)9. 保存10. 激活11. 創(chuàng)建SmartForm 版面設(shè)計,程序的名稱:zsf_test12. 設(shè)置表格屬性結(jié)果:13. 全局定義 - 類型(注:標記3定義類型代碼見下面)標記3類型代碼,自己動手復(fù)制即可(注:與后面創(chuàng)建的ALV程序中定義的數(shù)據(jù)類型部分相同):TYPES:BEGINOFt_out, MAIN 窗口使用VBELNLIKEVBAK-VBELN,銷售訂單POSNRLIKEVBAP-POSNR,項目編號MATNRLIKEVBAP-MATNR,物料編號ARKTXLIKEVBAP-ARKTX,物料描述KWMENGLIKEVBAP-KWMENG,訂單數(shù)量VRKMELIKEVBAP-VRKME,銷售單位NETPRLIKEVBAP-NETPR,銷售凈價WAERKLIKEVBAP-WAERK,貨幣名稱BSTKDLIKEVBKD-BSTKD,采購訂單ZTERMLIKEVBKD-ZTERM,付款條件DISPOLIKEMARC-DISPO,物料計劃人KUNNRLIKEKNA1-KUNNR,客戶編號NAME1LIKEKNA1-NAME1,客戶名稱ORT01LIKEKNA1-ORT01,所在城市STRASLIKEKNA1-STRAS,街道名稱ADRNRLIKEKNA1-ADRNR,詳細地址TELF1LIKEKNA1-TELF1,固定電話ENDOFt_out,BEGINOFt_lr, 左右Left/Right窗口使用VBELNLIKEVBAK-VBELN, 銷售訂單BSTNKLIKEVBAK-BSTNK, 采購訂單BSTDKLIKEVBKD-BSTDK, 下單日期VBTYPLIKEVBAK-VBTYP, 訂單類型NETWRLIKEVBAK-NETWR, 銷售凈價WAERKLIKEVBAK-WAERK, 貨幣名稱ZTERMLIKEVBKD-ZTERM, 付款條件KUNNRLIKEKNA1-KUNNR, 客戶編號NAME1LIKEKNA1-NAME1, 客戶名稱ORT01LIKEKNA1-ORT01, 所在城市STRASLIKEKNA1-STRAS, 街道名稱ADRNRLIKEKNA1-ADRNR, 詳細地址TELF1LIKEKNA1-TELF1, 固定電話ENDOFt_lr,BEGINOFt_sum, 頁腳Footer窗口使用NETPRTYPES_PRICE, 銷售總價WAERKTYPES_CURRCODE, 貨幣名稱ENDOFt_sum. 不要少此處的點號14.全局定義 - 全局數(shù)據(jù)(注意:利用定義的數(shù)據(jù)類型定義數(shù)據(jù),詳見步驟13)15. 全局定義 - 初始化(注:標記4中(ZSF_TEST)為后面創(chuàng)建的ALV程序文件名稱)16. 全局定義 - 貨幣/數(shù)量字段17. 保存程序,方法同上18. 更改面名稱,其他更改名稱類似19. 打開頁面布局預(yù)覽20. 設(shè)置 main 窗口21. 增加 LOGO 窗口(注:如果多個窗口,可以拖拽窗口調(diào)整個個窗口的排列順序)22. 增加LOGO 圖片23. 設(shè)置 LOGO 輸出選項23. 創(chuàng)建新窗口24. 設(shè)置新窗口為 Title窗口25. 同樣的方法創(chuàng)建 left 窗口26. 同樣的方法創(chuàng)建 Right 窗口27. 同樣的方法創(chuàng)建 Footer 窗口28. 各個窗口布局結(jié)果:29. 在 Title 窗口中創(chuàng)建文本30. 在 Title 窗口中設(shè)置標題31. 創(chuàng)建循環(huán)32. 設(shè)置循環(huán) LFT_LOOP33. 創(chuàng)建模板34 設(shè)置模板 LFT35. 在LFT模板下 創(chuàng)建 L1_C1_TXT 文本創(chuàng)建文本方法如上模板中的各個屬性設(shè)置表文本描述一般屬性 輸出選項文本內(nèi)容段落格式行列L1_C1_TXT銷售訂單總覽TT11L1_C2_NULL12L2_C1_TXT銷售訂單:PL21L2_C2_VBELN&G_REC_LR-VBELN&LR22L3_C1_TXT采購訂單:PL31L3_C2_BSTNK&G_REC_LR-BSTNK&LR32L4_C1_TXT下單日期:PL41L4_C2_BSTDK&G_REC_LR-BSTDK&LR42L5_C1_TXT訂單類型:PL51L5_C2_VBTYP&G_REC_LR-VBTYP&LR52L6_C1_TXT付款條件:PL61L6_C2_ZTERM&G_REC_LR-ZTERM&LR6236 . 以同樣的方法在 Right窗口中創(chuàng)建并設(shè)置 RGT_LOOP 37. 以同樣的方法RGT_LOOP下創(chuàng)建并設(shè)置 RGT模板模板中的各個屬性設(shè)置表文本描述一般屬性 輸出選項文本內(nèi)容段落格式行列L1C1_TXT供應(yīng)商信息TT11L1C2_NULL12L2C1_TXT客戶編號:PL21L2C2_KUNNR&G_REC_LR-KUNNR&LR22L3C1_TXT客戶名稱:PL31L3C2_NAME1&G_REC_LR-NAME1&LR32L4C1_TXT所在城市PL41L4C2_ORT01&G_REC_LR-ORT01&LR42L5C1_TXT詳細地址PL51L5C2_ADRNR&G_REC_LR-STRAS& &G_REC_LR-ADRNR&LR52L6C1_TXT固定電話PL61L6C2_TELF1&G_REC_LR-TELF1&LR6238. 以同樣的方法在 Footer窗口中創(chuàng)建并設(shè)置 Footer模板模板中的各個屬性設(shè)置表文本描述一般屬性 輸出選項文本內(nèi)容段落格式行列PAGE第&SFSY-PAGE&頁,共&SFSY-FORMPAGES&頁PT11DATE打印日期:&SFSY-DATE&PS1239. 在 Main 窗口下增加表40. 設(shè)置表屬性41. 設(shè)置表行(步驟上同,幫省略)42. 在 Grid 表頭下創(chuàng)建表行43. 設(shè)置表頭 44. 修改列名稱45. 給列增加文本45. 方法同上,設(shè)置各個列結(jié)果:46. 表頭各個文本屬性:文本內(nèi)容段落格式POSNR_TXT項目PTMATNR_TXT料號PTARKTX_TXT物料描述PTKWMENG_TXT數(shù)量PTVRKME_TXT單位PTNETPR_TXT凈價PTWAERK_TXT貨幣PTDISPO_TXT計劃人PT47. 以設(shè)置表頭的步驟,設(shè)置 主要區(qū)域(42 45)結(jié)果:48. 主要區(qū)域各個文本屬性文本內(nèi)容段落格式POSNR&G_REC_OUT-POSNR&PLMATNR&G_REC_OUT-MATNR&PLARKTX&G_REC_OUT-ARKTX&PLKWMENG&G_REC_OUT-KWMENG(C)&PNVRKME&G_REC_OUT-VRKME&PLNETPR&G_REC_OUT-NETPR(C)&PNWAERK&G_REC_OUT-WAERK&PLDISPO&G_REC_OUT-DISPO&PL49. 對腳標進行設(shè)置LEFT窗口一樣的操作過程49-1. 增加循環(huán)49-2 創(chuàng)建表行49-3 腳標各個文本屬性單元格文本內(nèi)容段落格式C1C1總計:PSC2C2&G_REC_SUM-NETPR(C)&PNC3C3&G_REC_SUM-WAERK&PL49-4 結(jié)果50. 在 Main 窗口增加一個程序行51. 設(shè)置程序行為 CODE_CLEAR,作為數(shù)據(jù)清理52. 同樣的方法增加一個 金額計算求和的 SUM程序行53. 設(shè)置Main窗口表格邊框54. 繪制 LEFT 窗口 LFT模板邊框55. 同樣的方法,繪制 RIGHT 窗口 RGT模板邊框56保存并激活57-1. TCode 38 創(chuàng)建程序 ZSF_TEST(注:詳細代碼附本教程最后部分)57-2. 設(shè)置選擇文本57 -3.57-458. 切換到TCode 80 模式59. 創(chuàng)建 GUI 狀態(tài)60-1. 創(chuàng)建 Print 按鈕60-2.60-3.60-4.60-5.60-6.60-7.60-8. 結(jié)果61保存并激活62-1運行程序,結(jié)果一:62-2運行程序,結(jié)果二:62-3運行程序,結(jié)果三:恭喜你完成SMARTFORM。ALV 程序代碼:*&-*&ReportZSF_TEST*&*&-*&自己完成此處注釋*&*&-*REPORTZSF_TEST.自己更改所需要的文件名TABLES:vbak,vbap,vbkd,kna1,mara,marc.定義Fieldcat一定要先調(diào)用該類型池TYPE-POOLS:slis.DATA:BEGINOFgt_outOCCURS0,vbelnLIKEvbak-vbeln,銷售訂單posnrLIKEvbap-posnr,項目編號matnrLIKEvbap-matnr,物料編號arktxLIKEvbap-arktx,物料描述kwmengLIKEvbap-kwmeng,訂單數(shù)量vrkmeLIKEvbap-vrkme,銷售單位netprLIKEvbap-netpr,銷售凈價waerkLIKEvbap-waerk,貨幣名稱bstkdLIKEvbkd-bstkd,采購訂單ztermLIKEvbkd-zterm,付款條件dispoLIKEmarc-dispo,物料計劃人kunnrLIKEkna1-kunnr,客戶編號name1LIKEkna1-name1,客戶名稱ort01LIKEkna1-ort01,所在城市strasLIKEkna1-stras,街道名稱adrnrLIKEkna1-adrnr,詳細地址telf1LIKEkna1-telf1,固定電話ENDOFgt_out,gw_outLIKELINEOFgt_out.FIELD-SYMBOLS:LIKELINEOFgt_out.DATA:BEGINOFgt_lrOCCURS0,vbelnLIKEvbak-vbeln,銷售訂單bstnkLIKEvbak-bstnk,采購訂單bstdkLIKEvbkd-bstdk,下單日期vbtypLIKEvbak-vbtyp,訂單類型netwrLIKEvbak-netwr,銷售凈價waerkLIKEvbak-waerk,貨幣名稱ztermLIKEvbkd-zterm,付款條件kunnrLIKEkna1-kunnr,客戶編號name1LIKEkna1-name1,客戶名稱ort01LIKEkna1-ort01,所在城市strasLIKEkna1-stras,街道名稱adrnrLIKEkna1-adrnr,詳細地址telf1LIKEkna1-telf1,固定電話ENDOFgt_lr,gw_lrLIKELINEOFgt_lr.*定義Fieldcat與LayoutDATA:fieldcatTYPEslis_t_fieldcat_alv,WITHHEADERLINE,gw_fieldLIKELINEOFfieldcat,layoutTYPEslis_layout_alv,g_repidLIKEsy-repid.*定義事件DATA:gt_eventTYPEslis_t_event,gs_eventTYPEslis_alv_event.*gs_event-name=PF_STATUS_SET.*gs_event-form=ALV_STATUS_SET.*APPENDgs_eventTOgt_event.DEFINEdef_field.cleargw_field.gw_field-fieldname=&1.gw_field-reptext_ddic=&2.標題*gw_field-coltext=&2.列標題gw_field-seltext_l=&2.長字段標簽gw_field-seltext_m=&2.gw_field-seltext_s=&2.gw_field-ddictxt=L.gw_field-ddic_outputlen=&3.gw_field-checkbox=&4.gw_field-edit=&5.gw_field-ref_tabname=&6.appendgw_fieldtofieldcat.END-OF-DEFINITION.SELECTION-SCREENBEGINOFBLOCKblkWITHFRAMETITLEtext-001.PARAMETERS:p_werksLIKEmarc-werksDEFAULT1200OBLIGATORY,p_vbelnLIKEvbak-vbelnDEFAULT4974OBLIGATORY.SELECT-OPTIONS:s_vkorgFORvbak-vkorg,s_vtwegFORvbak-vtweg,s_spartFORvbak-spart.SELECTION-SCREENSKIP1.PARAMETERS:p_layoutLIKEdisvariant-variant.SELECTION-SCREENENDOFBLOCKblk.START-OF-SELECTION.PERFORMget_data.PERFORMset_alv.PERFORMshow_alv.*&-*&FormGET_DATA*&-*text*-*-p1text*-p2text*-*FORMget_data.DATA:lv_kunnrLIKEkna1-kunnr.CLEAR:gt_out.SELECTvbapposnrvbapmatnrvbaparktxvbapkwmengvbapvrkmevbapnetprvbapwaerkvbakkunnrmarcdispoINTOCORRESPONDINGFIELDSOFgw_outFROMvbapINNERJOINvbakONvbapvbeln=vbakvbelnINNERJOINmarcONvbapmatnr=marcmatnrWHEREmarcwerks=p_werksANDvbakvbeln=p_vbelnANDvbakvkorgINs_vkorgANDvbakvtwegINs_vtwegANDvbakspartINs_spartORDERBYvbapvbeln.gw_out-vbeln=p_vbeln.lv_kunnr=gw_out-kunnr.APPENDgw_outTOgt_out.ENDSELECT.此處寫法不當,數(shù)據(jù)所量大時,禁止使用SELECT.ENDSELECT語句,防止頻繁的從數(shù)據(jù)庫中讀取數(shù)據(jù)。獲取客戶資料SELECTSINGLEkunnrname1ort01strasadrnrtelf1INTO(gw_lr-kunnr,gw_lr-name1,gw_lr-ort01,gw_lr-stras,gw_lr-adrnr,gw_lr-telf1)FROMkna1WHEREkunnr=lv_kunnr.獲取訂單資料SELECTSINGLEvbakvbelnvbakbstnkvbkdbstdkvbakvbtypvbaknetwrvbakwaerkvbkdztermINTO(gw_lr-vbeln,gw_lr-bstnk,gw_lr-bstdk,gw_lr-vbtyp,gw_lr-netwr,gw_lr-waerk,gw_lr-zterm)FROMvbakINNERJOINvbkdONvbakvbeln=vbkdvbelnWHEREvbakvbeln=p_vbeln.APPENDgw_lrTOgt_lr.LOOPATgt_outASSIGNING.-bstkd=gw_lr-bstnk.-zterm=gw_lr-zterm.-name1=gw_lr-name1.-ort01=gw_lr-ort01.-stras=gw_lr-stras.-adrnr=gw_lr-adrnr.-telf1=gw_lr-telf1.ENDLOOP.*CONCATENATEgw_lr-STRAS,gw_lr-ADRNRINTOgw_lr-STRASSEPARATEDBYspace.*CONDENSEgw_lr-STRASNO-GAPS.*CONDENSEgw_lr-TELF1NO-GAPS.*APPENDgw_lrTOgt_lr.ENDFORM.GET_DATA*&-*&FormSET_ALV*&-*text*-*-p1text*p1text*-p2text*-*FORMshow_alv.layout-colwidth_optimize=X.CALLFUNCTIONREUSE_ALV_GRID_DISPLAYEXPORTINGi_callback_program=g_repidIT_EVENTS=gt_eventi_callback_user_command=USER_COMMANDi_callback_pf_status_set=PF_STATUSis_layout=layoutit_fieldcat=fieldcati_grid_title=銷售訂單信息TABLESt_outtab=gt_outEXCEPTIONSprogram_error=1OTHERS=2.IFsy-subrc0.MESSAGEIDsy-msgidTYPEsy-msgtyNUMBERsy-msgnoWITHsy-msgv1sy-msgv2sy-msgv3sy-msgv4.ENDIF.ENDFORM.SHOW_ALV*&-*&Formpf_status*&-*text*-*-PT_EXTABtext*-*FORMpf_statusUSINGpt_extabTYPEslis_t_extab.CLEAR:pt_extab.SETPF-STATUSPF_STATUS.ENDFORM.pf_status*&-*&Formuser_command*&-*text*-*-P_UCOMMtext*-P_SELFIELDtext*-*FORMuser_commandUSINGp_ucommLIKEsy-ucommp_selfieldTYPEslis_selfield.CASEp_ucomm.WHENPRINT.PERFORMprint_data.WHENOTHERS.ENDCASE.ENDFORM.user_command*&-*&FormPRINT_DATA*&-*text*-*-p1text*-p2text*-*FORMprint_data.*DATA:lt_outLIKESTANDARDTABLEOFzsolzh,*lw_outLIKELINEOFlt_out,*lt_lrLIKESTANDARDTABLEOFzsolzhs.*DATA:fn_nameTYPErs38l_fnam.DATA:controlTYPEssfctrlop,joboutTYPEssfcresop.control-preview=X.打印預(yù)覽control-no_dialog=_flagx.預(yù)覽前選擇輸出設(shè)備control-langu=sy-langu.control-no_open=X.control-no_close=X.gs_outopt-tdimmed=cn_flagx.自動打印CALLFUNCTIONSSF_OPENEXPORTINGARCHIVE_PARAMETERS=user_settings=XMAIL_SENDER=MAIL_RECIPIENT=MAIL_APPL_OBJ=OUT_OPTIONS=control_parameters=controlIMPORTINGjob_output_options=joboutEXCEPTIONSformatti

溫馨提示

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

評論

0/150

提交評論