精华内容
下载资源
问答
  • SAP 寄售

    2020-03-23 16:24:34
    寄售业务: 项目类别:可以指定特殊业务,B、K、L等(寄售业务、外包业务等) 寄售采购订单业务场景:供应商备货在我们企业,库存归属属于供应商的,价值也属于供应商。 企业仅代管寄售库存,在实际使用后,再...

    寄售业务:

    项目类别:可以指定特殊业务,B、K、L等(寄售业务、外包业务等)

    寄售采购订单业务场景:供应商备货在我们企业,库存归属属于供应商的,价值也属于供应商。

                                           企业仅代管寄售库存,在实际使用后,再结算,用多少结多少。

    例如:供应商寄售在企业库存100吨,企业系统显示100吨寄售库存,实际使用了10吨,后续结算10吨。

    实际业务实现方式:

    1、采购订单下单,让供应商送货寄售在企业(100吨)。

    订单类型:K。

    (此时不需要信息记录的价格)价格不需要。。

    首先建立采购订单时,勾选info updata,则保存自动创建info record(寄售类型,可通过ME12查看自动创建不含价格的信息记录)

    勾选信息记录:

    MMBE查看库存:

    ME12查看生成info record,并维护价格信息(否则MB1B转移过账时无价格会报错):

                     

    点击“条件”,维护价格及有限期:

    2、入库

    入库的时候需要检查info record(可通过ME12查看自动创建的信息记录)是否存在即可,不考虑价格存在。

    库存数量updata,价值不更新,产生物料凭证,会计凭证不产生。

    库存数量:K类型的特殊的库存。

    无FI会计凭证产生。

    MMBE查看库存,显示出现“供应商寄售”库存:

    3、寄售库存转为自有库存:

    寄售库存状态,先MB1B转换成企业库存(价值归属转换,供应商价值转成企业价值,FI产生)。

    从寄售库存-->自有企业库存-->发料给产线。。

    移动类型:411+K ===>注意:此时,需要补全信息记录,并且要求有有效的价格。。

    产生物料凭证与FI会计凭证。

    MB1B转换成企业库存,MVT411+K

    输入相关信息:

    点击上方“转移过账---显示”可以查看MB1B过账后的物料凭证和产生的FI会计凭证:

    FI会计凭证采用维护的信息记录价格:

    MMBE查看库存已发生辩变化:

    4、发票校验

    库存使用后,(月底或年底)结算,按照实际使用数量--->按实际转移量。(使用数量=转移数量)。

    产生物料凭证与FI会计凭证也按照实际使用数量。

    发票:事务代码MIRO(寄售业务专用),也可特殊MRKO(此时税码必输,在信息记录中输入)。

    MRKO发票时,可以先选择“显示”,查看是否有误,无误再选择“结算”,结算时显示:

    则需要后台配置(事务代码OMRM)消息类型,设置为W或者无消息提示:

    后台配置完毕,MRKO发票校验成功:

    可查看发票凭证:

    注意:也可以直接从寄售发货到其他业务

    比如:直接寄售库存发货到成本中心,MB1A,201+K:

    (需要有“供应商寄售”库存,否则会出现负库存)

    MMBE查看库存:

    MB1A,201+K发货到成本中心:

    MMBE查看库存,发现供应商寄售库存减少(被成本中心消耗):

    同样,若选择551+K(报废),库存一样会减少。

     

    总结:

    (1)、寄售订单:ME21N采购订单(K)--MIGO至寄售库存--> MB1B使用411+K过账至自有库存--发票。(有物料凭证和会计凭证)

    (2)、寄售订单:ME21N采购订单(K)--MIGO至寄售库存--> MB1A使用551\201+K发货消耗\报废等。(有物料凭证和会计凭证、消耗控制凭证)

    (3)、正常采购订单:采购订单-à转移至自有库存。(有物料凭证和会计凭证)

    寄售价格:若信息记录里有两条价格:2014.1.1--2014.2.1(10RMB)

                                                                  2014.3.1--2014.4.1(11RMB)

    2014.1.20做411+k(时间点,取对应日期区间的价格),发票取价格当前GI(发货)的时间点的价格计算(10RMB,不会跟随信息记录价格变化而变化,取对应的411+k GI过账凭证的金额)。

     

    相关后台配置:

    寄售信息记录激活(后台激活,如果未激活,在采购订单创建时报错)

    OMEV:

    展开全文
  • sap寄售退货单 我曾经听说过,过去人们一直在努力使方法具有单个出口点。 我知道这是一种过时的方法,从未认为它特别值得注意。 但是最近我与一些仍坚持该想法的开发人员联系(最后一次是在这里 ),这让我开始思考...

    sap寄售退货单

    我曾经听说过,过去人们一直在努力使方法具有单个出口点。 我知道这是一种过时的方法,从未认为它特别值得注意。 但是最近我与一些仍坚持该想法的开发人员联系(最后一次是在这里 ),这让我开始思考。

    因此,我第一次真正坐下来比较了这两种方法。

    总览

    文章的第一部分将针对多个return语句重复参数。 它还将确定干净代码在评估这些论点中的关键作用。 第二部分将对得益于早日返回的情况进行分类。

    为了不总是写“带有多个return语句的方法”,我将这种方法称为通过模式构造方法的方法。 虽然这可能有点过头,但肯定会更简洁。

    讨论

    我正在讨论一个方法是应该始终运行到最后一行,从那里返回结果,还是可以有多个return语句并“尽早返回”。

    这当然不是新的讨论。 参见,例如WikipediaHacker ChickStackOverflow

    结构化程序设计

    单个return语句是可取的想法源于1960年代开发的结构化编程范式。 关于子例程,它促进它们具有单个入口和单个出口点。 尽管现代编程语言可以保证前者,但出于某些原因,后者有些过时了。

    单个出口点解决的主要问题是内存或资源泄漏。 当方法内部某处的return语句阻止执行位于其末尾的某些清除代码时,就会发生这种情况。 如今,其中大部分由语言运行时处理(例如,垃圾回收),并且可以使用try-catch-finally编写显式清除块。 因此,现在的讨论主要围绕可读性。

    可读性

    坚持单个return语句可能导致嵌套增加,并需要其他变量(例如,中断循环)。 另一方面,使方法从多个点返回可能导致其控制流程混乱,从而使其难以维护。 重要的是要注意,这两个方面在代码的整体质量方面有很大的不同。

    考虑一种遵循简洁的编码准则的方法:它简短且具有明确的名称和意图揭示结构。 通过引入更多的嵌套和更多的变量,在可读性方面的相对损失非常明显,并且可能使干净的结构混乱。 但是由于该方法的简洁性和形式使其易于理解,因此忽略任何返回声明的风险不大。 因此,即使存在不止一个,控制流程仍然显而易见。

    将此与较长的方法(可能是复杂或优化算法的一部分)进行对比。 现在情况逆转了。 该方法已经包含许多变量,并且可能包含一些嵌套级别。 引入更多内容在可读性方面几乎没有相对成本。 但是,忽视多个回报之一从而误解控制流程的风险是非常现实的。

    因此,问题在于方法是否简短易读。 如果是这样,通常使用多个return语句是一种改进。 如果不是,则最好使用单个return语句。

    其他因素

    但是,可读性可能不是唯一的因素。

    讨论的另一方面可以是日志记录。 如果要记录返回值但不求助于面向方面的编程,则必须在方法的出口点手动插入记录语句。 使用多个return语句执行此操作很繁琐,而忘记一个则很容易。

    同样,如果要在从方法返回之前声明结果的某些属性,则可能希望使用单个退出点。

    多个退货报表的情况

    在几种情况下,一种方法可以从多个返回语句中获利。 我试图在这里对它们进行分类,但没有声称有完整的列表。 (如果您遇到另一种重复出现的情况,请发表评论,我将在此附上。)

    每种情况都会附带一个代码示例。 请注意,缩短这些内容可以使观点更清楚,并且可以通过多种方式进行改进。

    警卫条款

    保护子句位于方法的开头。 他们检查其参数,并在某些特殊情况下立即返回结果。

    防范条款无效或空集合

    private Set<T> intersection(Collection<T> first, Collection<T> second) {
    	// intersection with an empty collection is empty
    	if (isNullOrEmpty(first) || isNullOrEmpty(second))
    		return new HashSet<>();
    
    	return first.stream()
    			.filter(second::contains)
    			.collect(Collectors.toSet());
    }

    从一开始就排除边缘情况有几个优点:

    • 它将特殊情况和常规情况的处理完全分开,从而提高了可读性
    • 它提供了用于其他检查的默认位置,从而保持了可读性
    • 这使得实施常规案例的错误更少
    • 它可能会提高那些特殊情况下的性能(尽管这很少相关)

    基本上,适用于该模式的所有方法都将从其使用中受益。

    值得一提的是后卫条款的支持者是马丁·福勒(Martin Fowler),尽管我会在分支的边缘考虑他的例子 (见下文)。

    分枝

    某些方法的职责要求分支到几个通常专用的子例程之一。 通常最好将这些子例程本身实现为方法。 然后,原始方法仅负责评估某些条件并调用正确的例程。

    委托专门方法

    public Offer makeOffer(Customer customer) {
    	boolean isSucker = isSucker(customer);
    	boolean canAffordLawSuit = customer.canAfford(
    			legalDepartment.estimateLawSuitCost());
    
    	if (isSucker) {
    		if (canAffordLawSuit)
    			return getBigBucksButStayLegal(customer);
    		else
    			return takeToTheCleaners(customer);
    	} else {
    		if (canAffordLawSuit)
    			return getRid(customer);
    		else
    			return getSomeMoney(customer);
    	}
    }

    (我知道我可以省略所有else行。有一天,我可能会写一篇帖子解释为什么在这种情况下我不这样做。)

    与结果变量和单个返回相比,使用多个return语句具有多个优点:

    • 该方法更清楚地表达了其打算跳转到子例程并仅返回其结果的意图
    • 在任何理智的语言中,如果分支不能涵盖所有可能性,则该方法不会编译(在Java中,如果未将变量初始化为默认值,也可以通过一次返回来实现)
    • 结果没有额外的变量,几乎可以覆盖整个方法
    • 被调用方法的结果在返回之前是无法操纵的(在Java中,如果变量是final并且其类是不可变的,也可以通过单次返回来实现;但是,这对于读者而言并不明显)
    • 如果将switch语句用于具有穿透性的语言(例如Java),则立即返回语句可按情况节省一行,因为不需要break ,这减少了样板并提高了可读性

    此模式仅应应用于除分支以外无所作为的方法。 分支机构涵盖所有可能性尤其重要。 这意味着分支语句下面没有代码。 如果有的话,将需要花费更多的精力来推理通过该方法的所有路径。 如果一种方法满足这些条件,那么它将很小且具有凝聚力,这很容易理解。

    级联检查

    有时,一种方法的行为主要由多个检查组成,其中每个检查的结果可能使进一步检查变得不必要。 在这种情况下,最好尽快返回(也许在每次检查之后)。

    在寻找锚定父级时进行级联检查

    private Element getAnchorAncestor(Node node) {
    	// if there is no node, there can be no anchor,
    	// so return null
    	if (node == null)
    		return null;
    
    	// only elements can be anchors,
    	// so if the node is no element, recurse to its parent
    	boolean nodeIsNoElement = !(node instanceof Element);
    	if (nodeIsNoElement)
    		return getAnchorAncestor(node.getParentNode());
    
    	// since the node is an element, it might be an anchor
    	Element element = (Element) node;
    	boolean isAnchor = element.getTagName().equalsIgnoreCase("a");
    	if (isAnchor)
    		return element;
    
    	// if the element is no anchor, recurse to its parent
    	return getAnchorAncestor(element.getParentNode());
    }

    其他示例是Java中equalscompareTo的常规实现。 它们通常还包括一系列检查,其中每个检查都可以确定方法的结果。 如果是这样,则立即返回该值,否则该方法将继续进行下一个检查。

    与单个return语句相比,此模式不需要您跳过箍以防止更深的缩进。 它还使直接添加新的检查和在检查并返回块之前放置注释成为可能。

    与分支一样,多个return语句应仅应用于短而几乎没有其他作用的方法。 级联检查应该是它们的中心,或者更好的是它们的唯一内容(除了输入验证之外)。 如果检查或返回值的计算需要两到三行以上,则应将其重构为单独的方法。

    正在搜寻

    在具有数据结构的地方,可以找到具有特殊条件的项目。 搜索它们的方法通常看起来很相似。 如果这种方法遇到了要搜索的项目,则通常最容易立即返回它。

    立即返回找到的元素

    private <T> T findFirstIncreaseElement(Iterable<T> items, Comparator<? super T> comparator) {
    	T lastItem = null;
    	for (T currentItem : items) {
    		boolean increase = increase(lastItem, currentItem, comparator);
    		lastItem = currentItem;
    
    		if (increase) {
    			return currentItem;
    		}
    	}
    
    	return null;
    }

    与单个return语句相比,这使我们免于寻找摆脱循环的方法。 这具有以下优点:

    • 没有其他布尔变量可以打破循环
    • 循环没有其他条件,它很容易被忽略(尤其是在for循环中),因此会滋生错误
    • 最后两点使循环更容易理解
    • 结果很可能没有其他变量,几乎涵盖了整个方法

    像大多数使用多个return语句的模式一样,这也需要干净的代码。 该方法应该很小,除了搜索外别无其他责任。 非平凡的检查和结果计算应具有自己的方法。

    反射

    我们已经看到了支持和反对多个return语句的参数,以及干净代码所起的关键作用。 分类应有助于识别重复出现的情况,在这种情况下,一种方法将从早期返回中受益。

    翻译自: https://www.javacodegeeks.com/2015/01/multiple-return-statements.html

    sap寄售退货单

    展开全文
  • SAP寄售业务模式

    千次阅读 2018-08-06 11:45:15
    创建寄售补货单——寄售补货——过账; PS:创建补货单时没有发生物权的转移,会产生物料凭证,但不会产生会计凭证; 库存中W标识表示寄售库存,可以在库存清单中查看; 补货完成以后创建发货单——寄售交货——...

    创建寄售补货单——寄售补货——过账;

    PS:创建补货单时没有发生物权的转移,会产生物料凭证,但不会产生会计凭证

    库存中W标识表示寄售库存,可以在库存清单中查看;              

    补货完成以后创建发货单——寄售交货——过账——开具发票。

    一、VA01创建寄售补货单,订单类型选择KB

    与销售订单区别在于净值为0

    寄售订单建立以后,VL01N建立交货单,然后确认库存、拣配数量、工厂

    完成后查看凭证流

    发货过账完成,MMBE查看库存

    补货完成后无法产生会计凭证所以无法开具发票

    VA01创建寄售发货单,订单类型选择KE

    寄售发货订单建立以后,交货单,过账,查看凭证流

    然后VF01开具预制发票,VF02确认金额,数量

    会计下达,查看凭证流,发货完成

    MMBE查看库存

    或者MB52

    寄售补货,发货完成。

    二、寄售退货,拣配

    VA01建立寄售退货订单,VL01N创建交货单,拣配发货过账

    查看凭证流

    选择交货单选择FI凭证,查看成本

    开局发票:

    MMBE查看库存

    然后从寄售库存发货到仓库

    VA01

    建立交货单,发货过账后,查看凭证流

    MMBE查看库存,寄售仓库货物已转移到总仓库,寄售退货完成

     

     

     

     

     

    展开全文
  • sap 寄售业务流程

    2018-06-20 08:08:42
    SAP的标准流程:先开寄售采购 订单(项目类别为K),再用MIGO对采购订单收货,收入寄售状态的库存(此时不做发票校验)。公司要用时,两种办法处理,一种是MB1B 411带K转 自有库存,再按正常的物料领用及发出。另一...
    SAP的标准流程:先开寄售采购 订单(项目类别为K),再用MIGO对采购订单收货,收入寄售状态的库存(此时不做发票校验)。公司要用时,两种办法处理,一种是MB1B 411带K转 自有库存,再按正常的物料领用及发出。另一种是直接带K发出,比如MB1A 261带K发往生产订单。

    公司内领用或发往生产订单后,凭相应的物料凭证做发票校验。(注意,在转寄售物料时要保证寄售信息记录已存在)。

    mb1b 411 k 的方式处理,在mrko处理发票校验的时候,系统提示:

    未发现合作伙伴 &1/公司代码 &2 的消息

    1、OMEV激活寄售信息记录。再增加相关的信息记录。

    2、OMRM:寄售结算: 维护433消息

    M8 443信息号

    这个信息是说,在执行MRKO与寄售厂商结算债务时,结算的结果需要以message的形式输出传递给厂商。message可以是print-out、可以是fax、也可以是e-mail,总之一切与外部经济实体能够沟通信息的媒介。

    如果有这个业务要求的话,定义有关的message control。

    如果没有,或者说没必要通过SAP来激活沟通,那么启动事务代码OMRM,增加一行:message number=443,Online选择-(switch off message),batch input也是一样的选择。

    可以指定user,表示当这个user作MRKO时,message M8 443对他不限制,可以放行从而产生应付账款凭证;而其他人则通通地受阻。如果User保持空白,那就是M8 443“统统地不限制”。

    ---采购订单寄售性质物料收货后,发生领用时用MB1B 411K记帐,随后等供应商发票到来时用MRKO进行“结算”。由于某种原因,公司411K领用记帐的数量是20吨,供应商开具的发票只有15吨,按理 说,寄售领用料的债务结算只能以供应商实际发票为准,可是会计在作MRKO时没有注意数量,匆忙之下按下执行图标,导致结算金额大于供应商的发票金额。

    ---冲销412,再开票

    *寄售转成自有是否影响移动平均价:入库时是不会影响,也是带过来的是寄售的信息记录,但是真正使用的时候,把寄售转成自有,会影响移动平均价格。

    展开全文
  • SAP寄售业务流程

    2018-10-20 23:28:41
    SAP的标准流程:先开寄售采购 订单(项目类别为K),再用MIGO对采购订单收货,收入寄售状态的库存(此时不做发票校验)。公司要用时,两种办法处理,一种是MB1B 411带K转 自有库存,再按正常的物料领用及发出。另一...
  • SAP寄售采购订单退货

    千次阅读 2020-02-27 08:00:00
    在行业中处于强势地位的工厂往往会有供应商寄售的业务存在,某些时候还遇到供应商寄售的物料需要退货返回供应商处的需求,可以有几种做法1、单纯使用一个移动类型减少K库存、可以使用562+K、5...
  • SAP 寄售库龄分析报表

    2018-06-08 17:27:10
    需求:SAP在没有采用批次的情况下,取寄售库龄信息 前提条件:遵循先进先出逻辑 报表效果如下图: 程序设计: 1、定义后台作业,...
  • 本文需要大家在了解寄售基础流程的情况下才能更好的理解。在标准寄售业务中,物料通过移动类型411上线后,产生物流凭证,并基于后台相关配置自动产生记账会计凭证。记账到一个与标准采购相类型的寄售GR/IR中转科目中...
  • SAP做MRKO寄售结算时候,报如下错误: 解决方法:1. TCODE : OMRM 进入如下维护界面 新增如下 443和444消息 保存后。错误应该可以消除了
  • SAP 客户寄售业务

    2013-07-04 20:00:12
    SAP 客户寄售业务的处理方式 某公司供应日用品给某大型连锁超市,平时按照正常节奏发货给超市,但此发货并非结算依据,每月底超市根据当月流水中销售给消费者的数量,与该公司进行结算,剩余未销售部分仍然为该公司...
  • SAP寄售处理

    2018-06-20 08:11:38
    寄售分两种:1, 供应商提供货物,我们销售2,我们提供货物,寄售商销售[@more@]1, 供应商提供货物,我们销售创建PO,购买寄售货物,categories维护成K,然后收货即可.2,我们提供货物,寄售商销售对客户1. consignment fill-up...
  • SAP Retail 寄售门店关键配置 零售行业品牌总公司与零售公司之间经常会采用寄售的业务模式进行交易,商品在总公司下的库存是非限制使用库存,但是转到零售公司属于K寄售库存,所以在零售公司下对应的商品移动及消耗...
  • sap 寄售业务流程

    千次阅读 2017-12-02 18:26:05
    SAP的标准流程:先开寄售采购 订单(项目类别为K),再用MIGO对采购订单收货,收入寄售状态的库存(此时不做发票校验)。公司要用时,两种办法处理,一种是MB1B 411带K转 自有库存,再按正常的物料领用及发出。另一...
  • SAP寄售业务会计凭证的分配码原理分析》博文中最后提出一个问题。售寄业务的会计凭证行项目中产生的分配码如何产生己基本了解,但系统处心积虑的产生这个分配码有什么作用呢? 首先,我们来分析一下,这个分配码...
  • SAP供应商寄售管理

    2020-11-16 09:57:35
    SAP供应商寄售管理一、供应商寄售的定义二、SAP激活供应商寄售三、主数据维护1、物料主数据维护维护寄售采购信息记录 一、供应商寄售的定义 供应商寄售(consignment) 是企业要求供应商把货物存放在企业处,货物的...
  • 寄售”代表一种过程,供应商将可用物料给你,你将物料放在你的库存中。。。在你将物料的供应商的库存拿出来之前,供应商任然是物料的所有者。只要你支付了供应商的款。。
  • 这里所示的是比较完整的步骤,包含了:信息记录、采购合同、货源清单、采购申请、采购订单、采购收货、寄售库存调拨、结算等等。 具体步骤: 1、创建寄售信息记录:ME11 2、创建寄售合同:ME31K 3、货源清单管理...
  • sap供应商寄售

    2014-08-18 09:59:26
    供应商寄售海流程整体配置文档,描述配置及操作!
  • 【总结】SAP 供应商寄售/客户寄售

    千次阅读 2020-10-14 19:07:08
    SAP 供应商寄售/客户寄售 一、概念 【供应商寄售】 供应商寄售(Consignment)是企业要求供应商把货物存放在企业自身仓库,货物的所有权仍归属供应商,但由企业对物料进行实物和库存水平的管理(对数量进行管理...
  • SAP寄售结算规则及要点分析

    千次阅读 2020-05-22 10:18:05
    在做MRKO寄售结算时,系统会根据选定的期间和供应商等条件,将符合条件的寄售消耗或寄售上线的物料凭证找出。然后以供应商为单位。合并产生一张会计凭证。下图显示了通过MRKO结算后自动生成的会计凭证。 那么,在...
  • SAP供应商寄售

    2012-12-21 15:14:02
    1、 创建寄售信息记录:ME11; 2、 创建寄售合同:NE31K; 3、 货源清单管理:ME01;
  • 在做MRKO寄售结算时,系统会根据选定的期间和供应商等条件,将符合条件的寄售消耗或寄售上线的物料凭证找出。然后以供应商为单位。合并产生一张会计凭证。下图显示了通过MRKO结算后自动生成的会计凭证.那么,在MRKO...
  • 关于寄售补货,移动类型631,可以通过两种方式从公司库存移动到客户寄售库存。 1、在系统中建立客户物料关系的销售订单或销售计划协议。通过针对销售订单的发货来达到从公司库存移动到客户寄售库存的寄售补货的目的...
  • 寄售物料的采购、消耗的处理 2、适用范围: 寄售物料 3、文件内容概述:  创建信息记录:即确定物料和相关供应商之间的价格等条款  创建采购订单:针对寄售物料和寄售供应商创建采购订单,此时,采购订单...
  • SAP MM Consignment 寄售库存

    千次阅读 2016-02-04 13:43:44
    寄售,定义就是供应商的货物放在自己的库存中,使用的时候可以转到自己的库存,不用了就直接退给供应商,使用完了再根据供应商发票做发票检验付款。减少公司库存风险,提高库存周转速率。 SAP的业务逻辑如下: ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 151
精华内容 60
关键字:

sap寄售