Примерно под нашу системку скрипт подвел, проверим в воскресение
-- po_headers_all
SELECT *
FROM po.po_headers_all pha
WHERE pha.po_header_id = :hdr_id;
UPDATE po.po_headers_all pha
SET pha.REVISION_NUM = 0
, pha.REVISED_DATE = NULL
, pha.CLOSED_DATE = NULL
, pha.CANCEL_FLAG = 'N'
, pha.CLOSED_CODE = NULL -- CLOSED_CODE = 'OPEN'
WHERE pha.po_header_id = :hdr_id;
-- po_lines_all
SELECT *
FROM po.po_lines_all pla
WHERE pla.po_header_id = :hdr_id;
UPDATE po.po_lines_all pla
SET pla.CLOSED_DATE = NULL
, pla.CANCEL_FLAG = 'N'
, pla.CANCELED_BY = NULL
, pla.CANCEL_REASON = NULL
, pla.CANCEL_DATE = NULL
, pla.CLOSED_CODE = NULL -- CLOSED_CODE = 'OPEN'
, pla.CLOSED_REASON = NULL
, pla.CLOSED_BY = NULL
WHERE pla.po_header_id = :hdr_id;
-- po_line_locations_all
SELECT *
FROM po.po_line_locations_all plla
WHERE plla.po_header_id = :hdr_id;
UPDATE po.po_line_locations_all plla
SET plla.CLOSED_DATE = NULL
, plla.CANCEL_FLAG = 'N'
, plla.CLOSED_CODE = 'OPEN'
, plla.CANCEL_REASON = NULL
, plla.CLOSED_REASON = NULL
, plla.CLOSED_BY = NULL
, plla.CANCELED_BY = NULL
, plla.CANCEL_DATE = NULL
, plla.QUANTITY_CANCELED = 0
, plla.QUANTITY_RECEIVED = 0
, plla.QUANTITY_BILLED = 0
WHERE plla.po_header_id = :hdr_id;