SAP-FI学习手册-应付账款付款清帐
- 格式:doc
- 大小:1.10 MB
- 文档页数:17
S A P应付账款操作手册(总78页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除2010.11[应付账款操作手册]目录1.有采购订单的供应商发票录入 (5)1.1.供应商发票校验 (5)1.2.供应商发票显示 (10)1.3.冲销发票校验 (12)1.4.供应商冻结发票下达 (13)2.无采购订单的供应商发票录入 (17)2.1无采购订单的供应商发票录入 (17)2.2无采购订单的供应商贷项凭证录入 (21)3.供应商特别总账业务 (24)3.1供应商特别总账业务记账(以其他应付款为例) (25)3.2供应商预付款输入 (29)3.3供应商预付款清算 (31)3.4供应商预付款请求 (34)4.供应商付款 (38)4.1供应商手工付款 (38)4.2供应商自动付款 (50)4.3下载银行付款文件 (58)4.4供应商清帐 (59)4.5供应商与供应商(客户)转账 (62)5.供应商报表查询 (69)5.1供应商余额查询 (69)5.2供应商行项目查询 (71)5.3以本币计的供应商余额显示 (74)5.4应付账龄分析表 (76)1.2.有采购订单的供应商发票录入在系统内供应商的发票录入有两种情况:有采购订单的供应商发票录入和无采购订单的供应商发票录入,如果采购业务在系统内有相应的采购订单记录,并进行相应的收货记录,当供应商开来发票时,财务对供应商发票进行入账,我们把这类业务叫做有采购订单的供应商发票录入1.1.1.2.供应商发票校验➢在事务代码框输入MIRO,回车进入下界面,输入红色标记信息项次输入字段名称类型输入内容1 业务处理必输系统默认,如果是红色发票的话,注意手工修改为“贷方凭证”。
2 发票日期必输发票的日期3 过账日期必输会计凭证过账的日期4 参照必输具体输入内容没有规定,根据情况填写即可。
5 采购订单必输输入要校验的采购订单号码,如果同时校验多张采购订单,点击旁边的进行输入即可。
SAP系统用户操作手册流程名称:预付及应付事务名称:F-02、F-51、FK10N 作者:创建日期: 2011-121 事务操作基本信息1.1 事务操作的目的此手册以对供应商湖州展望药业有限公司进行预付款及应付与预付清账及付款清账的处理为例描述了预付及应付账款账务处理在SAP中的操作。
1.2 事务操作的前提•已对供应商湖州展望药业有限公司建立采购订单。
1.3 事务代码F-02、F-51、FK10N2 操作步骤2.1 查询供应商湖州展望药业有限公司余额。
2.1.1进入SAP 菜单,输入事务处理代码FK10N,也可以通过菜单路径进入。
如下页面输入须查询的供应商编号:点击上图,在如下页面可输入多个不连号的供应商编号进行查询:点击上图中“选择范围”页签,在如下页面输入须查询的供应商编码段进行查询,如下将显示10133—17777编码内的供应商余额:点击上图中“排除单一值”页签,在如下页面输入不须查询的供应商编码,则显示的结果为除该供应商外所有供应商余额。
点击上图“排除范围”页签,在如下页面输入须排除的供应商号码段,如下将显示排除10133—17777供应商以外的所有供应商余额。
选择须查询的供应商后,点击上图中,回到如下页面。
2.1.1 点击上图,进入如下页面,分月显示该供应商借方发生数、贷方发生数、余额、累计余额、购销额()。
点击上图中相应的数字,将显示该数字发生明细即凭证,如下红灯表示未清项,绿灯表示已清项:点击供应商余额显示页面的,将显示该供应商特别总账发生数,如下显示该供应商目前没有特别总账业务数据:2.2 通过事务代码F-02进行预付账款的账务处理。
2.2.1注意预付账款须输入采购凭证号,以便能够针对采购订单一一清账,注意:预付在建工程的土建、安装劳务不需要输入采购订单;如下。
2.2.1 具体操作见“江苏正大天晴SAP项目用户操作手册-F-02”,最后生成如下凭证。
2.2.2预付账款后,通过事务码FK10N查询该供应商余额,具体操作同上,不再重复。
EHP5 for SAP ERP6。
02011年12月简体中文应付帐款(158)业务流程文档SAP AGDietmar—Hopp-Allee 1669190 WalldorfGermanyCopyright© 2011 SAP AG. All rights reserved.No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors。
Microsoft, Windows, Excel, Outlook,and PowerPoint are registered trademarks of Microsoft Corporation.IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries, eServer, z/VM,z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM,Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower,PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner,WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation. Linux is the registered trademark of Linus Torvalds in the U。
ContentsFI 应收帐款 25版本 26版权 26联机FI手册内容信息 26 SAP 联机帮助中的惯例 27引言 28客户主记录 28简介: 客户主记录 29客户主记录中包括什么数据? 29科目组的功能是什么? 30主记录是怎样编号的? 30屏幕格式 31统驭科目的功能 31存取授权 31客户主记录中的特殊字段 32查找条件 32可选催款接受人 32可选付款人 32合并公司 33客户和供应商之间的清帐 33如果您也有销售和分销(SD)应用 33维护主记录的功能 33选择显示客户主数据的屏幕 34用附加功能维护客户主记录 34用匹配码查找 35创建客户主记录 35先决条件 36集中地创建主记录 36在公司代码中创建主记录 37用参考创建主记录 37数据输入的特性 37输入银行帐户 38输入收付方法 39输入催款程序 39输入文本 39分配凭证 40将客户分类 40创建一次性帐户 40科目组 41参考科目组 41显示行项目 41总部和分部帐户的特征 42显示客户主记录 42更改客户主记录 43关于更改的注释 43集中更改主记录 44更改会计主记录 44显示对客户主记录的更改 44冻结客户主记录 45集中冻结客户帐户 46冻结记帐的客户帐户 46为付款和催款冻结客户主记录 47为删除而标记客户主记录 47为集中删除而标记主记录 48为删除标记会计主数据 48记帐凭证 48记帐凭证:引言 49凭证原则 49凭证结构 50凭证输入的特征 50子分类帐/总分类帐一体化 50自动记帐 51跨公司代码业务 51凭证输入功能 51如何输入凭证 52输入凭证 52输入凭证抬头 53输入凭证日期 53输入凭证类型 53输入凭证编号 54输入公司代码 54输入记帐日期 54输入货币 55输入贸易伙伴业务部门 55在抬头中输入其它字段 55输入行项目 56输入客户行项目 56输入行项目的输入字段 56输入记帐代码:客户行项目 57输入客户帐号 58输入一个特殊总帐标识 58您在客户行项目输入屏幕中可以看到哪些字段? 59客户项目的所需输入数据 59在客户行项目中输入销项税 59输入收付条件 61输入分期付款的收付条件 63输入收付控制数据 64输入催款数据 64输入分配字段 64给客户行项目增加额外细节 65输入总帐行项目 65输入记帐代码:总分类帐行项目 66输入总分类帐编号 66输入金额 66输入税收代码 66输入征税地域代码 67附加科目设置 69输入业务部门 69快速输入总分类帐项目 69将数据加入总分类帐项目 70更正行项目 70显示凭证概览 70更正凭证抬头 71更正行项目 71删除行项目 72自动生成行项目 72向自动行项目增添细节 72记帐凭证 73输入并记帐凭证-总结 73记帐贷项凭证 74收付请求 74以外币记帐客户发票 75一次性客户帐户的特征 75跨公司代码业务 75先决条件 76公司间业务记帐 76处理凭证 78保持凭证 79将所持凭证补充完整 79删除不完整凭证 79执行转帐 80输入配置 80设置编辑选项 80保留和设置数据 81控制总计 81显示凭证 82选择行格式 83显示公司间业务 83更改凭证 84批更改行项目 85更改公司间业务 85冲销凭证 86冲销限制 86冲销凭证 87冲销公司间业务 87参考凭证 87输入会计凭证样本 88显示会计凭证样本 88更改会计凭证样本 89删除会计凭证样本 89利用参考凭证记帐 89周期性输入 90周期性输入程序 91输入和记帐周期性记帐原始凭证 91显示周期性输入原始凭证 92更改周期性输入原始凭证 92删除周期性输入原始凭证 93执行周期性输入 93人工处理批输入对话 94周期性输入原始凭证的概览 94收付通知书 95收付通知书类型 95创建收付通知书 96更改收付通知书 97显示收付通知书 97删除收付通知书 97重组收付通知书 97配置收付通知书 98帐户余额和行项目 99帐户余额 99显示客户帐户余额 100显示客户帐户余额中的行项目 100显示帐户余额的选项 101帐户中的客户行项目 101在初始屏幕中的功能 102在行项目显示中的功能 103选择货币 104在用户主记录中为行项目设置参数 104显示客户帐户的行项目 105在行项目显示中记录选择标准 105更改行项目显示的行格式 106显示行项目凭证 106搜索行项目 106排序行项目 107总计行项目 107在行项目显示中显示清单水平的概览 108显示外币行项目 109在行项目显示中临时增加字段 109在行项目显示中显示汇总单 110在行项目显示中显示客户主记录 110帐户分析 110显示拖欠天数 110显示未清项 111概览净额/现金贴现 111显示支付行为 112模拟客户支付行为 112显示信贷限额 113结清未清项 113结算未清项之引言 113清帐功能 114清帐未清项的程序 115记帐与清帐 115清帐程序处理步骤 116开始结算 116输入凭证抬头 117输入行项目 117选择未清项 117选择特定待结项目 118客户/供应商清帐 119处理未清项 119用命令处理未清项 120用菜单或功能键处理未清项 120用鼠标处理未清项 121设置处理选项 121附加功能 121搜索未清项 122搜索特定金额 122根据收付通知书处理未清项 123按帐龄细分清帐金额 124为未清项排序 124在未清项处理中更改行格式 125在总额与净额之间切换 125在外币与本币之间切换 125记帐部分收付 125记帐剩余项目 126显示未清项 126对差额的解释 126作为收付通知书记录的未清项 127更正错误 127公司码之间的清帐 127用外币结算未清项 127用外币结算混合货币未清项 128清帐时系统将所有金额换算成本位币 128清帐时系统使用本币计的历史值 129用未来记帐日结算未清项 129以打印形式付款 130清帐与打印表格 130已结帐项目的打印格式 131输入进帐与清帐 131结算特定发票 132收付的快速输入 132结算科目 132重新设置已清项 133定金 134定金请求 134定金请求的特点 135输入和记帐定金请求 136输入有现金折扣的定金请求 137更正行项目和输入新项目 137取消定金请求 138显示定金请求 138变更定金请求 139定金 139定金的净额显示或总额显示 140集成其他应用程序 141输入并记帐定金 141在无定金请求的情况下记帐定金 141在有定金请求情况下记帐定金 142其他功能:定金 143处理定金 145使用收付程序结算定金 146人工结算定金 147转帐后结算定金 147何时转帐定金? 147转帐定金并记帐税金 148解冻收付 148清帐发票后转帐定金 149人工结算定金未清项目 149定金和现金折扣 150冲销定金 150显示定金 150更改定金 150应收汇票 151应收汇票:引言 151应收汇票的记帐过程 153应收汇票用途的记帐 155以汇票记帐收付 156记帐汇票用途 159冲销汇票 161例 1: 在不存入的情况下结算未清项 162例2: 在存入的情况下结算未清项 163例3: 不存入情况下的帐面上收付 164例4: 存入后的帐面上收付 164显示应收汇票 166更改应收汇票 166银行票据与汇票收付请求 166银行票据与汇票收付请求的记帐过程 167银行票据 167汇票收付请求 168记帐银行票据 169记帐汇票收付请求 169由收付请求将汇票记帐 169处理失效汇票 170支票/汇票处理程序 170支票/汇票处理程序的特征 171收到支票/汇票的处理程序 172收到支票/汇票的输入和记帐 173冲销潜在的持票据者义务 173显示支票/汇票 174更改支票/汇票 174担保 175做出的担保 175输入担保与担保记帐 176显示担保 176变更担保 177信函和内部评估 177信函类型 178如何创建信函 180信函的请求 180个别文本 183编辑信函请求 185打印信函 185内部评估 189列出评估报表 189信用管理 189信用管理导论 190维护信贷限额 191信贷限额的控制 194附加显示功能 195发送信息 196科目分析 196进入信息系统 197信贷主表 197信贷概览 198 SD功能的应用 199给新信贷管理范围分配公司代码 199显示变更 199重新设置信贷限额 200进行批量变更 200信贷管理报表 200催款程序 201简介 201运行催款程序 204安排催款运行 205打印催款通知 208利息计算 208利息计算引言 208利息计算报表的运行 210词汇表 211科目设置 218科目余额 218科目余额利息计算 218科目确定 218科目组 218科目有效期 218科目维护 218科目管理 219统驭科目 219科目类型 219会计凭证 219待摊和预提 219购置税 219附加科目设置 220附加税 220分配概念 220备选受款人 220备选付款人 221资产 221平均汇率 221余额 221余额审计线索 221余额结转 221余额核对 221余额确认 222余额通知 222余额请求 222资产负债表 222资产负债表科目 222资产负债表调整 222银行买入汇率 223银行托收手续 223银行直接借记手续 223银行主数据 223银行卖价 223收付的基准日期 223汇票 223汇票托收 224汇票清单 224汇票支付请求 224应收汇票 224汇票的用途 224分公司帐户 224预算资产负债表 225业务部门 225业务合伙人 225计算程序 225现金折扣 225现金折扣基额 225现金折扣条件 225现金管理和预测 225兑现支票 226更改凭证 226会计科目表 226会计科目表清单 226支票/汇票 226清帐 226暂记待结帐户 227清帐业务部门 227清帐功能 227清帐程序 227结帐操作 228托收 228承诺 228公司代码 228未定债权 228或有负债 228控制总额 228公司集团 229公司所得税 229信函 229成本 229国家变式 229贷款成本控制范围 229信贷限额 229贷项凭证 230跨公司代码凭证号 230跨公司代码记帐 230货币 230客户 230客户主记录 230日结算 230借项凭证程序 231折扣 231凭证 231凭证货币 231凭证日期 231凭证记帐 231凭证抬头 232凭证号码 232凭证原则 232凭证类型 232定金 232定金支付请求 232(汇票)受票人 232(汇票)发票人 233到期日 233净收付的到期日 233催款部门 233催款冻结标识 233催款冻结理由 233催款代码 233催款等级 234催款程序 234催款程序等级 234事件 234汇率 234汇率差额 234费用 235出口信贷保险 235字段状态 235财政预算 235会计年度 235外币 235外币资产负债表科目 235外币评估 236中长期应收票据收买 236总分类帐帐户 236总分类帐主记录 236总分类帐 236公司内部货币 236付款保证 237硬通货 237总公司帐户 237指标货币 237单价值调整 237进项税 237利息 237拖欠利息 238投资税 238发票 238发票参考 238项目利息计算 238日记帐 238分类帐 238负债 239行项目 239行项目显示 239本位币 239本位币金额 239月末结算 239净程序 240 ERROR! NO BOOKMARK NAME GIVEN. 240号码分配 240号码范围 240一次性帐户 240未清项管理 240组织 241原始凭证 241销项税 241部份收付 241应付款 241受款人 241收付通知书 241收付冻结原因 241收付冻结标识 242收付行为分析 242收付方式 242收付通知 242帐面收付 242收付容差 242收付业务 242 POR 程序 243记帐冻结 243记帐代码 243记帐期间 243对前一期间的记帐 243记帐,自动的 243延迟会计制度 244损益表 244获利段调整 244比率 244应收帐款 244统驭科目 245周期性输入 245周期性输入原始凭证 245参考凭证 245地区代号 245余项 245营业收入科目 246冲销 246冲销凭证 246营业额 246调节税 246销售相关性 246样本帐户 246样本凭证 246样本主记录 247缩短的会计年度 247特殊总分类帐 247特殊总分类帐标识 247特殊总分类帐业务 247特殊期间 247统计记帐 247明细分类帐会计核算 248后续调整(业务部门/利润中心) 248后续借记 248明细分类帐 248汇总数据 248附加科目设置 248 SWIFT 代码 249税收金额 249税收基额 249税收代码 249税率 249销售/购置税 249销售/购置税组 249收付条件 250容差 250交易额 250转帐 250换算日期 250评估 250供应商 250供应商主记录 251供应商净程序 251代扣所得税 251年度结算 251FI 应收帐款引言客户主记录记帐凭证跨公司代码业务处理凭证收付通知书帐户余额和行项目结清未清项定金应收汇票支票/汇票处理程序担保信函和内部评估信用管理催款程序利息计算词汇表相关的文档:FI - Accounts PayableFI - Automatic ProceduresFI - General Ledger Accounting FI - System Administration Guide FI - Closing and Reporting欲得到帮助,请按 F1。
供应商清账1 功能概观1.1 交易码:<F-44> - 供应商清帐(只限于预付款的清账)<F-53>- 供应商清账(其他挂AP的付款的清账)<FBL1N> - 供应商未清项明细查询1.2概念说明:标准清帐:供应商应付款的一笔借方对应一笔贷方,金额相等,则可对清。
部分清帐:支付一笔应付款的部分金额,则可用部分清帐。
部分清帐不产生新的未清项。
即,被清行项目与部分支付行项目均以未清挂账。
两者余额即为供应商挂账余额。
剩余清帐:支付一笔应付款的部分金额,也可用剩余清帐。
剩余清帐会产生新的未清项。
即,被清项目显示已清帐,剩余金额会产生一笔新的未清挂账。
2 业务交易2.1供应商清帐事务码: F-44字段用途科目-必输-输入供应商代码清帐日期-必输-输入清帐日期过账日期,期间-必输-过账期间公司代码-必输-公司代码货币-必输字段用途标准页签-用于标准清帐。
即,一正一付,“输入金额”与“已分配”金额相等,对清。
保存点击,系统提示字段用途部分支付页签-用于部分清帐。
在支付金额处,输入本次清帐的金额的。
一般情况下,“支付金额”<净金额。
如图所示。
保存点击,系统提示。
字段用途剩余项目页签-用于剩余清帐。
在剩余项目处,输入本次清帐后的剩余金额。
保存点击,系统提示。
事物码:F-53输入凭证的相关银行数据和未清项项目(供应商code和员工code):点击需要清账的金额,显示为红色字体就可以。
该字体显示为蓝色而不是黑色,表明该笔item需要继续输入相关的Item,以使该笔凭证能给系统通过,因为该笔涉及到银行的GL code,在新的系统里面有开发现金流量表的项目,需要录入现金流量表里面的Item,才能使该ITEM被系统接受。
点击其他数据,会出现以下的方框,在原因代码里输入现金流量表里面的相对应的Item.然后再模拟。
然后再保存。
显示凭证号码。
SAP FICO零基础学习_0005_应付账款-付款清账前辈的第5堂课~清账这里我们会讲4个点,尤其是要区分部分支付和剩余清账,以及两者的优缺点。
•全额清账•部分支付清账•剩余项目清账•清账冲销1.全额清账例如录入发票时,对供应商产生的应付账款为1000CNY,会对这笔应付账款全部支付。
我们先通过FBL1N查看一下针对供应商的应付账款清单。
•供应商账户:可以查看某个供应商的应付账款•状态:只看未清项目,还是已经清账的项目,还是全部项目•类型:只看正常类型的项目,还是有特殊总账标识的,还是预制的等我们挑一个供应商查看这个清单的效果。
•状态:如果该笔应付账款已经清账,是绿灯;没有清账是红灯•发票参考:录入发票时系统生成的发票凭证号。
•参考:录入发票时输入的供应商发票号•凭证日期:发票日期,即供应商发票上的发票日期•文本:录入发票时输入的备注。
我昨天做测试的时候都没有输入•到期日标识:红色的为已经过了到期日,黄色的为未到到期日,空白的为已经做了清账•到期日:录入发票时根据基准日和付款条件带出来的日期•清账凭证:如果已经清账,会显示该条付款是被哪个清账凭证清掉的我们会针对昨天录入的发票,分别做全额清账/部分支付/剩余项目测试。
接下来我们看系统如何操作全额清账:使用事务代码F-44输入供应商点击回车在“标准”页签下选择需要清账的项目(我们选择发票参考为LYNNTESTVOICE003这笔)。
通过激活和未激活按钮来达到选择和不选择的效果。
激活表示选中,金额处颜色会变;未激活表示不选中,金额处颜色为黑色。
选择需要清账的项目后,点击后退按钮,进入输入贷方科目的界面。
我这里选择的过账码为50,科目为银行存款。
点击回车,进入输入金额界面。
如果实际付款金额和应付账款金额一致,可以输入*,系统会自动匹配金额(和借方金额一致)。
如果实际付款金额和应付账款金额不一致,是有差异的。
若该差异在可接受的范围,可以通过配置容差组+自动过账实现。
SAP FI清账接口和部分清账接口源码FICO模块编写者:陈楚庆日期: 2016-01-15目录一、清账bapi : POSTING_INTERFACE_CLEARING (3)二、部分清账bapi: BAPI_ACC_DOCUMENT_POST (3)三、下面是完整的清账和部分清账的接口源码。
(3)1. 创建财务清账接口zfi_fk_post_clear (4)2. 创建凭证头结构 (4)3. 创建新入账行行项目结构 (5)4. 创建被清行行项目结构 (7)5. 创建清账接口日志表 (8)6. 创建清账接口日志表 (9)7. 清账接口源代码 (9)8. 凭证接口结构 (24)9.凭证接口源代码 (26)一、清账bapi : POSTING_INTERFACE_CLEARING这个function可用于全清,也可用于剩余清(剩余清原理也是全清,只是多了个新的行项目)二、部分清账bapi: BAPI_ACC_DOCUMENT_POST这个function可用于部份清账,其实它就是做凭证的bapi,需要把被清行的凭证号,年度,行项目写到凭证对应的 REBZG , REBZJ , REBZZ 字段上。
但这三个字段在标准字段是没有的,需要添加到extension2内。
三、下面是完整的清账和部分清账的接口源码。
1.创建财务清账接口zfi_fk_post_clear2.创建凭证头结构3.创建新入账行行项目结构4.创建被清行行项目结构7.清账接口源代码FUNCTION zfi_fk_post_clear.*"---------------------------------------------------------------------- *"*"Local interface:*" IMPORTING*" VALUE(WA_FK_ITM) TYPE ZFI_FK_ITM OPTIONAL*" TABLES*" ZTAB_DOC_CLEAR STRUCTURE ZFI_FK_DOC*" CHANGING*" VALUE(WA_FK_ITA) TYPE ZFI_FK_PZT*"----------------------------------------------------------------------*"----------------------------------------------------------------------* DATA : wa_fk_pzt LIKE zfi_fk_pzt .* DATA : wa_fk_itm LIKE zfi_fk_itm .DATA : tab_fkhed_log TYPE STANDARD TABLE OF zfit_fkclear_004 ,wa_fkhed_log TYPE zfit_fkclear_004 .DATA : tab_fkitm_log TYPE STANDARD TABLE OF zfit_fkclear_005 ,wa_fkitm_log TYPE zfit_fkclear_005 .DATA : zupdate_regz TYPE char1.DATA: tab_blntab TYPE TABLE OF blntab .DATA: wa_blntab TYPE blntab .DATA: tab_fttax TYPE TABLE OF fttax WITH HEADER LINE.DATA : wa_doc_clear LIKE zfi_fk_doc.DATA :tab_ftpost TYPE STANDARD TABLE OF ftpost . "入账行项目DATA : wa_ftpost TYPE ftpost .DATA : tab_ftclear TYPE STANDARD TABLE OF ftclear ."被清行项目DATA :wa_ftclear TYPE ftclear.DATA l_err_flag TYPE c.DATA zwrbtr TYPE bseg-wrbtr.DATA zclear_flag TYPE char10. "清账类型 P部分清,A2全清DATA zclear_num TYPE char10. "被清数量DATA wa_hed TYPE zfi_doc_head .DATA tab_hed TYPE STANDARD TABLE OF zfi_doc_head .DATA: l_prctr LIKE bseg-prctr. "判断利润中心是否与成本中心相符 DATA wa_itm TYPE zfi_doc_itm .DATA tab_itm TYPE STANDARD TABLE OF zfi_doc_itm .DATA wa_bseg TYPE bseg .DATA itm_num TYPE numc10 .DATA: akont LIKE knb1-akont .DATA: kunnr_num LIKE knb1-kunnr.CLEAR : akont , kunnr_num .CLEAR: tab_fkhed_log , wa_fkhed_log ,tab_fkitm_log ,wa_fkitm_log . CLEAR: wa_ftpost , wa_doc_clear ,wa_ftclear ,tab_ftpost ,tab_ftclear ,tab_blntab ,wa_blntab ,tab_fttax .CLEAR: wa_hed ,tab_hed ,wa_itm,tab_itm.CLEAR: wa_bseg ,itm_num .CLEAR: zclear_num ,zclear_flag .DEFINE populate_ftpost.wa_ftpost-stype = &1.wa_ftpost-count = &2.wa_ftpost-fnam = &3.wa_ftpost-fval = &4.condense wa_ftpost-fval .append wa_ftpost to tab_ftpost .END-OF-DEFINITION.INCLUDE lzfi01f01.*&计数看有多少个部份清LOOP AT ztab_doc_clear INTO wa_doc_clear WHERE flag = 'P' .zclear_num = zclear_num + 1 .*&判断是部份清还还是全清LOOP AT ztab_doc_clear INTO wa_doc_clear .zclear_flag = wa_doc_clear-flag.EXIT.ENDLOOP.CLEAR wa_doc_clear .LOOP AT ztab_doc_clear INTO wa_doc_clear WHERE flag <> zclear_flag .EXIT.ENDLOOP.IF wa_doc_clear IS NOT INITIAL.zclear_flag = 'E' . "不允许同时存在部份清和全清ENDIF.IF zclear_num > 1 .zclear_flag = 'E2' . "不允许存在多条部分清理论上业务不允许多条部分清账,这里做控制ENDIF.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "客户前导0EXPORTINGinput = wa_fk_itm-customerIMPORTINGoutput = wa_fk_itm-customer .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "供应商前导0EXPORTINGinput = wa_fk_itm-vendor_noIMPORTINGoutput = wa_fk_itm-vendor_no .*&校验统驭科目IF wa_fk_itm-customer IS NOT INITIAL . "客户CLEAR : akont ,kunnr_num .SELECT akont INTO akont FROM knb1 WHERE kunnr = wa_fk_itm-customer AND bukrs = wa_fk_itm-comp_code .ENDSELECT .kunnr_num = wa_fk_itm-customer(1) .IF kunnr_num = 'H' .IF akont <> '0011330307' .wa_fk_ita-err = ' 员工客户统SAP驭科目必需为11330307,请在SAP XK02更正' .wa_fk_ita-ref_key_1 = 'F' .CLEAR : wa_fk_itm ,ztab_doc_clear[] .RETURN.ENDIF.ENDIF.IF wa_fk_itm-vendor_no IS NOT INITIAL . "供应商CLEAR akont.SELECT akont INTO akont FROM lfb1 WHERE lifnr = wa_fk_itm-vendor_no AND bukrs = wa_fk_itm-comp_code .ENDSELECT .IF akont <> '0021210100' .wa_fk_ita-err = ' 供应商SAP统驭科目必需为21210100,请在SAP FK02更正' .wa_fk_ita-ref_key_1 = 'F' .CLEAR : wa_fk_itm ,ztab_doc_clear[] .RETURN.ENDIF.ENDIF.*&校验统成本中心和利润中心IF wa_fk_itm-costcenter IS NOT INITIAL AND wa_fk_itm-profit_ctr IS NOT INITIAL .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "成本中心前导EXPORTINGinput = wa_fk_itm-costcenterIMPORTINGoutput = wa_fk_itm-costcenter .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "利润中心前导EXPORTINGinput = wa_fk_itm-profit_ctrIMPORTINGoutput = wa_fk_itm-profit_ctr .CLEAR l_prctr .SELECT SINGLE prctr INTO l_prctr FROM csks WHERE kokrs = '1000' AND kostl= wa_fk_itm-costcenter and DATBI > SY-DATUM .IF l_prctr <> wa_fk_itm-profit_ctr .CONCATENATE '成本中心与利润中心必需有对应关系!利润中心可能是'l_prctr ',SAP可使用KS03查看' into wa_fk_ita-err .* wa_fk_ita-err = '成本中心与利润中心必需是有对应关系'.wa_fk_ita-ref_key_1 = 'F' .CLEAR : wa_fk_itm ,ztab_doc_clear[] .RETURN.ENDIF.** 校验原因代码IF wa_fk_itm-GL_ACCOUNT >= 10010000 and wa_fk_itm-GL_ACCOUNT <= 10999999 and wa_fk_itm-RSTGR is initial .CONCATENATE '银行/现金科目' wa_fk_itm-GL_ACCOUNT '原因代码不能为空' into wa_fk_ita-err .wa_fk_ita-ref_key_1 = 'F' .CLEAR : wa_fk_itm ,ztab_doc_clear[] .RETURN.endif.IF wa_fk_ita-ref_key_3 IS NOT INITIAL AND wa_fk_ita-comp_code = '1090' . wa_fk_ita-ref_doc_no = '' .CONCATENATE '000DD' wa_fk_ita-ref_key_3+5(5) INTOwa_fk_ita-ref_doc_no .wa_fk_itm-profit_ctr = '' .ENDIF.*&全清IF zclear_flag = 'A' OR zclear_flag = 'AA' OR zclear_flag = 'AC'. "全清*&----入库抬头行populate_ftpost: 'K' 1 'BKPF-BUKRS' wa_fk_ita-comp_code, "Company code 'K' 1 'BKPF-BLART' wa_fk_ita-doc_type,'K' 1 'BKPF-BLDAT' wa_fk_ita-doc_date,'K' 1 'BKPF-BUDAT' wa_fk_ita-pstng_date,* 'K' 1 'BKPF-WAERS' wa_fk_itm-currency ,'K' 1 'BKPF-BKTXT' wa_fk_ita-header_txt ,'K' 1 'BKPF-XBLNR' wa_fk_ita-ref_doc_no. "参考凭证号IF wa_fk_itm IS NOT INITIAL AND wa_fk_itm-obj_no = wa_fk_ita-obj_no . populate_ftpost: 'K' 1 'BKPF-WAERS' wa_fk_itm-currency .*&----入库抬头行populate_ftpost: 'P' 1 'RF05A-NEWBS' wa_fk_itm-newbs, "记账码'P' 1 'BSEG-SGTXT' wa_fk_itm-item_text,'P' 1 'BSEG-WRBTR' wa_fk_itm-amt_doccur .IF wa_fk_itm-umskz IS NOT INITIAL .populate_ftpost: 'P' 1 'RF05A-NEWUM' wa_fk_itm-umskz. "特别总账标识ENDIF.IF wa_fk_itm-newbs = '29' OR wa_fk_itm-newbs = '39' .populate_ftpost: 'P' 1 'BSEG-MWSKZ' 'J0'. "税码IF wa_fk_itm-umskz <> 'A' .populate_ftpost: 'P' 1 'BSEG-ZFBDT ' sy-datum . "日期ENDIF.ELSEIF wa_fk_itm-newbs = '09' OR wa_fk_itm-newbs = '19' . .populate_ftpost: 'P' 1 'BSEG-MWSKZ' 'X0'. "税码IF wa_fk_itm-umskz <> 'A' .populate_ftpost: 'P' 1 'BSEG-ZFBDT ' sy-datum . "日期ENDIF.ENDIF.IF wa_fk_itm-customer IS NOT INITIAL .populate_ftpost: 'P' 1 'BSEG-HKONT' wa_fk_itm-customer. "客户 ELSEIF wa_fk_itm-vendor_no IS NOT INITIAL .populate_ftpost: 'P' 1 'BSEG-HKONT' wa_fk_itm-vendor_no . "供应商 ELSEIF wa_fk_itm-gl_account IS NOT INITIAL .populate_ftpost: 'P' 1 'BSEG-HKONT' wa_fk_itm-gl_account . "总账 ENDIF.IF wa_fk_itm-rstgr IS NOT INITIAL.populate_ftpost: 'P' 1 'BSEG-RSTGR' wa_fk_itm-rstgr. "原因代码 ENDIF.IF wa_fk_itm-orderid IS NOT INITIAL .populate_ftpost: 'P' 1 'COBL-AUFNR' wa_fk_itm-orderid. "生产订单 ENDIF.IF wa_fk_itm-profit_ctr IS NOT INITIAL and wa_fk_itm-customer is initial .populate_ftpost: 'P' 1 'BSEG-PRCTR' wa_fk_itm-profit_ctr. "利润中心ENDIF.IF wa_fk_itm-costcenter IS NOT INITIAL .populate_ftpost: 'P' 1 'COBL-KOSTL' wa_fk_itm-costcenter. "成本中心 ENDIF.IF wa_fk_itm-newbs <> '21' AND wa_fk_itm-vendor_no IS NOT INITIAL . zupdate_regz = '1' . "贷方供应商不允许输入参考发票号等信息ELSEIF wa_fk_itm-newbs <> '11' AND wa_fk_itm-customer IS NOT INITIAL.zupdate_regz = '1' .ELSE.IF wa_fk_itm-rebzg IS NOT INITIAL .populate_ftpost: 'P' 1 'BSEG-REBZG' wa_fk_itm-rebzg. "参考发票号 ENDIF.IF wa_fk_itm-rebzj IS NOT INITIAL .populate_ftpost: 'P' 1 'BSEG-REBZJ' wa_fk_itm-rebzj. "参考发票年 ENDIF.IF wa_fk_itm-rebzj IS NOT INITIAL .populate_ftpost: 'P' 1 'BSEG-REBZZ' wa_fk_itm-rebzz. "参考发票行项目ENDIF.ENDIF.ELSE.populate_ftpost: 'K' 1 'BKPF-WAERS' 'RMB' .ENDIF.* zwrbtr = wa_fk_itm-amt_doccur .*&---被清行项目LOOP AT ztab_doc_clear INTO wa_doc_clear .wa_ftclear-agkoa = wa_doc_clear-xpos1. "供应商是K,客户是D wa_ftclear-agkon = wa_doc_clear-account. "Customerwa_ftclear-agbuk = wa_doc_clear-comp_code. "Company codewa_ftclear-xnops = 'X'.wa_ftclear-agums = wa_doc_clear-umskz. "'J'.物料总账标识 wa_ftclear-selfd = 'BELNR'.CONCATENATE wa_doc_clear-belnrwa_doc_clear-gjahrwa_doc_clear-buzei INTO wa_ftclear-selvon.* gs_ftclear-selvon = wa_input-belnr.wa_ftclear-selbis = wa_doc_clear-belnr.APPEND wa_ftclear TO tab_ftclear.ENDLOOP.CALL FUNCTION 'POSTING_INTERFACE_START'EXPORTINGi_function = 'C'i_keep = 'X'i_mode = 'N' "A for step by step,N default,for backgroundEXCEPTIONSclient_incorrect = 1function_invalid = 2group_name_missing = 3mode_invalid = 4update_invalid = 5OTHERS = 6.*&----清账CALL FUNCTION 'POSTING_INTERFACE_CLEARING'EXPORTINGi_auglv = 'UMBUCHNG'i_tcode = 'FB05'i_sgfunct = 'C'IMPORTINGe_msgid = sy-msgide_msgno = sy-msgnoe_msgty = sy-msgtye_msgv1 = sy-msgv1e_msgv2 = sy-msgv2e_msgv3 = sy-msgv3e_msgv4 = sy-msgv4* E_SUBRC = SY-SUBRCTABLESt_blntab = tab_blntabt_ftclear = tab_ftcleart_ftpost = tab_ftpostt_fttax = tab_fttaxEXCEPTIONSclearing_procedure_invalid = 1clearing_procedure_missing = 2table_t041a_empty = 3transaction_code_invalid = 4amount_format_error = 5too_many_line_items = 6company_code_invalid = 7screen_not_found = 8no_authorization = 9OTHERS = 10.READ TABLE tab_blntab INTO wa_blntab INDEX 1.IF wa_blntab-belnr IS INITIAL.wa_fk_ita-ref_key_1 = 'F' .l_err_flag = 'X'.* CONCATENATE wa_input-belnr wa_input-buzei INTO WA_FK_PZT-ERR . IF sy-msgty IS INITIAL.wa_fk_itm-ref_key_3 = '未知异常.'.ELSE.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoINTO wa_fk_ita-err WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.ELSE.wa_fk_ita-ref_key_1 = 'S' .CONCATENATE '凭证号码' wa_blntab-belnr '在公司代码' wa_blntab-bukrs '下记账成功' INTO wa_fk_ita-err.wa_fk_ita-ref_key_2 = wa_blntab-belnr .ENDIF.IF zupdate_regz = '1' AND wa_fk_ita-ref_key_1 = 'S' AND( wa_fk_itm-rebzg IS NOT INITIAL AND wa_fk_itm-rebzg IS NOT INITIAL AND wa_fk_itm-rebzz IS NOT INITIAL ).UPDATE bseg SET rebzg = wa_fk_itm-rebzg rebzj = wa_fk_itm-rebzj rebzz = wa_fk_itm-rebzzWHERE belnr = wa_blntab-belnr AND bukrs = wa_blntab-bukrs AND gjahr = wa_blntab-gjahr AND buzei = '001'.IF wa_fk_itm-customer IS NOT INITIAL .UPDATE bsid SET rebzg = wa_fk_itm-rebzg rebzj = wa_fk_itm-rebzj rebzz = wa_fk_itm-rebzzWHERE belnr = wa_blntab-belnr AND bukrs = wa_blntab-bukrs AND gjahr = wa_blntab-gjahr AND buzei = '001'.ELSEIF wa_fk_itm-vendor_no IS NOT INITIAL .UPDATE bsik SET rebzg = wa_fk_itm-rebzg rebzj = wa_fk_itm-rebzj rebzz = wa_fk_itm-rebzzWHERE belnr = wa_blntab-belnr AND bukrs = wa_blntab-bukrs AND gjahr = wa_blntab-gjahr AND buzei = '001'.ENDIF..ENDIF.*&部份清ELSEIF zclear_flag = 'P' . "部份清wa_hed-obj_no = wa_fk_ita-obj_no .wa_hed-username = wa_fk_ita-username .wa_hed-header_txt = wa_fk_ita-header_txt.wa_hed-comp_code = wa_fk_ita-comp_code.wa_hed-fisc_year = wa_fk_ita-fisc_year.wa_hed-fis_period = wa_fk_ita-fis_period .wa_hed-doc_date = wa_fk_ita-doc_date.wa_hed-pstng_date = wa_fk_ita-pstng_date.wa_hed-doc_type = wa_fk_ita-doc_type.wa_hed-ref_doc_no = wa_fk_ita-ref_doc_no.wa_hed-trans_date = wa_fk_ita-trans_date.wa_hed-ref_key_1 = wa_fk_ita-ref_key_1.wa_hed-ref_key_2 = wa_fk_ita-ref_key_2.wa_hed-ref_key_3 = wa_fk_ita-ref_key_3.wa_hed-err = wa_fk_ita-err.APPEND wa_hed TO tab_hed .IF wa_fk_itm IS NOT INITIAL .wa_itm-obj_no = wa_fk_itm-obj_no .wa_itm-itemno_acc = '1' .wa_itm-newbs = wa_fk_itm-newbs .wa_itm-gl_account = wa_fk_itm-gl_account .wa_itm-anbwa = wa_fk_itm-anbwa.wa_itm-asset_no = wa_fk_itm-asset_no.wa_itm-sub_number = wa_fk_itm-sub_number.wa_itm-comp_code = wa_fk_itm-comp_code.wa_itm-doc_type = wa_fk_itm-doc_type.wa_itm-profit_ctr = wa_fk_itm-profit_ctr.wa_itm-costcenter = wa_fk_itm-costcenter.wa_itm-customer = wa_fk_itm-customer.wa_itm-vendor_no = wa_fk_itm-vendor_no.wa_itm-orderid = wa_fk_itm-orderid.wa_itm-item_text = wa_fk_itm-item_text.wa_itm-currency = wa_fk_itm-currency.wa_itm-amt_doccur = wa_fk_itm-amt_doccur.wa_itm-rstgr = wa_fk_itm-rstgr.wa_itm-xnegp = wa_fk_itm-xnegp.wa_itm-umskz = wa_fk_itm-umskz.wa_itm-shkzg = wa_fk_itm-shkzg.wa_itm-ref_key_8 = wa_fk_itm-ref_key_8.wa_itm-ref_key_2 = wa_fk_itm-ref_key_2.wa_itm-ref_key_3 = wa_fk_itm-ref_key_3.APPEND wa_itm TO tab_itm .ENDIF.itm_num = wa_fk_itm-obj_no .LOOP AT ztab_doc_clear INTO wa_doc_clear .CLEAR wa_itm.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "总帐科目前导0EXPORTINGinput = wa_doc_clear-belnrIMPORTINGoutput = wa_doc_clear-belnr .SELECT * INTO CORRESPONDING FIELDS OF wa_bsegFROM bseg WHEREbukrs = wa_doc_clear-comp_codeAND belnr = wa_doc_clear-belnrAND gjahr = wa_doc_clear-gjahrAND buzei = wa_doc_clear-buzei .ENDSELECT.wa_itm-obj_no = wa_doc_clear-obj_no .itm_num = itm_num + 1 .wa_itm-itemno_acc = itm_num .IF wa_bseg-koart = 'K' . "供应商IF wa_bseg-bschl < '20' .wa_itm-newbs = wa_bseg-bschl + 10 . "记账码wa_itm-shkzg = 'H' .ELSE.wa_itm-newbs = wa_bseg-bschl - 10 .wa_itm-shkzg = 'S' .ENDIF.wa_itm-vendor_no = wa_doc_clear-account . "供应商编号ELSEIF wa_bseg-koart = 'D' . "客户IF wa_bseg-bschl < '10' .wa_itm-newbs = wa_bseg-bschl + 10 .wa_itm-shkzg = 'H' .ELSE.wa_itm-newbs = wa_bseg-bschl - 10 .wa_itm-shkzg = 'S' .ENDIF.wa_itm-customer = wa_doc_clear-account . "客户编号ENDIF.wa_itm-comp_code = wa_doc_clear-comp_code . "公司代码wa_itm-doc_type = wa_fk_ita-doc_type. "凭证类型wa_itm-currency = wa_bseg-pswsl . "贷币wa_itm-umskz = wa_bseg-umskz . "特别总账标识wa_itm-amt_doccur = wa_doc_clear-dmbtr_clear . "金额wa_itm-item_text = wa_fk_itm-item_text . "文本IF wa_itm-newbs <> '21' AND wa_itm-vendor_no IS NOT INITIAL .zupdate_regz = '1' . "贷方供应商不允许输入参考发票号等信息ELSEIF wa_itm-newbs <> '11' AND wa_itm-customer IS NOT INITIAL. zupdate_regz = '1' .ELSE.wa_itm-rebzg = wa_doc_clear-belnr . "参考凭证号 wa_itm-rebzj = wa_doc_clear-gjahr . "参考年度 wa_itm-rebzz = wa_doc_clear-buzei . "参考行项目 ENDIF.APPEND wa_itm TO tab_itm .ENDLOOP.CALL FUNCTION 'ZFI_POST_DOC' "通过凭证接口处理部分清账的业务 TABLEStab_itm = tab_itmtab_hed = tab_hed.CLEAR wa_hed .LOOP AT tab_hed INTO wa_hed .wa_fk_ita-ref_key_1 = wa_hed-ref_key_1 .wa_fk_ita-ref_key_2 = wa_hed-ref_key_2 .wa_fk_ita-ref_key_3 = wa_hed-ref_key_3 .wa_fk_ita-err = wa_hed-err .IF zupdate_regz = '1' AND wa_fk_ita-ref_key_1 = 'S' AND( wa_doc_clear-belnr IS NOT INITIAL AND wa_doc_clear-gjahr IS NOT INITIAL AND wa_doc_clear-buzei IS NOT INITIAL ).WAIT UP TO 10 SECONDS.UPDATE bseg SET rebzg = wa_doc_clear-belnr rebzj =wa_doc_clear-gjahr rebzz = wa_doc_clear-buzeiWHERE belnr = wa_hed-ref_key_2 AND bukrs = wa_hed-comp_code AND gjahr = wa_hed-fisc_year AND buzei = '002'.IF wa_itm-customer IS NOT INITIAL .UPDATE bsid SET rebzg = wa_doc_clear-belnr rebzj =wa_doc_clear-gjahr rebzz = wa_doc_clear-buzeiWHERE belnr = wa_hed-ref_key_2 AND bukrs = wa_hed-comp_code AND gjahr = wa_hed-fisc_year AND buzei = '002'..ELSEIF wa_itm-vendor_no IS NOT INITIAL .UPDATE bsik SET rebzg = wa_doc_clear-belnr rebzj =wa_doc_clear-gjahr rebzz = wa_doc_clear-buzeiWHERE belnr = wa_hed-ref_key_2 AND bukrs = wa_hed-comp_code AND gjahr = wa_hed-fisc_year AND buzei = '002'.ENDIF.ENDIF.ENDLOOP.ELSEIF zclear_flag = 'E' .wa_fk_ita-err = '被清行项目不允许存在部份清和全清!' .ELSEIF zclear_flag = 'E2' .wa_fk_ita-err = '不允许存在多条部分清!' .ELSE .wa_fk_ita-err = '未知的清账类型!' .ENDIF.***写入日志表CALL FUNCTION 'NUMBER_GET_NEXT'EXPORTINGnr_range_nr = '04'object = 'ZFKLU01'ignore_buffer = 'X'* QUANTITY = '1'* SUBOBJECT = ' '* TOYEAR = '0000'* IGNORE_BUFFER = ' 'IMPORTINGnumber = wa_fkhed_log-keyid* QUANTITY =* RETURNCODE =EXCEPTIONSinterval_not_found = 1number_range_not_intern = 2object_not_found = 3quantity_is_0 = 4quantity_is_not_1 = 5interval_overflow = 6buffer_overflow = 7OTHERS = 8 .* DATA : TAB_FKHED_LOG TYPE STANDARD TABLE OF ZFIT_FKCLEAR_004 , * WA_FKHED_LOG TYPE ZFIT_FKCLEAR_004 .** DATA : TAB_FKITM_LOG TYPE STANDARD TABLE OF ZFIT_FKCLEAR_005 ,* WA_FKITM_LOG TYPE ZFIT_FKCLEAR_005 .wa_fkhed_log-fis_period = wa_fk_ita-fis_period . wa_fkhed_log-doc_date = wa_fk_ita-doc_date .wa_fkhed_log-pstng_date = wa_fk_ita-pstng_date . wa_fkhed_log-doc_type = wa_fk_ita-doc_type .wa_fkhed_log-ref_doc_no = wa_fk_ita-ref_doc_no . wa_fkhed_log-trans_date = wa_fk_ita-trans_date . wa_fkhed_log-ref_key_1 = wa_fk_ita-ref_key_1 . wa_fkhed_log-ref_key_2 = wa_fk_ita-ref_key_2 . wa_fkhed_log-ref_key_3 = wa_fk_ita-ref_key_3 . wa_fkhed_log-err = wa_fk_ita-err .wa_fkhed_log-itemno_acc = wa_fk_itm-itemno_acc . wa_fkhed_log-newbs = wa_fk_itm-newbs .wa_fkhed_log-gl_account = wa_fk_itm-gl_account . wa_fkhed_log-anbwa = wa_fk_itm-anbwa .wa_fkhed_log-asset_no = wa_fk_itm-asset_no .wa_fkhed_log-sub_number = wa_fk_itm-sub_number . wa_fkhed_log-profit_ctr = wa_fk_itm-profit_ctr . wa_fkhed_log-costcenter = wa_fk_itm-costcenter . wa_fkhed_log-customer = wa_fk_itm-customer .wa_fkhed_log-vendor_no = wa_fk_itm-vendor_no . wa_fkhed_log-orderid = wa_fk_itm-orderid .wa_fkhed_log-item_text = wa_fk_itm-item_text . wa_fkhed_log-currency = wa_fk_itm-currency .wa_fkhed_log-amt_doccur = wa_fk_itm-amt_doccur . wa_fkhed_log-rstgr = wa_fk_itm-rstgr .wa_fkhed_log-xnegp = wa_fk_itm-xnegp .wa_fkhed_log-umskz = wa_fk_itm-umskz .wa_fkhed_log-shkzg = wa_fk_itm-shkzg .wa_fkhed_log-rebzg = wa_fk_itm-rebzg .wa_fkhed_log-rebzj = wa_fk_itm-rebzj .wa_fkhed_log-rebzz = wa_fk_itm-rebzz .wa_fkhed_log-ref_key_8 = wa_fk_itm-ref_key_8 . wa_fkhed_log-ref_key_2i = wa_fk_itm-ref_key_2 . wa_fkhed_log-ref_key_3i = wa_fk_itm-ref_key_3 . wa_fkhed_log-write_date = sy-datum .wa_fkhed_log-write_time = sy-uzeit .MODIFY zfit_fkclear_004 FROM wa_fkhed_log .CLEAR wa_doc_clear .LOOP AT ztab_doc_clear INTO wa_doc_clear .wa_fkitm_log-keyid = wa_fkhed_log-keyid .wa_fkitm_log-obj_no = wa_doc_clear-obj_no .wa_fkitm_log-flag = wa_doc_clear-flag .wa_fkitm_log-xpos1 = wa_doc_clear-xpos1 .wa_fkitm_log-account = wa_doc_clear-account .wa_fkitm_log-comp_code = wa_doc_clear-comp_code . wa_fkitm_log-xnops = wa_doc_clear-xnops .wa_fkitm_log-umskz = wa_doc_clear-umskz .wa_fkitm_log-belnr = wa_doc_clear-belnr .wa_fkitm_log-gjahr = wa_doc_clear-gjahr .wa_fkitm_log-buzei = wa_doc_clear-buzei .wa_fkitm_log-dmbtr = wa_doc_clear-dmbtr .wa_fkitm_log-dmbtr_clear = wa_doc_clear-dmbtr_clear . wa_fkitm_log-ref_key_8 = wa_doc_clear-ref_key_8 . wa_fkitm_log-ref_key_2 = wa_doc_clear-ref_key_2 . wa_fkitm_log-ref_key_3 = wa_doc_clear-ref_key_3 . wa_fkitm_log-write_date = sy-datum .wa_fkitm_log-write_time = sy-uzeit .MODIFY zfit_fkclear_005 FROM wa_fkitm_log .ENDLOOP .CLEAR : wa_fk_itm ,ztab_doc_clear[] .ENDFUNCTION.8.凭证接口结构9.凭证接口源代码FUNCTION ZFI_POST_DOC.*"---------------------------------------------------------------------- *"*"Local interface:*" TABLES*" TAB_ITM STRUCTURE ZFI_DOC_ITM*" TAB_HED STRUCTURE ZFI_DOC_HEAD*"---------------------------------------------------------------------- *" create by kin 2015-07-24DATA: retrun_num(2) TYPE c,p_datetime(14) TYPE c,ref_key(12) TYPE c,p_acc_sum(4) TYPE n,p_acc_suc(4) TYPE n,p_acc_fai(4) TYPE n,p_acc_num(4) TYPE n,p_str(200) TYPE c,p_answer(1) TYPE c,p_char,documentheader LIKE bapiache09,wa_zwyhd01_accit LIKE ZFK_ACCIT,p_customer TYPE bapiacgl09-customer,succe_flag.*---->定义凭证抬头DATA: wa_hd_sap_acc LIKE ZFI_DOC_HEAD,wa_hd_sap_acc_item LIKE ZFI_DOC_ITM.DATA: gt_hplog TYPE STANDARD TABLE OF zfit_hppz_002,wa_hplog TYPE zfit_hppz_002.DATA : BEGIN OF wa_data,icon(4), "预警图标obj_no LIKE bapiache09-obj_sys,itemno(2) TYPE c,datetime(14) TYPE c.INCLUDE STRUCTURE bapiret2.DATA END OF wa_data.DATA :accountgl LIKE bapiacgl09 OCCURS 0 WITH HEADER LINE,accountreceivable LIKE bapiacar09 OCCURS 0 WITH HEADER LINE,accountpayable LIKE bapiacap09 OCCURS 0 WITH HEADER LINE,currencyamount LIKE bapiaccr09 OCCURS 0 WITH HEADER LINE,criteria LIKE bapiackec9 OCCURS 0 WITH HEADER LINE,return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,extension2 LIKE bapiparex OCCURS 0 WITH HEADER LINE,bapi_retn_info LIKE bapiret2 OCCURS 0 WITH HEADER LINE,t_hd_sap_acc LIKE wa_hd_sap_acc OCCURS 0 WITH HEADER LINE,t_hd_sap_acc_item LIKE wa_hd_sap_acc_item OCCURS 0 WITH HEADER LINE,t_data LIKE wa_data OCCURS 0 WITH HEADER LINE.DATA: errs LIKE TAB_HED-err.*---->权限控制AUTHORITY-CHECK OBJECT 'ZWYHD01'ID 'P_ACTIVE' FIELD '1'.IF sy-subrc <> '0'.MESSAGE '对不起,您没有权限传输凭证数据!' TYPE 'E'.ENDIF.*----->控制是否过账p_answer = 'C'.**---->开始导入凭证* SELECT * INTO CORRESPONGDING FIELDS OF TABLE t_hd_sap_acc* FROM TAB_HED.* SELECT * INTO CORRESPONGDING FIELDS OF TABLE t_hd_sap_acc_item.* FROM TAB_ITM.CLEAR : p_acc_sum,p_acc_suc,p_acc_fai,p_acc_num,gt_hplog,wa_hplog.LOOP AT TAB_HED INTO wa_hd_sap_acc.errs = ''.**---->赋值抬头CLEAR: documentheader ,p_customer.p_acc_sum = p_acc_sum + 1 . "记录总凭证数documentheader-bus_act = 'RFBU'.documentheader-username = sy-uname.documentheader-comp_code = wa_hd_sap_acc-comp_code.documentheader-header_txt = wa_hd_sap_acc-header_txt.documentheader-fisc_year = wa_hd_sap_acc-fisc_year.documentheader-ref_doc_no = wa_hd_sap_acc-ref_doc_no.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "会计期间前导0EXPORTINGinput = wa_hd_sap_acc-fis_periodIMPORTINGoutput = wa_hd_sap_acc-fis_period .documentheader-fis_period = wa_hd_sap_acc-fis_period.documentheader-doc_type = wa_hd_sap_acc-doc_type.documentheader-pstng_date = wa_hd_sap_acc-pstng_date.documentheader-doc_date = wa_hd_sap_acc-doc_date.****************************************************************************************************************LOOP AT tab_itm INTO wa_hd_sap_acc_item WHERE obj_no =wa_hd_sap_acc-obj_no.**---->赋值行项目***---->先处理总帐科目、客户、供应商前导0CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "总帐科目前导0EXPORTINGinput = wa_hd_sap_acc_item-gl_accountIMPORTINGoutput = wa_hd_sap_acc_item-gl_account .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "客户前导0 EXPORTINGinput = wa_hd_sap_acc_item-customerIMPORTINGoutput = wa_hd_sap_acc_item-customer .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "供应商前导0 EXPORTINGinput = wa_hd_sap_acc_item-vendor_noIMPORTINGoutput = wa_hd_sap_acc_item-vendor_no .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "内部订单号前导0 EXPORTINGinput = wa_hd_sap_acc_item-orderidIMPORTINGoutput = wa_hd_sap_acc_item-orderid .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "固定资产号前导零 EXPORTINGinput = wa_hd_sap_acc_item-asset_noIMPORTINGoutput = wa_hd_sap_acc_item-asset_no .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "参考号前导零 EXPORTINGinput = wa_hd_sap_acc_item-REBZGIMPORTINGoutput = wa_hd_sap_acc_item-REBZG .CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "参考号行项目前导零EXPORTINGinput = wa_hd_sap_acc_item-REBZZIMPORTINGoutput = wa_hd_sap_acc_item-REBZZ .***---->处理客户相关数据IF wa_hd_sap_acc_item-customer IS NOT INITIAL ANDwa_hd_sap_acc_item-gl_account NOT BETWEEN '0051010100' AND '0051010800'.CLEAR accountreceivable.accountreceivable-itemno_acc =wa_hd_sap_acc_item-itemno_acc .accountreceivable-customer = wa_hd_sap_acc_item-customer. accountreceivable-comp_code = wa_hd_sap_acc-comp_code.accountreceivable-item_text =wa_hd_sap_acc_item-item_text.accountreceivable-tax_code = 'X0'. "税码APPEND accountreceivable.***---->处理供应商相关数据ELSEIF wa_hd_sap_acc_item-vendor_no IS NOT INITIAL.CLEAR accountpayable.accountpayable-itemno_acc = wa_hd_sap_acc_item-itemno_acc .accountpayable-vendor_no = wa_hd_sap_acc_item-vendor_no.accountpayable-comp_code = wa_hd_sap_acc-comp_code.accountpayable-item_text = wa_hd_sap_acc_item-item_text.accountpayable-tax_code = 'J0'. "税码APPEND accountpayable.***---->处理供应商相关数据ELSEIF wa_hd_sap_acc_item-asset_no IS NOT INITIAL. "固定资产CLEAR accountgl.documentheader-bus_act = 'RMWE'.accountgl-asset_no = wa_hd_sap_acc_item-asset_no .accountgl-sub_number = '0000' .accountgl-acct_type = 'A'.accountgl-itemno_acc = wa_hd_sap_acc_item-itemno_acc .accountgl-gl_account = wa_hd_sap_acc_item-gl_account.accountgl-item_text = wa_hd_sap_acc_item-item_text.accountgl-comp_code = wa_hd_sap_acc_item-comp_code.accountgl-fisc_year = wa_hd_sap_acc-fisc_year.accountgl-fis_period = wa_hd_sap_acc-fis_period.accountgl-pstng_date = wa_hd_sap_acc-pstng_date.APPEND accountgl.ELSE.***---->处理总帐相关数据CLEAR accountgl.accountgl-itemno_acc = wa_hd_sap_acc_item-itemno_acc .accountgl-gl_account = wa_hd_sap_acc_item-gl_account.accountgl-item_text = wa_hd_sap_acc_item-item_text.accountgl-comp_code = wa_hd_sap_acc_item-comp_code.accountgl-fisc_year = wa_hd_sap_acc-fisc_year.accountgl-fis_period = wa_hd_sap_acc-fis_period.accountgl-pstng_date = wa_hd_sap_acc-pstng_date.。
文档名称模块SOS2005 SAP项目用户操作手册文档FI-应付款和其他应付款付款清帐流程(UM-FI-P-3.04)2005年9月5日文档名称模块目录1文档概述 (3)1.1目的 (3)1.2定义说明 (3)1.3前提 (3)1.4业务流程综述 (3)1.5操作部门及角色 (3)2流程SCMC-CP-FICO-J3.04 付款及清帐处理流程 (4)2.1业务流程 (4)2.2付款处理—部分支付货款 (4)2.3付款处理—全额支付货款 (11)2.4重置已清项处理 (14)2.5手工清帐 (17)文档名称模块1 文档概述1.1 目的在SAP中处理供应商货款的支付,同时通过清帐进行帐龄分析1.2 定义说明部分付款和剩余付款都指发票的部分支付。
二者的区别是剩余付款:立即对已付款金额自动清帐, 余额产生新的财务凭证号,以后针对新的财务凭证号再次式付款。
帐龄会根据新产生凭证的基准日期重新开始计算。
部分付款:在付款时不会自动清帐,再次付款也是针对系统最初产生的财务凭证号执行。
全额付款后再手工清帐。
未付款金额的帐龄不会重新计算基准日: 系统将默认凭证日期(一般录入为原始凭证日期)作为计算帐龄的起始日1.3 前提。
1.4 业务流程综述详见流程编号SCMC-CP-FICO-J3.04 应付款和其他应付款付款清帐处理流程1.5 操作部门及角色文档名称 模块2 流程SCMC-CP-FICO-J3.04 付款及清帐处理流程2.1 业务流程2.2 付款处理—部分支付货款文档名称模块1. 系统出现”付款记帐:抬头数据”,文档名称模块2. 回车或点击后回车,出现屏幕如下:3. 点至“部分支付”屏,文档名称 模块根据原始凭证,判断支付哪笔凭证的货款,即在相应的行项目上输入相应的支付金额或双击红色的支付金额,系统自动变为20000.00-键可灰去系统从净值带过来的值,光标在相应的支付金额栏中。
可以输入从哪一行上显示激活与取消激活项目键文档名称 模块 系统屏幕,如下:4. 点击凭证模拟或点击””概览键 5. 屏幕显示如下: 在此页录不影响帐龄分析表中的帐龄文档名称模块6.点击“”,凭证过帐,系统屏幕下方提示如下:7.显示供应商科目余额状态:事务码栏中输入/nFK10N后回车,8.点击执行键,出现屏幕:文档名称模块9.双击总计行项目,出现屏幕如下:文档名称模块因部分支付,系统未自动清结表示已结清项目2.3 付款处理—全额支付货款文档名称模块1.回车后进入付款记帐界面,录入相关付款信息,2.回车后屏幕,3.点至“部分支付”屏:文档名称模块4.模拟,预览后过帐:系统出现提示5.查看供应商余额状态, 可看出系统做出了自动清帐。
第 1 页 共 1 页 SAP 学习笔记——SAP 清账SAP 系统为清账工作提供了三种既有的处理逻辑:标准清账、部分支付清账和剩余项目清账。
三种清账方式都是为了同一目的,功能相同,可能还有交叉重复的地方,但实际应用的条件不尽相同,正确的选择清账方式能取得事半功倍的效果。
例如:部分支付清账可以根据需要分批处理未清项;规范操作生成的明细账可以清晰地反映业务发生的过程,便于查询和对账使用。
尤其适用于一笔借款分几次归还或一笔货款分多次收回的情况,剩余项目清账方式可以理解为每次清账后系统会把剩余的未清项金额计算出来,下次清账时再对该剩余金额进行未清项处理。
优点是能随时反映某笔未清项剩余未清的金额。
但是生成的明细账无法真实反映未清项业务分批处理的痕迹,不便于查询使用,而且虚增了发生额。
特殊总账及预付款清账业务业务背景:1101公司职员王越池出差请款3000元。
回来之后按实际发生费用报销4000元。
一.创建员工供应商在SAP 系统中对员工的内部往来账可以将员工创建为供应商进行处理。
例如下面创建一个员工供应商王越池。
Tcode:FK02这里假设公司与员工通过银行转账。
二.设置1.统驭科目设置11510101预付账款(特殊总账标识设置)21210101应付账款(供应商统驭科目)2.特殊总账标识(Tcode :OBYR )第 2 页 共 2 页 假设我们使用特殊总账标识V 来代表预付账款,双击该行,21210101应付账款为Vendor 统驭科目,11510101预付账款即为特殊总账标识V 所代表的科目。
3.记账码(Tcode:OB41)点击Sp. G/L indicator ,在这里将先前维护的特殊总账标识V 加入进来,否则在做Clearing 的时候会报错:Text for posting key 39 not found 。
三.请款(Tcode:F-48)Path:Accounting->Financial Accounting->Accounts Payable->Document Entry->Down PaymentPost 之后FB03查看产生的Document ,实际产生的会计分录为:Dr:11510101预付账款-王越池 3000Cr:10020101银行存款-交行-95588033* 3000四.收到王越池出差费用发票(Tcode:FB60)Path:Accounting->Financial Accounting->Accounts Payable->Document Entry->Invoice第 3 页 共 3 页 在输入发票的时候,当输入了必要的信息Enter 之后系统会提示有3000元的预付款存在。
目录
1.功能用途 (2)
2.适用的业务流程 (2)
3.操作岗位 (2)
4.业务过程概述 (2)
5.具体操作步骤 (2)
5.1业务场景: (2)
5.1.1业务描述 (2)
5.1.2操作路径 (2)
5.1.3具体步骤 (2)
5.2业务场景: (5)
5.2.1业务描述 (5)
5.2.2操作路径 (5)
5.2.3具体步骤 (5)
5.3业务场景: (7)
5.3.1业务描述 (7)
5.3.2操作路径 (7)
5.3.3具体步骤 (7)
5.4业务场景: (12)
5.4.1业务描述 (13)
5.4.2操作路径 (13)
5.4.3具体步骤 (13)
5.5业务场景: (15)
5.5.1业务描述 (15)
5.5.2操作路径 (15)
5.5.3具体步骤 (15)
1.功能用途
适用于应付账款的付款清账处理,主要描述财务应付会计依付款条件在系统中进行应付账款的到期分析,对已到期的应付账款进行汇总,并依资金会计提供的资金信息、采购及审计提供的供应商评估结果,制定付款计划;付款计划经采购确认、财务总监审核后,应付会计进行付款准备工作(依不同付款类别如银行转账、支票、现金付款分别处理),经财务主管审核后,进行实际付款、清账的处理。
2.适用的业务流程
TB-FI-009 应付账款付款清帐流程
3.操作岗位
应付会计;
出纳;
4.业务过程概述
财务应付会计依付款条件在系统中进行应付账款的到期分析,对已到期的应付账款进行汇总,制定付款计划,在系统中付款清账的处理。
5.具体操作步骤
5.1业务场景:
应付账款到期分析(S-ALR-87012078)
5.1.1业务描述
应付会计在系统中做应付账款的到期分析。
5.1.2操作路径
5.1.3具体步骤
按照系统路径或事务代码操作进入如下屏幕:
输入供应商账户和公司代码、选择输出类型:
点击执行到下图:
在上图可以看出供应商100000的到期应付款情况。
5.2业务场景:
应付账款记账(FB60)
5.2.1业务描述
财务在系统中做应付账款的记账处理。
5.2.2操作路径
5.2.3具体步骤
按照系统路径或事务代码操作进入如下屏幕:
输入供应商代码、发票日期、金额、文本、以及总行科目、记账标识、金额和分配编号:
点击,到下图:输入基准日期。
点击模拟,显示结果如下图:
确认无误后点击保存,凭证记账成功。
5.3业务场景:
给供应商付款(F-53)
5.3.1业务描述
财务在实际付款时在系统中做付款凭证。
5.3.2操作路径
5.3.3具体步骤
按照系统路径或事务代码操作进入如下屏幕:
输入凭证日期、凭证抬头文本、银行数据的科目和金额、输入未清项选择的科目:
点击处理未清项到下图:选择要付款的项(双击金额,将要付款的行激活)。
点击部分支付到下图:输入付款金额2000,回车,未分配的地方显示为“0”,
点击保存到下图:
双击银存,到下图输入现金流标识:
点击保存,生成凭证。
我们做一一笔支付2000元的应付账款,现在该供应商还差25300元没付,我们用同样的方法将25300元做付款,操作如下:
生成凭证。
5.4 业务场景: 清帐(F-44)
5.4.1业务描述
财务在系统中做清帐处理。
5.4.2操作路径
5.4.3具体步骤
按照系统路径或事务代码操作进入如下屏幕:
输入要做清帐处理的科目(供应商代码):
点击处理未清项:
将要进行清帐处理的行激活(双击显示蓝色),可以看到右下角未零,这里我们是做的清帐处理,借贷相同所以发生额是0。
点击保存,
生成凭证。
5.5业务场景:
查询行项目(FBL1N)
5.5.1业务描述
财务在系统中查询某供应商的余额。
5.5.2操作路径
5.5.3具体步骤
按照系统路径或事务代码操作进入如下屏幕:
输入要查询的供应商代码,选择查询条件:
点击执行,显示结果如下:
前面显示红灯的部分为未清帐的项目,绿灯的部分为已清帐的项目。