版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DATE\@"yyyy-MM-dd"2009-10-28Version1.0PAGE1联芯科技ERP项目 DATE\@"M/d/yyyy"10/28/2009Version1.0 联芯科技ERP项目开发规格书第I部分:需求模块MACROBUTTONCheckIt_CheckBox£MM MACROBUTTONCheckIt_CheckBox£PP MACROBUTTONCheckIt_CheckBox£SD ■FI MACROBUTTONCheckIt_CheckBox£CO MACROBUTTONCheckIt_CheckBox£IP/FMMACROBUTTONCheckIt_CheckBox£其它Spec编号ZLC_SPEC_FICO_020短描述此增强用于从系统操作限制对同一供应商同一采购订单的超额付款情况类型MACROBUTTONCheckIt_Radiobutton报表MACROBUTTONCheckIt_RadiobuttonABAPProgramMACROBUTTONCheckIt_RadiobuttonInformationSystemMACROBUTTONCheckIt_RadiobuttonReportPrinter MACROBUTTONCheckIt_RadiobuttonReportWriterMACROBUTTONCheckIt_RadiobuttonSAPQueryMACROBUTTONCheckIt_RadiobuttonBWreportMACROBUTTONCheckIt_RadiobuttonCrystalReportsMACROBUTTONCheckIt_RadiobuttonOthersMACROBUTTONCheckIt_Radiobutton表单MACROBUTTONUnCheckIt_Radiobutton流程增强MACROBUTTONCheckIt_RadiobuttonUserExitMACROBUTTONCheckIt_RadiobuttonBADIMACROBUTTONCheckIt_RadiobuttonDialogProgram MACROBUTTONCheckIt_RadiobuttonOtherseMACROBUTTONCheckIt_Radiobutton接口MACROBUTTONCheckIt_RadiobuttonBAPIMACROBUTTONCheckIt_RadiobuttonIDOCMACROBUTTONCheckIt_RadiobuttonALEMACROBUTTONCheckIt_RadiobuttonOthersendMACROBUTTONCheckIt_Radiobutton数据转移需求优先级MACROBUTTONUnCheckIt_RadiobuttonHigh/关键 MACROBUTTONCheckIt_RadiobuttonMid/推荐 MACROBUTTONCheckIt_RadiobuttonLow/可选用户MACROBUTTONNextCell(必填)(关键用户岗位/领导)要求日期2009-6-8预计开发天数(由功能顾问与开发顾问评估)必填_____天是否有标准功能MACROBUTTONCheckIt_RadiobuttonYes MACROBUTTONUnCheckIt_RadiobuttonNo标准功能未采用的原因:MACROBUTTONCheckIt_RadiobuttonPerformanceMACROBUTTONCheckIt_RadiobuttonComplexityMACROBUTTONCheckIt_RadiobuttonOtherse参考的标准功能无BSIK/BSAK文档变更历史版本号文档维护时间姓名简要的描述1.02009-李翔创建1.12009-6-22李翔更改1.22009-6-24李翔更改1.32009-7-16更改更改
第II部分:详细功能描述目的:控制对同一供应商同一采购订单号的付款情况,从系统操作层面避免对同一供应商同一采购订单号超额付款的现象发生功能描述:输入付款凭证时进行检查,考虑对该供应商、该采购订单的历史预付、应付、付款记录进行检索,用以往相关业务余额与凭证中付款金额进行比较,若付款金额超出,系统不允许凭证生成,并给出提示信息。运行频率MACROBUTTONUnCheckIt_Radiobutton任何时间MACROBUTTONCheckIt_Radiobutton每天MACROBUTTONCheckIt_Radiobutton每周MACROBUTTONCheckIt_Radiobutton两周MACROBUTTONCheckIt_Radiobutton每月MACROBUTTONCheckIt_Radiobutton每年MACROBUTTONCheckIt_Radiobutton其它:运行方式MACROBUTTONCheckIt_Radiobutton手工MACROBUTTONCheckIt_Radiobutton自动MACROBUTTONCheckIt_Radiobutton批处理MACROBUTTONUnCheckIt_Radiobutton在线处理输出方式MACROBUTTONCheckIt_Radiobutton屏幕输出MACROBUTTONCheckIt_Radiobutton打印MACROBUTTONCheckIt_Radiobutton文件输出MACROBUTTONUnCheckIt_Radiobutton其它:实时控制打印机类型不需打印纸张大小不需打印语言选择屏幕:无 报表/表单的字段顺序字段名称字段技术名称字段描述1记账码BSCHLFB01记账凭证的记账代码2公司代码BUKRS公司代码3供应商LIFNR供应商代码4订单净值NETWR采购订单行项目净值5删除标识LOEKZ采购订单行项目删除标识6分配ZUONR会计凭证中的分配字段7借贷方标识SHKZG凭证借贷方标识8采购凭证EBELN采购订单编号9总账科目HKONT凭证行项目总账科目10反记账标识XNEGP标记凭证行项目是否反记账11本位币金额DMBTR凭证行项目本位币金额12参考码3XREF3凭证行项目参考码3格式/屏幕设计:逻辑关系:对供应商付款,符合下列两种情况之一时增强生效:a.事务代码为FB01、FBVB、FB1K,记账码(BSCHL)为21。b.事务代码为FB01、FBVB、FB1K,记账码(BSCHL)为29。c.总账科目(HKONT)为1123010100(预付账款-内-材料款)、1123010200(预付账款-内-运保报关)、1123010300(预付账款-内-海关进项)、1123010400(预付账款-内-设备款)、1123010600(预付账款-内-软件款)、1123020100(预付账款-外-材料款)、1123020200(预付账款-外-运保报关)、1123020300(预付账款-外-海关进项)、1123020400(预付账款-外-设备款)、1123020600(预付账款-外-软件款)、2202010000(应付账款-集团内)、2202020000(应付账款-集团外)。触发增强的时点为凭证保存过账时。对表EKPO进行查找,查找条件同时满足:a.FB01输入的公司代码(BUKRS)=EKPO-BUKRS、FB01输入的分配(ZUONR)=EKPO-EBELN。b.删除标识(LOEKZ)不为L。找到对应的记录后,按行项目净值(NETWR),乘以(1+EKPO-MWSKZ(税码)对应的税率),得到采购订单含税价,将含税价汇总,得到值A。对表BSIK、BSAK进行筛选,筛选条件同时满足:a.FB01输入的公司代码(BUKRS)=EKPO-BUKRS、分配(ZUONR)=EKPO-EBELN。b.记账码(BSCHL)为21、29。c.总账科目(HKONT)为1123010100(预付账款-内-材料款)、1123010200(预付账款-内-运保报关)、1123010300(预付账款-内-海关进项)、1123010400(预付账款-内-设备款)、1123010600(预付账款-内-软件款)、1123020100(预付账款-外-材料款)、1123020200(预付账款-外-运保报关)、1123020300(预付账款-外-海关进项)、1123020400(预付账款-外-设备款)、1123020600(预付账款-外-软件款)、2202010000(应付账款-集团内)、2202020000(应付账款-集团外)。d.反记账标记(XNEGP)为空。但不包含发票参考号(REBZG)为空值找到对应记录后,按照本位币金额(SHKZG)进行汇总,得到值B。以A-B,得到值C。对计算出的可付款值C以及凭证输入值进行比较判断,分以下两种情况:a.如果C为负,不用后续判断,在凭证保存提示“超出付款限制!”,不允许凭证保存。b.如果C为正,加总FB01中供应商相同、“分配”(ZUONR)字段相同,记账码为21或29,且总账科目(HKONT)为1123010100(预付账款-内-材料款)、1123010200(预付账款-内-运保报关)、1123010300(预付账款-内-海关进项)、1123010400(预付账款-内-设备款)、1123010600(预付账款-内-软件款)、1123020100(预付账款-外-材料款)、1123020200(预付账款-外-运保报关)、1123020300(预付账款-外-海关进项)、1123020400(预付账款-外-设备款)、1123020600(预付账款-外-软件款)、2202010000(应付账款-集团内)、2202020000(应付账款-集团外)的行项目金额,得到值D,如果D<=C,则允许凭证保存,如果D>C,则保存凭证时提示“超出付款限制!”。6.特别说明:当“参考码3”字段(XREF3)输入“0000样张:其它内容:
第III部分:技术说明ProgramnameTransactioncodeAuthorizationObjectFormFormnameN/AOutputtypeN/AFormroutineN/A程序逻辑:进入OB28-完全凭证-U108,此验证是完全验证,在输入凭证的最后一行结束时触发,对bseg-sgtxt+0(4)<>'0000'的凭证行项目进行判断,取到凭证放在lt_bseg。依据取出的凭证,计算对应此部分的PO的含税价格,放在lt_po中。依据取出的凭证,结合bsik、bsak,依据同一个供应商和同一个PO,取出两个表的相关凭证,并对供应商+PO的金额进行合计,放在lt_bsik中。循环lt_bseg,做如下代码中判断。对应Spec中值A/B/C/D如下说明。ls_po-netwr(A)-ls_bsik-wrbtr(B)=lv_wrbtr(C).lv_wrbtr(C)>=ls_bseg-wrbtr(D).*ZLC_SPEC_FICO_020*CHECKsy-uname='GUOXIAOXIAO'.DATA:lv_bukrsLIKEbkpf-bukrs.TYPES:BEGINOFty_bseg,bukrsLIKEbseg-bukrs,gjahrLIKEbseg-gjahr,lifnrLIKEbseg-lifnr,zuonrLIKEbseg-zuonr,wrbtrLIKEbseg-wrbtr,ENDOFty_bseg.DATA:lt_bsegTYPETABLEOFty_bseg,ls_bsegTYPEty_bseg.TYPES:BEGINOFty_bseg_po,bukrsLIKEbseg-bukrs,gjahrLIKEbseg-gjahr,lifnrLIKEbseg-lifnr,ebelnLIKEekko-ebeln,wrbtrLIKEbseg-wrbtr,ENDOFty_bseg_po.DATA:lt_bseg_poTYPETABLEOFty_bseg_po,ls_bseg_poTYPEty_bseg_po.TYPES:BEGINOFty_ekpo,ebelnLIKEekpo-ebeln,ebelpLIKEekpo-ebelp,netwrLIKEekpo-netwr,mwskzLIKEekpo-mwskz,lifnrLIKEekko-lifnr,ENDOFty_ekpo.DATA:lt_ekpoTYPETABLEOFty_ekpo,ls_ekpoTYPEty_ekpo.TYPES:BEGINOFty_po,lifnrLIKEekko-lifnr,ebelnLIKEekpo-ebeln,netwrLIKEekpo-netwr,ENDOFty_po.DATA:lt_poTYPETABLEOFty_po,ls_poTYPEty_po.TYPES:BEGINOFty_bsik_tmp,bukrsLIKEbsik-bukrs,lifnrLIKEbsik-lifnr,umsksLIKEbsik-umsks,umskzLIKEbsik-umskz,augdtLIKEbsik-augdt,augblLIKEbsik-augbl,zuonrLIKEbsik-zuonr,gjahrLIKEbsik-gjahr,belnrLIKEbsik-belnr,buzeiLIKEbsik-buzei,shkzgLIKEbsik-shkzg,wrbtrLIKEbsik-wrbtr,ebelnLIKEbsik-ebeln,ENDOFty_bsik_tmp.TYPES:BEGINOFty_bsik,lifnrLIKEbsik-lifnr,zuonrLIKEbseg-zuonr,wrbtrLIKEbsik-wrbtr,ENDOFty_bsik.DATA:lt_bsik_tmpTYPETABLEOFty_bsik_tmp,ls_bsik_tmpTYPEty_bsik_tmp.DATA:lt_bsikTYPETABLEOFty_bsik,ls_bsikTYPEty_bsik.DATA:lv_wrbtrLIKEbsis-wrbtr.DATA:lv_ebelnLIKEekko-ebeln.lv_bukrs=bool_data-bkpf-bukrs.*BREAK-POINT.LOOPATbool_data-bsegINTObsegWHEREbschl='21'OR(bschl='29'ANDumskz='A').IFbseg-sgtxt+0(4)='0000'.ELSE.IF(bseg-hkont='1123010100'ORbseg-hkont='1123010200'ORbseg-hkont='1123010300'ORbseg-hkont='1123010400'ORbseg-hkont='1123010600'ORbseg-hkont='1123020100'ORbseg-hkont='1123020200'ORbseg-hkont='1123020300'ORbseg-hkont='1123020400'ORbseg-hkont='1123020600'ORbseg-hkont='2202010000'ORbseg-hkont='2202020000').ls_bseg-bukrs=bseg-bukrs.ls_bseg-gjahr=bseg-gjahr.ls_bseg-lifnr=bseg-lifnr.ls_bseg-zuonr=bseg-zuonr.ls_bseg-wrbtr=bseg-wrbtr.COLLECTls_bsegINTOlt_bseg.CLEAR:bseg.ENDIF.ENDIF.ENDLOOP.*EKKO+EKPO取出:PO、供应商、净值-》LT_PO(X值)CHECKlt_bsegISNOTINITIAL.LOOPATlt_bsegINTOls_bseg.ls_bseg_po-bukrs=ls_bseg-bukrs.ls_bseg_po-gjahr=ls_bseg-gjahr.ls_bseg_po-lifnr=ls_bseg-lifnr.ls_bseg_po-ebeln=ls_bseg-zuonr.ls_bseg_po-wrbtr=ls_bseg-wrbtr.APPENDls_bseg_poTOlt_bseg_po.CLEAR:ls_bseg,ls_bseg_po.ENDLOOP.SELECTekpo~ebelnekpo~ebelpekpo~netwrekpo~mwskzekko~lifnrINTOTABLElt_ekpoFROMekpoINNERJOINekkoONekpo~ebeln=ekko~ebelnFORALLentriesINlt_bseg_poWHEREekpo~ebeln=lt_bseg_po-ebelnANDekpo~loekz<>'L'ANDekpo~bukrs=lt_bseg_po-bukrsANDekko~lifnr=lt_bseg_po-lifnr.LOOPATlt_ekpoINTOls_ekpo.ls_po-lifnr=ls_ekpo-lifnr.ls_po-ebeln=ls_ekpo-ebeln.CASEls_ekpo-mwskz.WHEN'J0'.ls_po-netwr=ls_ekpo-netwr.WHEN'J1'.ls_po-netwr=ls_ekpo-netwr+ls_ekpo-netwr*'0.17'.WHEN'J2'.ls_po-netwr=ls_ekpo-netwr+ls_ekpo-netwr*'0.13'.WHEN'J3'.ls_po-netwr=ls_ekpo-netwr+ls_ekpo-netwr*'0.1'.WHEN'J4'.ls_po-netwr=ls_ekpo-netwr+ls_ekpo-netwr*'0.07'.WHEN'J5'.ls_po-netwr=ls_ekpo-netwr+ls_ekpo-netwr*'0.06'.WHEN'J6'.ls_po-netwr=ls_ekpo-netwr+ls_ekpo-netwr*'0.04'.WHEN'J7'.ls_po-netwr=ls_ekpo-netwr+ls_ekpo-netwr*'0.03'.WHEN'R1'.ls_po-netwr=ls_ekpo-netwr+ls_ekpo-netwr*'0.17'.ENDCASE.COLLECTls_poINTOlt_po.CLEAR:ls_ekpo,ls_po.ENDLOOP.*针对同一个供应商+同一个PO进行限制SELECTbukrslifnrumsksumskzaugdtaugblzuonrgjahrbelnrbuzeishkzgwrbtrINTOTABLElt_bsik_tmpFROMbsikFORALLENTRIESINlt_bsegWHEREbukrs=lt_bseg-bukrsANDgjahr=lt_bseg-gjahrANDlifnr=lt_bseg-lifnrANDzuonr=lt_bseg-zuonrANDxnegp=''"反记账标记为空ANDhkontIN('1123010100','1123010200','1123010300','1123010400','1123010600','1123020100','1123020200','1123020300','1123020400','1123020600','2202010000','2202020000')AND(bschl='21'OR(bschl='29'ANDumskz='A'))ANDxnegp=''.SELECTbukrslifnrumsksumskzaugdtaugblzuonrgjahrbelnrbuzeishkzgwrbtrebelnAPPENDINGTABLElt_bsik_tmpFROMbsakFORALLENTRIESINlt_bsegWHEREbukrs=lt_bseg-bukrsANDgjahr=lt_bseg-gjahrANDlifnr=lt_bseg-lifnrANDzuonr=lt_bseg-zuonrANDxnegp=''"反记账标记为空ANDhkontIN('1123010100','1123010200','1123010300','1123010400','1123010600','1123020100','1123020200','1123020300','1123020400','1123020600','2202010000','2202020000')AND(bschl='21'OR(bschl='29'ANDumskz='A')).*按照供应商+PO对wrbtr金额进行合计(Y值)LOOPATlt_bsik_tmpINTOls_bsik_tmp.IFls_bsik_tmp-shkzg='H'.ls_bsik-wrbtr=0-ls_bsik_tmp-wrbtr.ELSE.ls_bsik-wrbtr=ls_bsik_tmp-wrbtr.ENDIF.ls_bsik-lifnr=ls_bsik_tmp-lifnr.ls_bsik-zuonr=ls_bsik_tmp-zuonr.COLL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏教版九年级上册劳动技术 第29课 衣物改造与时尚设计【课件】
- 建筑公司职工租房合同模板
- 婚宴订金合同范例
- 地方企业借贷合同模板
- 单位蔬菜订购合同范例
- 山地种树出租合同范例
- 延庆冷藏配送合同范例
- 恋爱出轨合同模板
- 宁河仓储配送合同范例
- 医疗诊断:技术变革视角
- 急诊护士分层次培训体系构建与实践课件
- 【课件】第4课 画外之意-中国传统花鸟画、人物画 课件-2022-2023学年高中美术人教版(2019)美术鉴赏
- 堤坝抛石固脚施工方案(标准版)
- 医疗器械不良事件报告表
- 灾难救援现场的检伤分类方法
- 探秘澜沧江-湄公河流域的河流地貌(公共课件)
- 盘扣支架施工合同
- 建筑工程各种材料台账样表格模板
- 配餐学校供餐企业交接餐检查记录表
- 通风队岗位说明书XXXX117
- 初中体育与健康人教九年级(2023年修订) 田径初三跨栏教案
评论
0/150
提交评论