首页 EBS销售订单挑库发放处理程序(1)

EBS销售订单挑库发放处理程序(1)

举报
开通vip

EBS销售订单挑库发放处理程序(1)EBS销售订单挑库发放处理程序成功在EBS实施中,经常遇到从外部传进来一个销售订单,需要回传到EBS中,通过程序进行销售订单的挑库发放下面是对SO挑库发放的实现步骤的详细实现:1.对销售订单的有效性验证1)检查销售订单的行是否被完全传回客户化表2)验证销售订单的关键字段3)检查子库存是否启用了货位控制,如果启用了货位控制,没有生成货位,则调用API生成货位4)调用API检查子库存中的某一个物料的现用量和可用量2.销售订单发放调用API进行销售订单发放发放成功:返回一个批号,这个批号作为挑库发放的参数3.销售订单挑库...

EBS销售订单挑库发放处理程序(1)
EBS销售订单挑库发放处理程序成功在EBS实施中,经常遇到从外部传进来一个销售订单,需要回传到EBS中,通过程序进行销售订单的挑库发放下面是对SO挑库发放的实现步骤的详细实现:1.对销售订单的有效性验证1)检查销售订单的行是否被完全传回客户化 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 2)验证销售订单的关键字段3)检查子库存是否启用了货位控制,如果启用了货位控制,没有生成货位,则调用API生成货位4)调用API检查子库存中的某一个物料的现用量和可用量2.销售订单发放调用API进行销售订单发放发放成功:返回一个批号,这个批号作为挑库发放的参数3.销售订单挑库发放调用API进行挑库发放发放前行状态:准备发放下一步:挑库发放判断依据:销售订单发放生成的批号作为挑库发放的参数发放成功行状态:已发放至仓库下一步:处理物料搬运单判断依据:返回一个批号,这个批号作为挑库发放的参数发放失败行状态:已延交下一步:挑库发放判断依据:未成功返回一个批号说明:订单发放是按照整个订单发放的。4.处理物料搬运单处理成功:行状态:发运下一步:判断依据:返回成功的处理状态处理成失败行状态:下一步:处理物料搬运单判断依据:未返回成功的处理状态5.得到销售订单的交货号(delivery_id)调用API查看是否产生发运号成功:返回发运号失败:未返回发运号6.发运确认处理成功订单状态为:关闭说明:如果发运确认已经成功,则会自动调用连接形成停靠站接口程序具体实现代码1.对销售订单的有效性验证调用API验证货位的代码:fnd_profile.put('MFG_ORGANIZATION_ID',p_organization_id);l_locator_type:=get_locator_type(p_sub_inv,p_organization_id);IFl_locator_type!=1THENl_locator:=p_sub_inv||'.'||p_project||'.'||p_task;inv_loc_wms_pub.create_locator(x_return_status=>l_status,x_msg_count=>l_msg_count,x_msg_data=>l_msg_data,x_inventory_location_id=>l_locator_id,x_locator_exists=>l_locator_exists,p_organization_id=>p_organization_id,p_organization_code=>p_organization_code,p_concatenated_segments=>l_locator,p_description=>NULL,p_inventory_location_type=>l_locator_type,p_picking_order=>NULL,p_location_maximum_units=>NULL,p_subinventory_code=>p_sub_inv,p_location_weight_uom_code=>NULL,p_max_weight=>NULL,p_volume_uom_code=>NULL,p_max_cubic_area=>NULL,p_x_coordinate=>NULL,p_y_coordinate=>NULL,p_z_coordinate=>NULL,p_physical_location_id=>NULL,p_pick_uom_code=>NULL,p_dimension_uom_code=>NULL,p_length=>NULL,p_width=>NULL,p_height=>NULL,p_status_id=>1,p_dropping_order=>NULL);IFl_locator_idISNULLTHENo_err_code:=g_error;o_err_msg:='创建(获取)货位弹性域发生错误';ELSEo_locator_id:=l_locator_id;ENDIF;调用API验证库存现用量和可用量的代码:inv_quantity_tree_pub.query_quantities(p_api_version_number=>1.0,x_return_status=>l_return_status,x_msg_count=>l_msg_count,x_msg_data=>l_msg_data,p_organization_id=>l_organization_id,p_inventory_item_id=>rec_data.item_id,--itemidp_tree_mode=>2,p_is_revision_control=>FALSE,p_is_lot_control=>l_lot_control_flag,p_lot_expiration_date=>rec_data.transaction_date,p_is_serial_control=>FALSE,p_grade_code=>NULL,--INVCONVNOTNEEDEDNOWp_revision=>NULL,p_lot_number=>NULL,p_subinventory_code=>rec_data.pick_from_subinventory,p_locator_id=>l_locator_id,x_qoh=>l_qoh,x_rqoh=>l_rqoh,x_qr=>l_qr,x_qs=>l_qs,x_att=>l_att,x_atr=>l_atr,x_sqoh=>l_sqoh,--INVCONVx_srqoh=>l_srqoh,--INVCONVx_sqr=>l_sqr,--INVCONVx_sqs=>l_sqs,--INVCONVx_satt=>l_satt,--INVCONVx_satr=>l_satr);--INVCONVIFnvl(l_atr,0)=0THENGOTOend_loop;ENDIF;2.销售订单发放调用API进行销售订单发放的代码:fnd_profile.PUT('MFG_ORGANIZATION_ID',l_organization_id);wsh_picking_batches_pkg.insert_row(x_rowid=>l_row_id,x_batch_id=>l_batch_id,p_creation_date=>g_sysdate,p_created_by=>g_user_id,p_last_update_date=>g_sysdate,p_last_updated_by=>g_user_id,p_last_update_login=>g_login_id,p_batch_name_prefix=>NULL,x_name=>l_name,p_backorders_only_flag=>l_rule_rec.backorders_only_flag,p_document_set_id=>l_rule_rec.document_set_id,p_existing_rsvs_only_flag=>l_rule_rec.existing_rsvs_only_flag,p_shipment_priority_code=>l_rule_rec.shipment_priority_code,p_ship_method_code=>l_rule_rec.ship_method_code,p_customer_id=>l_customer_id,p_order_header_id=>rec_data.order_header_id,p_ship_set_number=>l_rule_rec.ship_set_number,p_inventory_item_id=>NULL,p_order_type_id=>l_order_type_id,p_from_requested_date=>NULL,p_to_requested_date=>NULL,p_from_scheduled_ship_date=>NULL,p_to_scheduled_ship_date=>NULL,p_ship_to_location_id=>l_rule_rec.ship_to_location_id,p_ship_from_location_id=>l_rule_rec.ship_from_location_id/*l_stage_locator_id*/,p_trip_id=>NULL,p_delivery_id=>NULL,p_include_planned_lines=>l_rule_rec.include_planned_lines,p_pick_grouping_rule_id=>l_rule_rec.pick_grouping_rule_id,p_pick_sequence_rule_id=>l_rule_rec.pick_sequence_rule_id,p_autocreate_delivery_flag=>'Y',--l_rule_rec.autocreate_delivery_flag;--无论规则是否自动创建交货号,都让系统自动创建(用shipment_number做交货号)p_attribute_category=>NULL,p_attribute1=>NULL,p_attribute2=>NULL,p_attribute3=>NULL,p_attribute4=>NULL,p_attribute5=>NULL,p_attribute6=>NULL,p_attribute7=>NULL,p_attribute8=>NULL,p_attribute9=>NULL,p_attribute10=>NULL,p_attribute11=>NULL,p_attribute12=>NULL,p_attribute13=>NULL,p_attribute14=>NULL,p_attribute15=>NULL,p_autodetail_pr_flag=>l_rule_rec.autodetail_pr_flag,p_carrier_id=>l_rule_rec.carrier_id,p_trip_stop_id=>NULL,p_default_stage_subinventory=>l_rule_rec.default_stage_subinventory,--ERP临时发货区p_default_stage_locator_id=>l_stage_locator_id,p_pick_from_subinventory=>rec_data.pick_from_subinventory,/*l_rule_rec.pick_from_subinventory,*/--ERP提货区p_pick_from_locator_id=>l_locator_id,--l_rule_rec.pick_from_locator_id,p_auto_pick_confirm_flag=>'N'/*l_rule_rec.auto_pick_confirm_flag*/,--无论规则是否自动确认挑库,都不让系统自动挑库(可能会修改分配数)p_delivery_detail_id=>NULL,p_project_id=>rec_data.project_id,p_task_id=>rec_data.task_id,p_organization_id=>l_organization_id,p_ship_confirm_rule_id=>l_rule_rec.ship_confirm_rule_id,p_autopack_flag=>l_rule_rec.autopack_flag,p_autopack_level=>l_rule_rec.autopack_level,p_task_planning_flag=>l_rule_rec.task_planning_flag,p_non_picking_flag=>NULL,p_regionid=>l_rule_rec.region_id,p_zoneid=>l_rule_rec.zone_id,p_categoryid=>l_rule_rec.category_id,p_categorysetid=>l_rule_rec.category_set_id,p_acdelivcriteria=>l_rule_rec.ac_delivery_criteria,p_relsubinventory=>l_rule_rec.rel_subinventory,--如果规则不做限制则可以任意子库中挑库--nvl(p_subinventory_from,l_rule_rec.rel_subinventory),--如果在此处修改来源子库会导致发放不成功不能创建物料搬运单p_append_flag=>l_rule_rec.append_flag,p_task_priority=>l_rule_rec.task_priority,p_ship_set_smc_flag=>NULL,p_actual_departure_date=>NULL,p_allocation_method=>l_rule_rec.allocation_method,p_crossdock_criteria_id=>l_rule_rec.crossdock_criteria_id,p_delivery_name_lo=>NULL,p_delivery_name_hi=>NULL,p_bol_number_lo=>NULL,p_bol_number_hi=>NULL,p_intmed_ship_to_loc_id=>NULL,p_pooled_ship_to_loc_id=>NULL,p_fob_code=>NULL,p_freight_terms_code=>NULL,p_pickup_date_lo=>NULL,p_pickup_date_hi=>NULL,p_dropoff_date_lo=>NULL,p_dropoff_date_hi=>NULL,p_planned_flag=>NULL,p_selected_batch_id=>NULL);IFl_batch_idISNULLTHENl_err_code:=g_warning;l_err_msg:='销售订单发放没有产生批号';GOTOnext_line;ENDIF;销售订单发放生成的批号作为步骤3的参数3.销售订单挑库发放调用API进行挑库发放的代码:wsh_pick_list.online_release(p_batch_id=>l_batch_id,p_pick_result=>l_pick_result,p_pick_phase=>l_pick_phase,p_pick_skip=>l_pick_skip);--F:FailureIFnvl(l_pick_result,'F')='F'THENIF(nvl(l_pick_phase,'START')='MOVE_ORDER_LINES')THENl_err_code:=g_warning;l_err_msg:='联机挑库发放已部分完成。未完全处理物料搬运单:'||l_batch_id;ELSEl_err_code:=g_warning;l_err_msg:='联机挑库发放失败。请在并发模式下发放订单:'||l_batch_id;ENDIF;ELSIFnvl(l_pick_skip,'Y')='Y'THENl_err_code:=g_warning;l_err_msg:='联机挑库发放已结束但出现警告。请检查“发运例外报表”';--即使部分挑库成功也不继续处理ELSIFnvl(l_pick_result,'F')='W'THENIFnvl(l_pick_phase,'START')='MOVE_ORDER_LINES'THENl_err_code:=g_warning;l_err_msg:='联机挑库发放已部分完成,但出现警告。';ELSEl_err_code:=g_warning;l_err_msg:='联机挑库发放已结束但出现警告。请检查“发运例外报表”';ENDIF;ELSIFnvl(l_pick_result,'F')='S'THENNULL;ENDIF;4.处理物料搬运单调用API处理物料搬运单的代码:get_move_order_line_id(p_order_line_id=>rec_data.line_id,o_move_order_line_id=>l_mv_line_id,o_mv_status=>l_mv_status,o_err_code=>l_err_code,o_err_msg=>l_err_msg);IFl_err_codeISNOTNULLTHENGOTOnext_line;ENDIF;move_order>>l_trolin_tbl:=inv_trolin_util.query_rows(p_line_id=>l_mv_line_id);l_mold_tbl:=inv_mo_line_detail_util.query_rows(p_line_id=>l_mv_line_id);inv_pick_wave_pick_confirm_pub.pick_confirm(p_api_version_number=>1.0,p_init_msg_list=>fnd_api.g_false,p_commit=>fnd_api.g_false,x_return_status=>l_return_status,x_msg_count=>l_msg_count,x_msg_data=>l_msg_data,p_move_order_type=>3,p_transaction_mode=>1,p_trolin_tbl=>l_trolin_tbl,p_mold_tbl=>l_mold_tbl,x_mmtt_tbl=>l_mold_tbl,x_trolin_tbl=>l_trolin_tbl);IFl_return_status!=fnd_api.g_ret_sts_successTHENl_err_code:=g_warning;l_err_msg:='处理物料搬运单失败';GOTOnext_line;ENDIF;5.得到销售订单的交货号(delivery_id)得到交货号的代码:PROCEDUREget_delivery_line_id(p_order_line_idINNUMBER,o_delivery_idOUTNUMBER,o_err_codeOUTnumber,o_err_msgOUTVARCHAR2)ISBEGINSELECTwda.delivery_idINTOo_delivery_idFROMwsh_delivery_detailswdd,wsh_delivery_assignmentswdaWHEREwdd.source_line_id=p_order_line_idANDwdd.delivery_detail_id=wda.delivery_detail_idANDrownum=1;EXCEPTIONWHENNO_DATA_FOUNDTHENo_err_code:=g_warning;o_err_msg:='无法获取订单行发运号';WHENOTHERSTHENo_err_code:=g_error;o_err_msg:='获取发运行ID时发生意外错误:'||SQLERRM;END;--调用过程得到交货号get_delivery_line_id(p_order_line_id=>rec_data.line_id,o_delivery_id=>l_delivery_id,o_err_code=>l_err_code,o_err_msg=>l_err_msg);IFl_delivery_idISNULLTHENl_err_code:=g_warning;l_err_msg:='没有为该订单成功创建发运号';GOTOnext_line;ENDIF;6.发运确认根据步骤5中返回的delivery_id确认是否进行发运确认,如果delivery_id不为空,并且没有返回错误信息。调用API进行发运确认的代码:WSH_NEW_DELIVERY_ACTIONS.Confirm_Delivery(p_del_rows=>l_delivery_id_tab,p_action_flag=>l_action_flag,p_intransit_flag=>l_intransit_flag,p_close_flag=>l_close_trip_flag,p_stage_del_flag=>l_stage_del_flag,p_report_set_id=>l_report_set_id,p_ship_method=>l_trip_ship_method,p_actual_dep_date=>l_actual_dep_date,p_bol_flag=>l_create_bol_flag,p_mc_bol_flag=>l_mc_bill_of_lading_flag,p_defer_interface_flag=>l_defer_interface_flag,p_send_945_flag=>l_send_945_flag,x_return_status=>l_return_status);IFl_return_statusNOTIN(fnd_api.g_ret_sts_success,'')THENl_err_code:=g_warning;l_err_msg:='销售订单发放确认失败';GOTOnext_head;ENDIF;结果:通过以上步骤,可以成功的将一个外围系统导入的销售订单进行挑库发放,成功处理此销售订单,并将销售订单行的状态变成“关闭”
本文档为【EBS销售订单挑库发放处理程序(1)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_654168
暂无简介~
格式:doc
大小:42KB
软件:Word
页数:24
分类:
上传时间:2022-08-18
浏览量:0