当前位置: 首页 > news >正文

上海做机床的公司网站汕头百度seo找谁

上海做机床的公司网站,汕头百度seo找谁,网站建站管,个人网站平台搭建发现Smart Form在ECC6中和4.6C相比改变了不少#xff0c;最近重新研究了一下。help.sap.com上的文档基本上是针对新特性的#xff0c;不过例子却还是旧的。做个笔记省的以后找不到最新的example。最大的改变在Table上#xff0c;现在table的header和footer比以前好做了。还是…发现Smart Form在ECC6中和4.6C相比改变了不少最近重新研究了一下。help.sap.com上的文档基本上是针对新特性的不过例子却还是旧的。做个笔记省的以后找不到最新的example。 最大的改变在Table上现在table的header和footer比以前好做了。 还是用IDES自带的SFLIGHT表做例子先看一下打印出来的效果 Smart Form 相对SAP Script来说系统给封装了很多功能这样用户在Form中的代码写的少了一些更容易维护如果把SAP Script比作汇编语言的话Smart Form可以算上C了不过个人感觉对于复杂表单的设计来说用SAP Script更容易实现。在Smart Form中调整表格边线比较费劲。 1. Create a Form named ZBSUNTEST用TCode: SMARTFORMS创建一个空白的Form。双击左边树状结构中的Global Setting-Form Attributes。在 里头可以看到纸张的设置默认是A4。这里还可以调正一页中可以打印多少行。 2. Form Interface我们生成一个Form的同时系统也创建了一个相应的function module。Form与Application的数据交换就是通过function的interface来实现的。双击左边树状结构中的Global Setting-Form Interface我们可以看到 这和我们在SE37中看到的function module的接口是一样的。点击Table这个tab输入如下 3. Global Definition这里定义的是在form中共用的全局变量还可以定义subroutine。 是form初始化的时候调用的一个routine可以在这里做一些data初始化的工作。  用来设置货币或者数量的单位关联用的。下面是Global Data里头的定义上图中的T_SUM类型是我在Types里头定义的其中PRICE, CURRENCY是用来做sum用的 TYPES:  BEGIN OF T_SUM,    PRICE  TYPE S_PRICE,    CURRENCY   TYPE S_CURRCODE,  END OF T_SUM. 下面是Currecy Quantity的单位关联设置。这样关联之后Price会按照Currency的不同输出格式也不同  4. Create a Style named Z_BSUN_TITEL01回过头我们要创建一个给这个Form使用的Style。还是用SMARTFORMS这个TCode来创建。在这个Styel里头我只创建了Paragrah Format真正的项目中Character Format肯定也是不可缺少的。这个Style使用在Step 1 中创建的Form所有的Output Option中。 M1: Aligned:left;Indent-left margin:0.20 CM;font family: Arial;font size: 12ptM2: Aligned:right;Indent-right margin:0.20 CM;font family: Arial;font size: 11ptM3: Aligned:right;Indent-right margin:0.20 CM;font family: Arial;font size: 12pt;font color:blueT1: Aligned:center;font family: Arial;font size: 14pt;font style: Bold Italic 5.Creat a Page named FIRSTPG在 下创建一个名为FIRSTPG的page并把它的next page设置为其本身。Page Format设置为Portrait Format。 6.Create Windows under FIRSTPGWindows的Position and Size如下(单位都是CM) HEADER:  L2.60, U0.20, W14.70, H2.00MAIN: L2.00, U2.00, W16.00, H25.00FOOTER:  L2.60, U27.20, W14.70, H2.00 7. Create Headers Text在HEADER Window node下面创建一个Text取名TITLE。Text type设置成Text Element。再PC Editor中点  输入 。T1就是在Step 3里头定义的Paragraph Format。 8. Create a table in MAIN Window在MAIN Window node下面创建一个Table . Table下面自带了三个node: header, main area, footer颜色跟别的由用户创建的node有区别。其中Table的header node下面我们可以放表头。Table的footer node跟我们在Step 6创建的FOOTER Window有区别。FOOTER Window的位置是固定的Table的footer是Table的line在哪里结束它就紧跟在后面。文章开头的打印结果中我们可以很直观的看到这两个的区别FOOTER Window在每页的最下面打印了两次尽管内容不一样Table footer在第二页中间只打印了一次。当然我们说的都是默认的情况。 9. Insert program line CODE_CLEAR before MAIN Window Input Parameters:  G_TAB_DATA;Output Parameters: G_REC_TOTAL, G_TAB_TOTAL, G_ITEMS_ONPAGE; REFRESH: G_TAB_TOTAL, G_TAB_SUBTOTAL.CLEAR: G_REC_TOTAL, G_REC_SUBTOTAL, G_ITEMS, G_ITEMS_ONPAGE.DESCRIBE TABLE G_TAB_DATA LINES G_ITEMS. Get total item number  Programe Line中使用到的全局变量必须在Input/Output中定义否则check不通过。 10. Create some line types in Table FLIGHTINFOLine Type是控制表格格式的每一个Table Line都要指定一个Line TypeLayout如下图注意这些Line的border是框了线的 11. DATA of Table FLIGHTINFOG_TAB_DATA是Step 2在Form Interface定义的一个内部表也就是从Application传过来准备给Form显示的数据。我们还想让显示的数据排一下序当然这可以在外部程序中SORT不过这里的排序还有触发event的作用后面会讲到。如果内部表已经排好序了只是想触发类似LOOP的AT NEW/AT END OF这样的功能那么把 这个勾上就好。下面是SORT的设置我们对CARRID(Airline),CONNID(Flight No.)排序并且要触发两个events用来做subtotal统计。 12. Calculation of Table FLIGHTINFO是用来对Table的Fields做简单计算的包括Number, Total, Mean Value。如果不是涉及到货币或者数量的统计我们可以用Total这个Operation具体使用可以参考help。我这里用了Number做一个每页的Items统计Number也可以用来做行号。 13. Insert a title in table header在Table FLIGHTINFO的header node下增加table line HEADER_LINE。LINE TYPE选Line1。tablbe line自动带出5个cellcell的数目是根据LINE TYPE :Line1来的Step 10里头可以看到Line1是有5个cell的。我们在每一个cell下面添加一个Text作为colum title把paragraph format设置成M1。不过Price这个Column因为是数字paragraph format设置成M3P.S.Table自带的header的Output Option-Print Time有两个选项at start of Table就不说了不过at Page Break工作不正常第2页并没有打印出来title也不知道是不是我写的问题。 14. Insert table line into table main areaMain Area是显示Application传进来的内部表的地方和Step 13一样增加一个Line TypeLINE1的Table Line每个Cell下各增加一个Text属性设置成Text Element。点PC Editor的 编辑Text内容以CARRID为例   15. Insert a Program Line Under DATA_LINESCURRENCY_DATA下的Programe Line: SUM是为了做合计用的按照Currecy的不同将Price合计。当然单价Price的合计没什么实际意义权当是演示 Input Parameters:  G_REC_DATA, G_TAB_SUBTOTAL;Output Parameters: G_REC_TOTAL, G_TAB_TOTAL; G_REC_TOTAL-PRICE G_REC_DATA-PRICE.G_REC_TOTAL-CURRENCY G_REC_DATA-CURRENCY.COLLECT G_REC_TOTAL INTO G_TAB_TOTAL.COLLECT G_REC_TOTAL INTO G_TAB_SUBTOTAL.CLEAR: G_REC_TOTAL. 内部表G_TAB_TOTAL,G_TAB_SUBTOTAL保存的是合计和根据Airline进行小计的数据。 16. Print Grand Total in table footer在table的footer node下增加一个loop node  。Loop的DATA如下因为我只想在所有的记录打印结束之后显示总计所以给这个loop增加一个condition。在Condition Tab里的Output Condition中增加一行G_ITEMS_ONPAGE在Step 12中被赋值Number, G_ITEM在Step 9被赋值内部表中的记录数当这两个值相等的时候也就是记录输出完毕的时候。再给loop node下一级增加一行table lineLINE TYPE : LINE3 GRANDTOTAL: M2 - Grand total:PRICESUM_TAB: M2 - G_REC_TOTAL-PRICECURR_TAB: M2-G_REC_TOTAL-CURRENCY 17. Print subtotal in table (1)我们在Step 10里头的Sort中勾选了CARRID字段的两个事件之后就能够发现table node 自动增加了两个节点首先在CARRID Event on Sort Begin下一级增加一个Program Line:SUB_CLEAR用来在CARRID改变的时候清空subtotal内部表。 Output Parameters: G_REC_SUBTOTAL; CLEAR: G_REC_SUBTOTAL. REFRESH: G_TAB_SUBTOTAL. 然后在CARRID Event on Sort End下一级增加一个Program Line:CLEAR_SUBTITLE用来清空一个打印标志。 Output Parameters: G_FLG_SUBTITLE; CLEAR: G_FLG_SUBTITLE. 每一个CARRID(Airline)下面可能会有多种不同的货币价格这个标志的作用是为了限制下面的Subtotal of G_REC_SUBTOTAL-CARRID is这句话在小计的时候不至于print出来很多遍。 18. Print subtotal in table (2)在CARRID Event on Sort End下一级增加一个Loop:PRINTSUBTOTAL:Loop:PRINTSUBTOTAL:下一级增加一个table line:SUBTOTALLINE TYPE : LINE3 AIRLINE_NAME: M2 - Subtotal ofG_REC_DATA-CARRID isSUB_PRICE: M2 - G_REC_SUBTOTAL-PRICESUB_CURR: M2-G_REC_SUBTOTAL-CURRENCY 其中AIRLINE_NAME是有显示条件的G_FLG_SUBTITLE没有赋值的时候才显示。AIRLINE_NAME print出来之后我们在Program Line SET_SUBTITLE中将G_FLG_SUBTITLE设置为X。 Output Parameters: G_FLG_SUBTITLE; G_FLG_SUBTITLE X. 19. Print Grand Total in page footer在FOOTER Window的下一级添加一个Table Line: FTTABLE, Line Type:DATA:然后在FTTABLE的Main Area下增加一行Table Line: PRICESUM, Line Type: LINE1 为了控制在最后一页的页脚打印出来金额合计要给PRICESUM增加一个条件。在Conditions Tab里头的And Additional Event中勾选Only after end of main window。SUM和CURR这两个Text的设置如下 SUM: M2 - G_REC_TOTAL-PRICECURR: M2-G_REC_TOTAL-CURRENCY 最后在FTTABLE的Footer下增加一行Table Line: FOOTER, Line Type: LINE1 ITEMS: M2 - ITEMS IN THIS PAGE:G_ITEMS_ONPAGE(3)PAGE: M2-PAGE:SFSY-PAGE 20. Calling a Smart Form from Application生成smart form的同时系统会自动创建一个对应的funtion module这个function的名字可以通过菜单Enviroment-Function Module Name得到。在程序中一般通过function SSF_FUNCTION_MODULE_NAME来得到。下面是我们的测试这个smart form的代码 *---------------------------------------------------------------------** Report  Z_SUN_SFORM**---------------------------------------------------------------------* REPORT  Z_SUN_SFORM NO STANDARD PAGE HEADING LINE-SIZE 150 MESSAGE-ID ZBSUN.************************************************************************* D E C L A R A T I O N   O F  I N T E R N A L    T A B L E S************************************************************************DATA:  G_TAB_OUTPUT   TYPE STANDARD TABLE OF SFLIGHT. ************************************************************************* D E C L A R A T I O N   O F  V A R I A B L E S************************************************************************DATA:  G_REC_OUTPUT      TYPE SFLIGHT,  G_REC_OPTIONS     LIKE ITCPO,  G_REC_RESULT      TYPE ITCPP.************************************************************************* D E C L A R A T I O N   O F  C O N S T A N T S************************************************************************CONSTANTS:  G_CON_FLG_ON      TYPE C VALUE X,  G_CON_FORMNAME(8) TYPE C VALUE ZBSUN_01. *************************************************************************    S E L E C T I O N   S C R E E N************************************************************************SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME.SELECT-OPTIONS S_LINE FOR G_REC_OUTPUT-CARRID NO INTERVALS.SELECT-OPTIONS S_DATE FOR G_REC_OUTPUT-FLDATE.SELECTION-SCREEN END OF BLOCK BLOCK1. *************************************************************************  S T A R T - O F - S E L E C T I O N************************************************************************START-OF-SELECTION.  PERFORM FRM_GET_DATA. *************************************************************************  E N D - O F - S E L E C T I O N************************************************************************END-OF-SELECTION.  PERFORM FRM_OUTPUT. *---------------------------------------------------------------------**      Form  FRM_GET_DATA*---------------------------------------------------------------------**       GET FLIGHT DATA*----------------------------------------------------------------------*FORM FRM_GET_DATA .  SELECT *    INTO TABLE G_TAB_OUTPUT    FROM SFLIGHT   WHERE CARRID IN S_LINE     AND FLDATE IN S_DATE.  IF SY-SUBRC 0.    MESSAGE E000.*   No data selected.  ENDIF.ENDFORM.                    FRM_GET_DATA*---------------------------------------------------------------------**      Form  FRM_OUTPUT*---------------------------------------------------------------------**       OUTPUT DATA*----------------------------------------------------------------------*FORM FRM_OUTPUT.  DATA: FM_NAME TYPE RS38L_FNAM.  CALL FUNCTION SSF_FUNCTION_MODULE_NAME    EXPORTING      FORMNAME                 ZBSUNTEST*     VARIANT                  *     DIRECT_CALL                 IMPORTING     FM_NAME                  FM_NAME*   EXCEPTIONS*     NO_FORM                  1*     NO_FUNCTION_MODULE       2*     OTHERS                   3            .  IF SY-SUBRC 0.*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO*           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.  ENDIF.   CALL FUNCTION fm_name*  EXPORTING*   ARCHIVE_INDEX *   ARCHIVE_PARAMETERS *   CONTROL_PARAMETERS *   MAIL_APPL_OBJ *   MAIL_RECIPIENT *   MAIL_SENDER *   OUTPUT_OPTIONS *   USER_SETTINGS X* IMPORTING*   DOCUMENT_OUTPUT_INFO *   JOB_OUTPUT_INFO *   JOB_OUTPUT_OPTIONS   TABLES    G_TAB_DATA G_TAB_OUTPUT  EXCEPTIONS    FORMATTING_ERROR 1    INTERNAL_ERROR 2    SEND_ERROR 3    USER_CANCELED 4    OTHERS 5. IF SY-SUBRC 0.*   error handlingENDIF. ENDFORM.                    FRM_OUTPUT 到这里这个Tutorial就结束了我们没有用到的node还有Command, Alternative,Graphic,Complex Section等。其中Command主要用来插入分页或者打印控制语句的Alternative用来插入一个逻辑分支Graphic插入图片的Complex Section我自己没用过看帮助文件说SAP不推荐使用。 在real project中的form不会有这么简单但是也不会脱离这些elements的组合。   转载于:https://www.cnblogs.com/duadu/archive/2007/07/23/6166698.html
http://www.zqtcl.cn/news/613897/

相关文章:

  • 网站不备案能访问吗哪家做企业网站
  • 做网站写的代号好跟不好的区别企信网企业信用信息系统
  • 网站需要服务器吗手机网站解决方案
  • 网站子网页怎么做国外网站 模板
  • 手机评测网站标志设计分析
  • 网页游戏网站建设成都公司网站
  • 网站流量统计分析的误区wordpress二级目录安装
  • 深互动平台网站wordpress后台无法访问
  • 建立网站需要服务器吗网站建设辶首先金手指十四
  • 做的成功的地方网站办公室工装设计公司
  • 怎样添加网站上百度商桥代码网站建设实验报告手写
  • 江阴做网站优化辽宁世纪兴电子商务服务中心
  • 最新创建的网站搭建网站的平台有哪些
  • 全国房地产网站企管宝app下载
  • 无线网络网站dns解析失败南通模板建站多少钱
  • h5手机网站建设哪家好北京海淀房管局网站
  • 制作一个简单的网站冬奥会网页设计代码
  • 如何做网站 百度西充建设部门投诉网站
  • 怎么创建自己的博客网站网站优化主要内容
  • 太原网站建设推广建设网站观澜
  • 网站开发员名称是什么网站制作教程及流程
  • 建设财经资讯网站的目的移动端网站模板怎么做的
  • 受欢迎的赣州网站建设青岛建站
  • 青海网站制作哪家好烟台龙口网站建设
  • 婚恋网站排名前十名网站建设的论坛
  • 进行网站建设有哪些重要意义上海浦东建筑建设网站污水处理工程
  • 自己做qq代刷网站要钱吗瑞安网站建设优化推广
  • 建设网站招标定制高端网站建设报价
  • 商城网站建设code521广州安全教育平台登录入囗
  • 如何做网站系统安庆网站建设公司简