以下存储过程将数据库表中的clob类型字段(存储的内容为对应Json格式数据)读取出来,对其解析,进行相关业务操作
CREATE OR REPLACE PROCEDURE xq_midso_gen(p_id IN NUMBER) AS
----------------------------------------------------------
--author:xy
--date:20180627
--description:
/*
FOR (查询实际表[订单接口 XQ_MIDSO]中的[是否生成订单]为Y的记录) LOOP
根据接口信息的json信息生成未提交的发货订单。
生成发货订单头表:
单据日期取SYSDATE。
订单类型取新货订单。
发货店仓取总部店仓。
收货店仓取接口中的customer_name对应的经销商下的任一店仓(根据名称匹配)。
鲜桥订单编码取接口中的ordercode。
备注:由鲜桥接口自动生成!
调用存储过程:B_SO_AC。
生成发货订单明细:
条码、款号、ASI取接口中的product_name对应条码的值。
数量取接口中的amount。
调用存储过程:B_SOITEM_ACM。
调用存储过程:B_SO_AM。
END LOOP;
*/
/*
*/
----------------------------------------------------------
v_injson json; --用于将接口信息转换为json格式
v_b_so_id b_so.id%TYPE; --要使用的发货订单ID
v_b_so_docno b_so.docno%TYPE; --发货订单据编号
v_table_id ad_table.id%TYPE; --发货订单m_agtpur表的id
v_ordercode b_so.xq_ordercode%TYPE; --发货订单鲜桥订单编码
v_c_store_id c_store.id%TYPE; --总部店仓ID
v_customer_name c_customer.name%TYPE; --订单头信息中的经销商名称
v_cc_store_id c_store.id%TYPE; --经销商下任一id
v_delivery_time VARCHAR2(20); --配送时间(发货日期)
v_delivery_time1 NUMBER(8); --配送时间(发货日期)
v_delivery_address b_so.dest_address%TYPE; --收货地址
v_amount b_soitem.qty%TYPE; --数量
v_bodylist json_list; --订单明细信息列表
v_onejson json; --用于解析每一个明细数据
v_m_product_id m_