Smarts 教程.docx_第1页
Smarts 教程.docx_第2页
Smarts 教程.docx_第3页
Smarts 教程.docx_第4页
Smarts 教程.docx_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.2.3. 按回车(Enter)4. 字体和段落设计(程序名:zsf_test), 注:操作顺序见红色标记数字,以下不在提示。4. 创建段落PN 步骤(注:有窗口重叠,标记3和标记4位于新的窗口中,后面不在提示.)5. 设置 缩进和空格 6. 设置 PN字体7. 其他字段设置步骤同4、5、6段落格式描述缩进和空格字体对齐左边距右边距字体族字体大小字体样式下划线颜色PN定义数字右边-对齐0.1CNSONG9蓝色LR左右边框左对齐0.1CNSONG8PH标题左对齐CNSONG20粗体PL表格左对齐0.1CNSONG9PS统计右边-对齐0.1CNSONG9粗体PT表头左对齐0.1CNSONG9粗体TT表头下线CNSONG10粗体8. 设置表头数据9. 保存10. 激活11. 创建SmartForm 版面设计,程序的名称:zsf_test12. 设置表格属性结果:13. 全局定义 - 类型(注:标记3定义类型代码见下面)标记3类型代码,自己动手复制即可(注:与后面创建的ALV程序中定义的数据类型部分相同):TYPES:BEGINOFt_out, MAIN 窗口使用VBELNLIKEVBAK-VBELN,销售订单POSNRLIKEVBAP-POSNR,项目编号MATNRLIKEVBAP-MATNR,物料编号ARKTXLIKEVBAP-ARKTX,物料描述KWMENGLIKEVBAP-KWMENG,订单数量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.全局定义 - 全局数据(注意:利用定义的数据类型定义数据,详见步骤13)15. 全局定义 - 初始化(注:标记4中(ZSF_TEST)为后面创建的ALV程序文件名称)16. 全局定义 - 货币/数量字段17. 保存程序,方法同上18. 更改面名称,其他更改名称类似19. 打开页面布局预览20. 设置 main 窗口21. 增加 LOGO 窗口(注:如果多个窗口,可以拖拽窗口调整个个窗口的排列顺序)22. 增加LOGO 图片23. 设置 LOGO 输出选项23. 创建新窗口24. 设置新窗口为 Title窗口25. 同样的方法创建 left 窗口26. 同样的方法创建 Right 窗口27. 同样的方法创建 Footer 窗口28. 各个窗口布局结果:29. 在 Title 窗口中创建文本30. 在 Title 窗口中设置标题31. 创建循环32. 设置循环 LFT_LOOP33. 创建模板34 设置模板 LFT35. 在LFT模板下 创建 L1_C1_TXT 文本创建文本方法如上模板中的各个属性设置表文本描述一般属性 输出选项文本内容段落格式行列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窗口中创建并设置 RGT_LOOP 37. 以同样的方法RGT_LOOP下创建并设置 RGT模板模板中的各个属性设置表文本描述一般属性 输出选项文本内容段落格式行列L1C1_TXT供应商信息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窗口中创建并设置 Footer模板模板中的各个属性设置表文本描述一般属性 输出选项文本内容段落格式行列PAGE第&SFSY-PAGE&页,共&SFSY-FORMPAGES&页PT11DATE打印日期:&SFSY-DATE&PS1239. 在 Main 窗口下增加表40. 设置表属性41. 设置表行(步骤上同,帮省略)42. 在 Grid 表头下创建表行43. 设置表头 44. 修改列名称45. 给列增加文本45. 方法同上,设置各个列结果:46. 表头各个文本属性:文本内容段落格式POSNR_TXT项目PTMATNR_TXT料号PTARKTX_TXT物料描述PTKWMENG_TXT数量PTVRKME_TXT单位PTNETPR_TXT净价PTWAERK_TXT货币PTDISPO_TXT计划人PT47. 以设置表头的步骤,设置 主要区域(42 45)结果:48. 主要区域各个文本属性文本内容段落格式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. 对脚标进行设置LEFT窗口一样的操作过程49-1. 增加循环49-2 创建表行49-3 脚标各个文本属性单元格文本内容段落格式C1C1总计:PSC2C2&G_REC_SUM-NETPR(C)&PNC3C3&G_REC_SUM-WAERK&PL49-4 结果50. 在 Main 窗口增加一个程序行51. 设置程序行为 CODE_CLEAR,作为数据清理52. 同样的方法增加一个 金额计算求和的 SUM程序行53. 设置Main窗口表格边框54. 绘制 LEFT 窗口 LFT模板边框55. 同样的方法,绘制 RIGHT 窗口 RGT模板边框56保存并激活57-1. TCode 38 创建程序 ZSF_TEST(注:详细代码附本教程最后部分)57-2. 设置选择文本57 -3.57-458. 切换到TCode 80 模式59. 创建 GUI 状态60-1. 创建 Print 按钮60-2.60-3.60-4.60-5.60-6.60-7.60-8. 结果61保存并激活62-1运行程序,结果一:62-2运行程序,结果二:62-3运行程序,结果三:恭喜你完成SMARTFORM。ALV 程序代码:*&-*&ReportZSF_TEST*&*&-*&自己完成此处注释*&*&-*REPORTZSF_TEST.自己更改所需要的文件名TABLES:vbak,vbap,vbkd,kna1,mara,marc.定义Fieldcat一定要先调用该类型池TYPE-POOLS:slis.DATA:BEGINOFgt_outOCCURS0,vbelnLIKEvbak-vbeln,销售订单posnrLIKEvbap-posnr,项目编号matnrLIKEvbap-matnr,物料编号arktxLIKEvbap-arktx,物料描述kwmengLIKEvbap-kwmeng,订单数量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.此处写法不当,数据所量大时,禁止使用SELECT.ENDSELECT语句,防止频繁的从数据库中读取数据。获取客户资料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.打印预览control-no_dialog=_flagx.预览前选择输出设备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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论