如有转载注明出处:http://blog.csdn.net/donkey2004112103/archive/2009/07/10/4337206.aspx
这两天做了一个比较复杂的smartforms,做一个smartforms的步骤是什么了?有点自己的体会。我觉得按照下面的顺序做比较合理。
1.设计接口
做比较复杂的smartforms时,先把接口确定下来,到底传什么数据,需要什么数据弄清楚。那些数据时表,那些是结构。定义好结构,并且在smartforms中定义好接口,设计好框架。做的总账明细账就是一个典型的例子,总账明细账有点类似与faglb03,显示了科目的借方累计,贷方累计,余额,累计余额,还把改月份下的所有凭证都去取出来!就是双击faglb03条目后的效果。设计该接口的时候发现一个抬头可能对应多张纸,那么两个都是内表结构,而且在smartforms中是嵌套的循环。如图:
2.写取数程序
取数程序就是需求和接口道表中取相应的数据在整理下,最好把取数封装在function中,这样测试就非常方便,也是程序逻辑非常清晰。
3.smartforms格式设计
这部分整理好后,就可以打印预览让业务顾问测试了。如果没问题,传到qas让用户测试。
4.问题汇总
4.1 如果连打的话要在打印机中设置纸张类型
4.2 打印时立即打印要选中。可以再代码中完成,如下:
DATA: fm_name TYPE rs38l_fnam. DATA: ctrl_param TYPE ssfctrlop, out_option TYPE ssfcompop. out_option-tdimmed = 'X'. " Print Immediately (Print Parameters)
CALL FUNCTION fm_name EXPORTING control_parameters = ctrl_param output_options = out_option user_settings = space g_totallines = l_lines i_head = u_gs_head i_account = u_gs_account TABLES t_account = gt_account t_items = gt_list.
其中设计接口应该是最重要的,设计好后,应该就胸有成竹了。