PO-技术规格说明书-库存移动-V1.0(模板).doc

上传人:牧羊曲112 文档编号:1599880 上传时间:2022-12-10 格式:DOC 页数:10 大小:176KB
返回 下载 相关 举报
PO-技术规格说明书-库存移动-V1.0(模板).doc_第1页
第1页 / 共10页
PO-技术规格说明书-库存移动-V1.0(模板).doc_第2页
第2页 / 共10页
PO-技术规格说明书-库存移动-V1.0(模板).doc_第3页
第3页 / 共10页
PO-技术规格说明书-库存移动-V1.0(模板).doc_第4页
第4页 / 共10页
PO-技术规格说明书-库存移动-V1.0(模板).doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《PO-技术规格说明书-库存移动-V1.0(模板).doc》由会员分享,可在线阅读,更多相关《PO-技术规格说明书-库存移动-V1.0(模板).doc(10页珍藏版)》请在三一办公上搜索。

1、总体信息开发名称:库存移动Form对应功能说明书文件名称:SD-开发功能说明书_库存移动_V2.0.doc作者: 吉炜华作者 :张亮最后修改日期:2009-03-05开发对象类型:SMARTFORM打印程序负责该技术说明书顾问签字文档修改历史修订版本号最后修订者修订更改摘要修订完成日期1.0张亮初始版本2009-03-05未解决的Issue 清单Issue级别责任者计划/已解决日期 一、报表简单说明 1报表背景描述 SCM在整车库存发生移动时,要打印两张库存移动清单,移出库存单和移入库存单。在两张单据上要分别列出移动车辆的VIN和库存位置。2程序名称ZNASDF27N3事务代码ZNASDF27

2、5权限SCM部商品物流课相关人员使用。程序中对权限对象ZNA_WERKS进行检验。6语言需求中文7输出表单内容规则8参考事务MB039处理频率:随时10排序标准:无二、输入设定1.输入界面2. 输入参数栏位名称技术名称类型技术特征对应的表字段备注凭证日期s_bldat范围可选; C10mkpf-bldat记账日期s_budat范围可选; C10mkpf-budat物料s_matnr范围可选; C18mseg-matnr物料类型s_mtart范围可选; C4mara-mtart工厂p_werks单值可选; C4mseg-werks权限判定发出库存地s_lgort范围可选; C4mseg-lgor

3、t移动类型s_bwart范围可选; C3mseg-bwart物料凭证s_mblnr范围可选; C10mseg-mblnr拆分打印p_split范围可选; C1CHAR1三、输出设定 1.日报输出界面 2.打印输出界面四、程序逻辑1、转移单数据抓取 2、数据输出 先输出物料凭证列表,在由用户操作触发表单打印。 五、使用到的函数函数功能输入参数类型: 结构描述: 规则:返回参数六、流程图 输入输出逻辑TCODE:ZNASDF27,运行程序初始化界面ALV显示物料凭证行项目信息用户点击打印按钮打印选中表单五、虚拟代码1. 数据获取 SELECT smblnr smjahr kbldat kbudat

4、 kxblnr szeile slgort sumlgo INTO TABLE lt_mdoch FROM mseg AS s INNER JOIN mkpf AS k ON kmblnr = smblnr AND kmjahr = smjahr INNER JOIN mara AS a ON amatnr = smatnr WHERE smblnr IN s_mblnr AND smatnr IN s_matnr AND swerks = p_werks AND slgort IN s_lgort AND sbwart IN s_bwart AND kbudat IN s_budat AND

5、 kbldat IN s_bldat AND amtart IN s_mtart.2. 循环打印表单*&-*& Form smartform_output*&-* text*-*FORM smartform_output. DATA: lw_header TYPE stru_header, lw_item TYPE stru_item, lw_item2 TYPE stru_item. DATA lt_item TYPE STANDARD TABLE OF stru_item. DATA lt_item2 TYPE STANDARD TABLE OF stru_item. DATA: l_li

6、neno TYPE i, l_tabix TYPE i. DATA: fm_name TYPE rs38l_fnam, control TYPE ssfctrlop, errtab TYPE tsferror.* data: begin of stru_split, dospl type c, currp type i, pages type i, end of stru_split. data lw_split like stru_split.* * data: begin of lt_matnr occurs 0,* matnr like mara-matnr,* count type i

7、,* end of lt_matnr. data l_matnr like mara-matnr. data: l_num type i,l_count type i. READ TABLE gt_header TRANSPORTING NO FIELDS WITH KEY box = X. IF sy-subrc NE 0. MESSAGE s000 WITH text-m01. EXIT. ENDIF. CALL FUNCTION SSF_FUNCTION_MODULE_NAME EXPORTING formname = ZNASDF27N IMPORTING fm_name = fm_n

8、ame EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc 0. MESSAGE ID sy-msgid TYPE S NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. EXIT. ENDIF. control-no_dialog = X. control-preview = X. control-no_open = X. control-no_close = X. CALL FUNCTION SSF_OPEN EXPORTING contr

9、ol_parameters = control EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. IF sy-subrc 0.* error handling MESSAGE ID sy-msgid TYPE S NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. EXIT. ENDIF.* LOOP AT gt_header INTO lw_header WHERE box = X. LO

10、OP AT gt_header2 into lw_header. read table gt_header transporting no fields with key box = X mblnr = lw_header-mblnr mjahr = lw_header-mjahr. if sy-subrc 0. continue. endif. REFRESH lt_item. READ TABLE gt_prn_item TRANSPORTING NO FIELDS WITH KEY mblnr = lw_header-mblnr mjahr = lw_header-mjahr lgort

11、 = lw_header-lgort umlgo = lw_header-umlgo BINARY SEARCH. l_tabix = sy-tabix. l_lineno = 0. LOOP AT gt_prn_item INTO lw_item FROM l_tabix. IF lw_item-mblnr NE lw_header-mblnr OR lw_item-mjahr NE lw_header-mjahr or lw_item-lgort ne lw_header-lgort or lw_item-umlgo ne lw_header-umlgo. EXIT. ENDIF. ADD

12、 1 TO l_lineno. lw_item-lineno = l_lineno. APPEND lw_item TO lt_item. ENDLOOP. SORT lt_item BY lineno. if p_split = X.* free lt_matnr.* clear lw_item2.* loop at lt_item into lw_item2.* clear lt_matnr.* lt_matnr-matnr = lw_item2-matnr.* lt_matnr-count = 1.* collect lt_matnr.* endloop.* clear l_matnr.

13、 clear l_num. describe table lt_item lines l_count. loop at lt_item into lw_item2. free lt_item2. clear lw_split. append lw_item2 to lt_item2. if lw_item2-mtart = ZFRT or lw_item2-mtart = ZFRD or lw_item2-mtart = ZRH5.* if l_matnr lw_item2-matnr.* l_matnr = lw_item2-matnr.* l_num = 0.* read table lt

14、_matnr with key matnr = l_matnr.* l_count = lt_matnr-count.* endif. add 1 to l_num. lw_split-dospl = X. lw_split-currp = l_num. lw_split-pages = l_count. endif. EXPORT w_header FROM lw_header w_split from lw_split t_item FROM lt_item2 TO MEMORY ID ZNASDF27N. CALL FUNCTION fm_name EXPORTING control_p

15、arameters = control EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. IF sy-subrc 0. MESSAGE ID sy-msgid TYPE S NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. EXIT. ENDIF. endloop. else. clear lw_split. lw_split-dospl = . EXPORT w_header FROM

16、lw_header w_split from lw_split t_item FROM lt_item TO MEMORY ID ZNASDF27N. CALL FUNCTION fm_name EXPORTING control_parameters = control EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. IF sy-subrc 0. MESSAGE ID sy-msgid TYPE S NUMBER sy-msgno WITH sy-m

17、sgv1 sy-msgv2 sy-msgv3 sy-msgv4. EXIT. ENDIF. endif. ENDLOOP. CALL FUNCTION SSF_CLOSE* IMPORTING* JOB_OUTPUT_INFO = EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 OTHERS = 4. IF sy-subrc 0.* error handling MESSAGE ID sy-msgid TYPE S NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3

18、sy-msgv4. EXIT. ENDIF.* analyse internal error table of Smart Forms CALL FUNCTION SSF_READ_ERRORS IMPORTING errortab = errtab. IF NOT errtab IS INITIAL.* add your handling ENDIF.ENDFORM. smartform_output3,表单ZNASDF27N内部处理部分import w_header to w_header w_split to w_split t_item to t_item from memory id

19、 ZNASDF27N.free memory id ZNASDF27N.*select single BNAME PERSNUMBER ADDRNUMBER into corresponding fields of w_cuser from usr21where bname = sy-uname.select single NAME_FIRST NAME_LAST into corresponding fields of w_cuser from V_ADDR_USRwhere PERSNUMBER = w_cuser-PERSNUMBER and ADDRNUMBER = w_cuser-A

20、DDRNUMBER.*data lw_item type stru_item.data lw_matnr type stru_matnr.data lw_sernr type stru_sernr.data l_matnr like mseg-matnr.data l_linno type i value 0.loop at t_item into lw_item. if l_matnr lw_item-matnr. l_matnr = lw_item-matnr. clear lw_matnr. add 1 to l_linno. move-corresponding lw_item to lw_matnr. lw_matnr-linno = l_linno. append lw_matnr to t_matnr. endif. clear lw_sernr. lw_sernr-matnr = lw_item-matnr. lw_sernr-sernr = lw_item-sernr. lw_sernr-mapar = lw_item-mapar. lw_sernr-stort = lw_item-stort. append lw_sernr to t_sernr.endloop.-OVER-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号