API для перевода на производство в приложениях Oracle
Я пытаюсь найти интерфейс API или таблицу интерфейсов для "передачи в производство" в приложениях Oracle.
Я попробовал следующие 4 способа, но не повезло:
- Таблица интерфейса mtl_system_items_interface
- apps.ego_item_pub.process_item public api
- ENG_BOM_RTG_TRANSFER_PKG.ENG_BOM_RTG_TRANSFER приватный API, который приводит к
- ENG_ECO_PUB.Process_ECO API
Кто-нибудь может привести мне пример, как это сделать через API?
Попробовал ОЭС https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=349161821206184&id=1242524.1&_adf.ctrl-state=qaus6q7ko_7 в этом документе, точка №. 7 - это то, что связано с моим требованием.
- Как перенести инженерные позиции, счета и маршрутизацию в производство с помощью API ENG_ECO_PUB.Process_ECO? Инженерные предметы, счета, маршрут, необходимые для передачи в производство, могут быть добавлены в ECO. Как только ОЭС будет внедрено, все эти объекты будут переведены из Проектирования в Производство, и соответствующие поля будут обновлены. (MTL_SYSTEM_ITEMS_B.ENG_ITEM_FLAG / BOM_STRUCTURES_B.ASSEMBLY_TYPE Проектирование в производство) - создать ECO и пересмотренные элементы для передачи в Mfg L_Eco_Rec.Change_Type_Code:= 'ECO'; l_eco_rec.approval_list_name:= NULL; - Не требуется утверждение L_Eco_Rec.Approval_Status_Name:= 'Утверждено'; - по умолчанию будет Не отправлено на утверждение l_eco_rec.Status_Name:= 'Открыть'; - Статус l_eco_rec.description: = 'ECO -' || l_eco_rec.eco_name || ' API Test '; l_eco_rec.transaction_type: = 'CREATE';
l_eco_rec.plm_or_erp_change: = 'ERP';
l_eco_rec.return_status: = NULL; l_revised_item_tbl (l_row_cnt).eco_name: = 'ECO100'; l_revised_item_tbl (l_row_cnt).organization_code: = 'M1'; l_revised_item_tbl (l_row_cnt).revised_item_name: = 'TEST_REV_ITEM1'; l_revised_item_tbl (l_row_cnt).new_revised_item_revision: = 'B'; l_revised_item_tbl (l_row_cnt).start_effective_date: = sysdate; l_revised_item_tbl (l_row_cnt).status_type: = 1; - "Открыть" l_revised_item_tbl(l_row_cnt).change_description:= "ECO - Transfer"; l_revised_item_tbl(l_row_cnt).transaction_type:= 'CREATE'; - тип транзакции: CREATE / UPDATE l_revised_item_tbl(l_row_cnt).Transfer_Or_Copy:= 'T'; l_revised_item_tbl(l_row_cnt).Transfer_OR_Copy_Item:= 1; - передача предметов
l_revised_item_tbl(l_row_cnt).Transfer_OR_Copy_Bill:= 1; - перевод Билла
l_revised_item_tbl(l_row_cnt).Transfer_OR_Copy_Routing:= 1; - передача маршрутизации
Я пытался, но получил следующие ошибки в журнале:
Organization_code: AGM organization_id: 105 Следующие объекты будут обработаны как часть одного и того же бизнес-объекта | ECO: ECO100 | ЭКО-ПЕРЕСМОТР: 0 | ИЗМЕНИТЬ ЛИНИИ: 0 | ПЕРЕСМОТРЕННЫЕ ПУНКТЫ: 1 | ПЕРЕСМОТРЕННЫЕ КОМПАСЫ: 0 | ПЕРЕВОДНИКИ. КОМПС: 0 | Относящийся. DESGS: 0 | ОПЕРАЦИЯ: 0 | РЕСУРС: 0 | ПОДРАЗДЕЛЕНИЕ РЕСУРСА: 0
PVT API: вызов ECO_Header return_status: S return_status: S в процедуре ошибки журнала.,, Область: Индекс сущности: 1 Уровень ошибки: 0 Состояние ошибки: U Другое состояние: N Другое сообщение: Бизнес-объект: ECO Перевод и вставка сообщений.,, Идентификатор объекта: BO Количество сообщений на данный момент: 1 Завершено извлечение другого сообщения.,, Другое сгенерированное сообщение: Уровень ошибки - бизнес-объект.,, Статус неожиданный и объем все.,, Уровень ошибки ECO.,, Установка пересмотренных записей элементов на N Установка пересмотренных записей компонентов на N Scope= все в пересмотренном компоненте Установка опорных записей обозначения на N Установка заменяющих записей компонентов на N Установка пересмотренных записей операций на N Scope= все в последовательностях операций Установка записей Opration Rsource в N Установка sub записи ресурсов операций до N
Кто-нибудь знает об этих параметрах?
1 ответ
Когда я гуглю "api для передачи в производство в приложениях Oracle", я долго молчу, и то же самое здесь, на этом форуме. Другая вещь, о которой я боялся, это то, что, если на вопрос не ответят, меня снова отсюда выберут.
вот решение, которое мы приняли:
Declare
l_inventory_item_id number := 5838015;
l_org_id number :=105;
l_resp_id number;
l_appl_id number;
begin
select responsibility_id, application_id
into l_resp_id, l_appl_id
from fnd_responsibility
where responsibility_key = 'INVENTORY_SUPER_USER';
--initialize user session
fnd_global.apps_initialize(
user_id => fnd_global.user_id,
resp_id => l_resp_id,
resp_appl_id => l_appl_id);
APPS.ENG_BOM_RTG_TRANSFER_PKG.ENG_BOM_RTG_TRANSFER
(
X_org_id => l_org_id,
X_eng_item_id =>l_inventory_item_id,
X_mfg_item_id =>l_inventory_item_id,
X_transfer_option => 2,
X_designator_option => 1,
X_alt_bom_designator => NULL,
X_alt_rtg_designator => NULL,
X_effectivity_date => sysdate,
X_last_login_id => -1,
X_bom_rev_starting => NULL,
X_rtg_rev_starting => NULL,
X_ecn_name => 'ABC.ABC_11377_121',
X_item_code => 1,
X_bom_code => 2,
X_rtg_code => 1,
X_mfg_description => NULL,
X_segment1 => NULL,
X_segment2 => NULL,
X_segment3 => NULL,
X_segment4 => NULL,
X_segment5 => NULL,
X_segment6 => NULL,
X_segment7 => NULL,
X_segment8 => NULL,
X_segment9 => NULL,
X_segment10 => NULL,
X_segment11 => NULL,
X_segment12 => NULL,
X_segment13 => NULL,
X_segment14 => NULL,
X_segment15 => NULL,
X_segment16 => NULL,
X_segment17 => NULL,
X_segment18 => NULL,
X_segment19 => NULL,
X_segment20 => NULL,
X_implemented_only =>1,
X_unit_number => NULL,
X_commit => TRUE);
end;
После этого кода вы можете проверить eng_item_flag = 'N', и engineering_date должен быть sysdate.