zoukankan      html  css  js  c++  java
  • INV Pending Transactions – INVCLRMO.sql

    REM $Header: INVCLRMO.sql 115.5 2002/03/09 16:23:25 kadavi noship $

    REM

    REM             (c) Copyright Oracle Corporation 2001

    REM                     All Rights Reserved

    REM

    REM HISTORY

    REM This is script to clear Open move order lines which

    REM are not linked to Delivery details ,clean Orphan suggestions

    REM in Mtl_material_transactions_temp and remove reservations

    REM link to Mtl_material_transactions_temp if reservations are

    REM not existing.

    REM 

    REM Also this script creates and drop temp tables so Ct

    REM need to manually run this script.

    REM dbdrv: sql ~PROD ~PATH ~FILE none none none sqlplus_single &phase=dat \

    REM dbdrv: checkfile:~PROD:~PATH:~FILE

    WHENEVERSQLERRORCONTINUEROLLBACK;

    prompt dropping tables

    droptablemtl_mmtt_backup;

    droptablemtl_mtrl_backup;

    droptablemtl_msnt_backup;

    droptablemtl_mtlt_backup;

    --搬运过仓库,而发生待定事务,并没有从仓库出货

    promptcreatetablefor MMTT backup

    createtablemtl_mmtt_backup

    as(

      select mmtt.*

      from mtl_material_transactions_temp mmtt,

           mtl_txn_request_lines mtrl,

           mtl_txn_request_headers mtrh

      where mmtt.move_order_line_id ISNOTNULL

           AND mmtt.move_order_line_id = mtrl.line_id

           AND mtrl.line_status =7--Pre Approved

           and mtrl.header_id = mtrh.header_id

           and mtrh.move_order_type =3--3    Pick Wave    Move Order Type created for outbound shipping

           andnotexists(

          select'Y'

            from wsh_delivery_details

           where move_order_line_id = mtrl.line_id

             and released_status ='S'  --S    Released to Warehouse

              )

           )

    /

    --搬运关闭,并处于待定事务

    promptselect allocation records for closed moveorder

    insertintomtl_mmtt_backup

    (select mmtt.*

     from mtl_material_transactions_temp mmtt, mtl_txn_request_lines mtrl

     where  mmtt.move_order_line_id = mtrl.line_id

       and  mtrl.line_status =5  --5    Closed

    )

    /

    --找出没有在搬运明细行的待定事务

    promptselect allocation records with missing moveorder

    insertintomtl_mmtt_backup

    (select mmtt.*

       from mtl_material_transactions_temp mmtt

      where move_order_line_id ISNOTNULL

        andnotexists(

            select mtrl.line_id

              from mtl_txn_request_lines mtrl

         where mtrl.line_id = mmtt.move_order_line_id)

    )

    /

    --搬运过仓库,并没有从仓库出货

    promptcreatebackuptableformoveorder lines

    createtablemtl_mtrl_backup

    as(

      select mtrl.*

        from mtl_txn_request_lines mtrl,

           mtl_txn_request_headers mtrh

       where mtrl.line_status =7  --Pre Approved

           and mtrl.header_id = mtrh.header_id

           and mtrh.move_order_type =3  --3    Pick Wave    Move Order Type created for outbound shipping

           andnotexists(

              select'Y'

                from wsh_delivery_details

               where move_order_line_id = mtrl.line_id

             and released_status ='S'  --S    Released to Warehouse

            )

         )

    /

    --找出待定事务SN

    promptcreatebackuptablefor serial number allocations

    createtablemtl_msnt_backup

    as(

      select msnt.*

      from mtl_serial_numbers_temp msnt

      where msnt.transaction_temp_id IN

      (select transaction_temp_id frommtl_mmtt_backup)

    )

    /

    --找出待定事务LOT

    promptcreatebackuptablefor lot number allocations

    createtablemtl_mtlt_backup

    as(

      select mtlt.* from mtl_transaction_lots_temp mtlt

      where mtlt.transaction_temp_id IN

       (select transaction_temp_Id frommtl_mmtt_backup)

     )

    /

    --通过LOT找出待定事务SN

    promptselect serial number allocations for lot controlled items

    insertintomtl_msnt_backup

    (select msnt.* from mtl_serial_numbers_temp msnt

    where msnt.transaction_temp_id IN

    (select serial_transaction_temp_id

     frommtl_mtlt_backup)

    )

    /

    ------------------------------------------------------

    --add by ru

    --将找出上述项,删除其SN

    promptbackupfordelete serial number allocations

    createtablemtl_msnt_bak_d1as(

    select * from mtl_serial_numbers_temp

    where transaction_temp_id IN

    (select transaction_temp_id frommtl_msnt_backup)

    )

    /

    --将找出上述项,删除其SN

    promptdelete serial number allocations

    deletefrom mtl_serial_numbers_temp

    where transaction_temp_id IN

    (select transaction_temp_id frommtl_msnt_backup)

    /

    --add by ru

    --将找出上述项,删除其LOT

    promptbackupfordelete lot number allocations

    createtablemtl_mtlt_bak_d1as(

    select * from mtl_transaction_lots_temp

    where transaction_temp_id IN

    (select transaction_temp_id frommtl_mtlt_backup)

    )

    /

    --将找出上述项,删除其LOT

    promptdelete lot number allocations

    deletefrom mtl_transaction_lots_temp

    where transaction_temp_id IN

    (select transaction_temp_id frommtl_mtlt_backup)

    /

    --add by ru

    --将找出上述项,删除其MMT

    promptbackupfordelete allocations

    createtablemtl_mmtt_bak_d1as(

    select * from mtl_material_transactions_temp

    where transaction_temp_id IN

    (select transaction_temp_id frommtl_mmtt_backup)

    )

    /

    --将找出上述项,删除其MMT

    promptdelete allocations

    deletefrom mtl_material_transactions_temp

    where transaction_temp_id IN

    (select transaction_temp_id frommtl_mmtt_backup)

    /

    -----------------------------------------------------

    --add by ru

    --将找出上述项,删除其搬运关闭

    promptbackupforclosemoveorder lines

    createtablemtl_mtrl_bak_u1as(

    select * from mtl_txn_request_lines

    where line_id IN

    (select line_id frommtl_mtrl_backup)

    )

    /

    --将找出上述项,删除其搬运关闭

    promptclosemoveorder lines

    update mtl_txn_request_lines

    set quantity =nvl(quantity_detailed,0)

        ,line_status =5  --5    Closed

    where line_id IN

    (select line_id frommtl_mtrl_backup)

    /

    --add by ru

    --将搬运与发货的匹配

    promptbackupforupdatetransactionsourceonthemoveorder line

    createtablemtl_mtrl_bak_u2as(

    select * from mtl_txn_request_lines mtrl

    where mtrl.line_status =7  --7    Pre Approved

    andexists(select delivery_detail_id

    from wsh_delivery_details wdd

    where move_order_line_Id = mtrl.line_Id

    and wdd.source_line_id <> mtrl.txn_source_line_id

    and wdd.source_line_id >0

    and wdd.released_status ='S'  --S    Released to Warehouse

    )

    )

    /

    --将搬运与发货的匹配

    promptupdatetransactionsourceonthemoveorder line

    update mtl_txn_request_lines mtrl

    set mtrl.txn_source_line_id =

    (selectdistinct(source_line_id)from wsh_delivery_details

    where move_order_line_id = mtrl.line_id

    and released_status ='S')

    where mtrl.line_status =7  --7    Pre Approved

    andexists(select delivery_detail_id

    from wsh_delivery_details wdd

    where move_order_line_Id = mtrl.line_Id

    and wdd.source_line_id <> mtrl.txn_source_line_id

    and wdd.source_line_id >0

    and wdd.released_status ='S'  --S    Released to Warehouse

    )

    /

    --add by ru

    promptbackupforupdatetransactionsourceonthe allocation

    createtablemtl_mmtt_bak_u1as(

    select * from mtl_material_transactions_temp mmtt

    where mmtt.transaction_type_id IN(52,53)  --52      Sales Order Pick    Staging transfer on a Sales order

                                                --53      Internal Order Pick    Staging transfer on an Internal order

    and mmtt.move_order_line_id ISNOTNULL

    andexists(

    select line_id from mtl_txn_request_lines

    where line_status =7--7    Pre Approved

    and line_id = mmtt.move_order_line_id

    and txn_source_line_id <> mmtt.trx_source_line_id)

    )

    /

    promptupdatetransactionsourceonthe allocation

    update mtl_material_transactions_temp mmtt

    set mmtt.trx_source_line_id =

    (select txn_source_line_id

    from mtl_txn_request_lines

    where line_id = mmtt.move_order_line_id)

    where mmtt.transaction_type_id IN(52,53)  --52      Sales Order Pick    Staging transfer on a Sales order

                                                --53      Internal Order Pick    Staging transfer on an Internal order

    and mmtt.move_order_line_id ISNOTNULL

    andexists(

    select line_id from mtl_txn_request_lines

    where line_status =7--7    Pre Approved

    and line_id = mmtt.move_order_line_id

    and txn_source_line_id <> mmtt.trx_source_line_id)

    /

    --add by ru

    promptbackupforupdate allocations for missing reservations

    createtablemtl_mmtt_bak_u2as(

    select * from mtl_material_transactions_temp mmtt

    where mmtt.reservation_id ISNOTNULL

    andnotexists(

    select mr.reservation_id from mtl_reservations mr

    where reservation_id = mmtt.reservation_id)

    )

    /

    promptupdate allocations for missing reservations

    update mtl_material_transactions_temp mmtt

    set reservation_id =NULL

    where mmtt.reservation_id ISNOTNULL

    andnotexists(

    select mr.reservation_id from mtl_reservations mr

    where reservation_id = mmtt.reservation_id)

    /

    commit

    /

    EXIT;

    /

  • 相关阅读:
    shell中的for循环
    tty相关
    udev规则
    find中perm参数
    日志级别的选择:Debug、Info、Warn、Error还是Fatal
    云计算、云存储、大数据
    JSON数据解析(python3.4)
    38、友盟统计
    37、iamgeview 图层叠加
    36、imageview的坑
  • 原文地址:https://www.cnblogs.com/quanweiru/p/3123485.html
Copyright © 2011-2022 走看看