销售订单行上行号:LINE_SHIPMENT_OPTION_NUMBER
取值:

( 1)
Line块的块级触发器POST-QUERY调用:
OE_LINE.Post_Query;(来自于库OEXOELIN)


( 2)
库OEXOELIN里Line_Shipment_Option_Number赋值代码:
    OE_CONCAT_VALUES.LINE_SHIPMENT_OPTION
                                        (
                                         Name_in('Line.Line_Number' ),
                                         Name_In('Line.Shipment_Number' ),
                                         Name_In('Line.Option_Number' ),
                                         x_concat_values,
                                         Name_In('Line.Component_Number' ),
                                         Name_In('Line.Service_Number' )
                                         );

    COPY(x_concat_values, 'Line.Line_Shipment_Option_Number' );
   
   
( 3)
OE_CONCAT_VALUES包代码:
PACKAGE BODY oe_concat_values IS
  PROCEDURE line_shipment_option(line_number      IN NUMBER ,
                                 shipment_number  IN NUMBER ,
                                 option_number    IN NUMBER ,
                                 p_concat_value   OUT VARCHAR2 ,
                                 component_number IN NUMBER DEFAULT NULL ,
                                 service_number   IN NUMBER DEFAULT NULL ) IS
  BEGIN
 
    --=========================================
    --
Added for identifying Service Lines
    --=========================================
    IF service_number IS NOT NULL THEN
      IF option_number IS NOT NULL THEN
        IF component_number IS NOT NULL THEN
          p_concat_value := line_number || '.' ||
shipment_number || '.' ||
                            option_number || '.' ||
component_number || '.' ||
                            service_number;
        ELSE
          p_concat_value := line_number || '.' ||
shipment_number || '.' ||
                            option_number || '..' ||
service_number;
        END IF ;
    
        ---
if a option is not attached
      ELSE
        IF component_number IS NOT NULL THEN
          p_concat_value := line_number || '.' ||
shipment_number || '..' ||
                            component_number || '.' ||
service_number;
        ELSE
          p_concat_value := line_number || '.' ||
shipment_number || '...' ||
                            service_number;
        END IF ;
    
      END IF ; /*
if option number is not null */
  
      --
if the service number is null
    ELSE
      IF option_number IS NOT NULL THEN
        IF component_number IS NOT NULL THEN
          p_concat_value := line_number || '.' ||
shipment_number || '.' ||
                            option_number || '.' ||
component_number;
        ELSE
          p_concat_value := line_number || '.' ||
shipment_number || '.' ||
                            option_number;
        END IF ;
    
        ---
if a option is not attached
      ELSE
        IF component_number IS NOT NULL THEN
          p_concat_value := line_number || '.' ||
shipment_number || '..' ||
                            component_number;
        ELSE
          /*Bug2848734
- Added IF condition */
          IF (line_number IS NULL AND shipment_number IS NULL) THEN
            p_concat_value := NULL ;
          ELSE
            p_concat_value := line_number || '.' ||
shipment_number;
          END IF ;
        END IF ;
    
      END IF ; /*
if option number is not null */
  
    END IF ; /*
if service number is not null */
 
  END line_shipment_option;

END oe_concat_values;


SELECT ool.line_id
      ,to_char(ool.line_number) ||
       decode (ool.shipment_number,
              NULL ,
              NULL ,
              '.' ||
to_char(ool.shipment_number)) ||
       decode (ool.option_number,
              NULL ,
              NULL ,
              '.' ||
to_char(ool.option_number)) ||
       decode (ool.component_number,
              NULL ,
              NULL ,
              decode (ool.option_number, NULL , '.', NULL )
|| '.' ||
              to_char(ool.component_number)) ||
       decode (ool.service_number,
              NULL ,
              NULL ,
              decode (ool.component_number, NULL , '.', NULL )
||
              decode (ool.option_number, NULL , '.', NULL )
|| '.' ||
              to_char(ool.service_number)) line_num
      ,msi.segment1 item_number
      ,ool.ordered_quantity
  FROM oe_order_lines_all
ool, mtl_system_items msi
WHERE ool.header_id
= &header_id
   AND ool.ship_from_org_id
= msi.organization_id(+)
   AND ool.inventory_item_id
= msi.inventory_item_id(+)
   AND ool.item_type_code
<> 'INCLUDED' ;

销售订单行上行号LINE_SHIPMENT_OPTION_NUMBER的更多相关文章

  1. 如何用代码填充S/4HANA销售订单行项目的数量字段

    我的任务是用代码生成S/4HANA销售订单(Sales Order)的行项目,并且填充对应的quantity(数量)值. 最开始我用了下面的代码,把quantity的值写入item字段target_q ...

  2. C4C销售订单行项目价格维护方法

    需求很简单,能够创建销售订单,在行项目里添加产品,带出价格来,同时把总价显示在销售订单抬头区域. 如下图所示: 下面是具体配置. Business Configuration里,点击Sales Ord ...

  3. 【ABAP系列】SAP 销售订单的行项目里条件的增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 销售订单的行项目里条件的 ...

  4. [SAP ABAP开发技术总结]SD销售订单定价过程

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. 如何用SAP Cloud for Customer的手机App创建销售订单

    第一次启动App,设置一个初始化的pin code: 输入C4C tenant的url,用户名和密码: 登录进系统后,找到Sales Order工作中心: 可以看到系统里很多已有的销售订单了.点击屏幕 ...

  6. 销售订单(SO)-API-创建销售订单

    创建销售订单API主要注意几点: 初始化环境变量:fnd_global.apps_initialize(); mo_global.init('ONT'); mo_global.set_policy_c ...

  7. 【SD系列】SAP 查看销售订单时,报了一个错误消息,“项目不符合计划行(程序错误)”

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP 查看销售订单时,报了一个错误 ...

  8. 【SD系列】SAP 创建销售订单-用外部给号的方法步骤

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP 创建销售订单-用外部给号的方 ...

  9. 为什么S/4HANA的销售订单创建会触发生产订单的创建

    调用S/4HANA销售订单创建函数SD_SALES_DOCU_MAINTAIN创建一个销售订单时,会触发生产订单的创建. 销售订单的每个行项目对应一个独立的生产订单,SD_SALES_DOCU_MAI ...

随机推荐

  1. Strider 持续集成(gitlab)

    Strider安装后运行: Mac: strider Ubuntu: bin/strider 本地运行时浏览器访问: http://127.0.0.1:3000 其他服务器:服务器地址 + 端口号(3 ...

  2. Jquery 操作页面中iframe自动跟随窗口大小变化,而页面不出现滚动条,只在iframe内部出滚动条

    很多时候大家需要iframe自适应所加载的页面高度而不要iframe滚动条,但是这次我需要的是页面不需要滚动条而iframe要滚动条,且iframe自动跟随窗口大小变化.自适应页面大小.下面是代码,下 ...

  3. 邮件发送服务AWS SES,Mailgun以及SendCloud(转)

    原文:http://www.l4zy.com/posts/aws_ses-mailgun-sendcloud.html 电子邮件这一已经诞生很多年的互联网基础服务并没有随着时间的推移而慢慢消亡,实际上 ...

  4. static_cast, dynamic_cast, const_cast探讨

    转自:http://www.cnblogs.com/chio/archive/2007/07/18/822389.html 首先回顾一下C++类型转换: C++类型转换分为:隐式类型转换和显式类型转换 ...

  5. HTML5-企业宣传6款免费源码

    本文主要分享了6个很不错的HTML5宣传模板源码,这些生动具体的介绍了各个公司的产品及公司各类应用,有汽车.旅游.公司,房产等Query特效,大家一起来欣赏吧. 一.九秒教育企业海报(移动端)这次要分 ...

  6. Delphi中GUID相等检查中经典指针应用

    type PGUID = ^TGUID; TGUID = packed record D1: LongWord; D2: Word; D3: Word; D4: array[0..7] of Byte ...

  7. hdoj 5386 Cover

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5386 倒着推的一个挺暴力的题,看着和数学有关系,然而并没有, 不要一看到含有数学元素就考虑这是一个数学 ...

  8. EASYUI DATAGRID 多列复选框CheckBox

    主要实现: 用的 easyui 1.3.2 实现多个复选框列,各列互不影响.能够实现全选.主要部门用红色标记了的. easyui datagrid 初始化: <script> functi ...

  9. JS:公历、农历互转

    先申明这段代码不是我写的,纯粹只是觉的比较好用,所以记录下来以后继续使用,也同样分享给大家,大家有更好的可以推荐给我,谢谢! function CalConv(M, dateStr) { if (da ...

  10. CString 转 char*; wstring 转 string

    1. CString  转 char* ); CString name; name.Format(_T("bookUC%d.txt"),m_ID); std::wstring _n ...