• BOM批量查询


     1业务要求

    1.当多层展开时:

    根据"BOM应用程序"字段CAPID在TC04中取出"选择ID"TC04-CSLID;

    再根据TCS41-CSLID= TC04-CSLID,取出"选择优先级"TCS41-CSLPR、"用途"TCS41-STLAN,按照"选择优先级"升序排序;

    根据物料、工厂、上面排序的第一个用途、可选BOM 从MAST(BOM 链接物料)表查询记录,取物料MAST-MATNR、工厂MAST-WERKS、BOM用途MAST-STLAN、可选BOM MAST-STLAL、BOM编号MAST-STLNR;

    如果有值,则结束取值,如果无值,则根据排序的第二个用途,其他条件都相同,取出数据。

    2.但单层展开或多层有限展开等其他情况时:

    只根据上述取MAST的逻辑取出相关数据即可,不需要取TC04和TCS41表。

    最终,并根据单层展开、多层展开、多层有限展开、不显示虚拟件、不考虑替代组等按钮,调整传入BAPI的相关参数,当多层展开时,不传BOM用途字段,当其他情况时,传入BOM用途字段,并获取不同的返回结果。

    2技术实现

    2.1获取数据

    根据逻辑获取TC04和MAST表中的数据,并根据优先级对TC04的数据进行排序。循环TC04,查找MAST,如果查找到就删除其他数据,否则继续循环。

    单层展开,则参数MEHRS(多层展开)、BREMS(有限展开)不赋值;

    多层展开,则参数MEHRS==X,参数BREMS不赋值;

    多层有限展开,则参数MEHRS==X,BREMS==X;

    不显示虚拟件,则从展开内表中排除虚拟件标识DUMPS==x(小写x)的记录;

    不考虑替代组,则参数EHNDL==X 否则不赋值。

    2.2 调用BAPI

    调用BAPI:CS_BOM_EXPL_MAT_V2。

    参数定义:

    调用BAPI:

    整合返回数据

    抬头数据:

    行项目:

  • 相关阅读:
    【C++】二叉搜索树
    Rational rose 安装教程
    完美解决在Latex的表格里的单元格内的文本紧贴着上边框线条的问题
    Unity脚本判断场景内物体是否为Root Prefab的方法
    使用Latex输入藏文字符
    springboot配置多个数据源
    比较三种非破坏性处理数组的方法
    解密Prompt系列10. 思维链COT原理探究
    linux 安装nginx
    ReqAndRespAndZuul的一些自己的见解,和超时异常的解方案
  • 原文地址:https://blog.csdn.net/BinGeneral/article/details/127100360