Bom dia Pessoal.
Preciso desenvolver uma customização no Oracle EBS R11 que importa um arquivo da maquina local para dentro da aplicação. Alguém pode me indicar uma maneira pratica e tranquila de se resolver esse problema? Fico no aguardo;
Obrigado
Fazer upload de arquivo no Oracle EBS R11
-
- Rank: Programador Pleno
- Mensagens: 38
- Registrado em: Qua, 30 Jan 2013 6:22 pm
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Acredito que a maneira mais fácil de fazer isso é utilizar os Attachments.
Repare que existe um Clip na toolbar.
http://crmweba.wgresorts.com/wiki/image ... hments.pdf
e
http://docs.oracle.com/cd/E18727_01/doc ... 458262.htm
Ali serve pra você anexar coisas.
É possível criar um programa que permita anexos.
Na minha opinião, é a maneira mais fácil.
O arquivo vai ficar disponível na fnd_lobs;
Existem algumas packages, api pra cuidar disso:
Eu tenho aqui um programa que faz o contrário do que você precisa:
Ele pega os arquivos de um diretório no servidor e CRIA uma linha nos attachments de um item de inventário.
(no caso, é a figura do item de inventário). Vou postar aqui, talvez ajude.
Talvez tenha como fazer uma coisa totalmente customizada em Java (OAF), mas acredito que é bem pior.
Repare que existe um Clip na toolbar.
http://crmweba.wgresorts.com/wiki/image ... hments.pdf
e
http://docs.oracle.com/cd/E18727_01/doc ... 458262.htm
Ali serve pra você anexar coisas.
É possível criar um programa que permita anexos.
Na minha opinião, é a maneira mais fácil.
O arquivo vai ficar disponível na fnd_lobs;
Existem algumas packages, api pra cuidar disso:
fnd_attached_documents_pkg
fnd_webattch.add_attachment
Ele pega os arquivos de um diretório no servidor e CRIA uma linha nos attachments de um item de inventário.
(no caso, é a figura do item de inventário). Vou postar aqui, talvez ajude.
declare
l_blob blob := EMPTY_BLOB();
l_bfile bfile;
l_rowid varchar2(50);
l_attac_doc_id number;
l_document_id number;
l_user_id number := fnd_global.user_id;
l_media_id number;
l_file_id number;
lv_exists number:=0;
lv_name varchar2(100);
lv_dir varchar2(100);
v_access_id NUMBER;
x_access_id NUMBER;
v_file_id NUMBER;
x_file_id NUMBER;
x_errbuf VARCHAR2 (200);
v_filename VARCHAR2 (200);
begin
-- fnd_global.apps_initialize (1318, 20420, 1);
for C in (select attribute2, SEGMENT1, INVENTORY_ITEM_ID from MTL_SYSTEM_ITEMS_B
where segment1 = '0060527'
and organization_id = 84) loop
l_bfile := bfilename( 'DIR_PICTURES', nvl(c.attribute2,c.segment1)||'.jpg');
LV_EXISTS := DBMS_LOB.FILEEXISTS(L_BFILE);
DBMS_LOB.FILEGETNAME(L_BFILE, LV_DIR, LV_NAME);
if LV_EXISTS = 1 then
--
L_ROWID := null;
--
select APPLSYS.FND_ATTACHED_DOCUMENTS_S.NEXTVAL
into L_ATTAC_DOC_ID
from DUAL;
--
l_document_id := null;
L_MEDIA_ID := null;
V_ACCESS_ID := FND_GFM.AUTHORIZE (null);
X_ACCESS_ID := V_ACCESS_ID;
--
fnd_attached_documents_pkg.insert_row(l_rowid,
l_attac_doc_id,
l_document_id,
sysdate,
l_user_id,
sysdate,
l_user_id,
null, -- last update login
999, -- seq num
'MTL_SYSTEM_ITEMS',
null, --column1
'84', --pk1_value
to_char(c.inventory_item_id),
null,null,null, -- pk*_value
'N', -- Automatic Added
null,null,null,null,
null,null,null,null,
null,null,null,null,
null,null,null,null,
null,null,null,null,
--
6, -- DATATYPE_ID
1, -- CATEGORY_ID
1, -- secutity_type
84, -- security_id
'Y', -- publish_flag
null,
null,
'O', -- usage type
'PTB',
null,
lv_name, -- FILENAME
l_media_id,
null,null,null,null,
null,null,null,null,
null,null,null,null,
null,null,null,null,
'N',
null,
null );
--
delete FND_LOBS_DOCUMENT
where name = lv_name;
--
insert into fnd_lobs (file_id, file_name, file_content_type, file_data,
LANGUAGE, ORACLE_CHARSET, FILE_FORMAT)
values (l_media_id, lv_name, 'image/jpeg', EMPTY_BLOB(), 'PTB','WE8MSWIN1252','binary' )
returning FILE_DATA into L_BLOB;
--
DBMS_LOB.FILEOPEN( L_BFILE );
DBMS_LOB.LOADFROMFILE( L_BLOB, L_BFILE, DBMS_LOB.GETLENGTH( L_BFILE ) );
DBMS_LOB.FILECLOSE( L_BFILE );
commit;
else
rollback;
end if;
end loop;
end;
/
Talvez tenha como fazer uma coisa totalmente customizada em Java (OAF), mas acredito que é bem pior.
-
- Rank: Programador Pleno
- Mensagens: 38
- Registrado em: Qua, 30 Jan 2013 6:22 pm
Amigo, boa tarde. Tudo bem?
Então é seguinte, o que você me explicou já me deu uma luz porém vi que é possível fazer isso com o OPEN DIALOG, ou seja, abrindo uma caixa de dialogo no windons, só que pesquisando na net encontrei umas soluções e o código está dando um erro nessa Trigger (WHEN-CUSTOM-ITEM-EVENT) no Forms 6 falando que é preciso declarar ela, verificando eu vi que não tem essa trigger na lista de Triggers do Item. Você sabe me dizer se tenho que instalar alguma Lib ou algo do tipo?
Obrigado e fico no aguardo.
Abraços
Então é seguinte, o que você me explicou já me deu uma luz porém vi que é possível fazer isso com o OPEN DIALOG, ou seja, abrindo uma caixa de dialogo no windons, só que pesquisando na net encontrei umas soluções e o código está dando um erro nessa Trigger (WHEN-CUSTOM-ITEM-EVENT) no Forms 6 falando que é preciso declarar ela, verificando eu vi que não tem essa trigger na lista de Triggers do Item. Você sabe me dizer se tenho que instalar alguma Lib ou algo do tipo?
Obrigado e fico no aguardo.
Abraços
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Eu acho que essa é uma trigger customizado. (não é padrão). O EBS tem isso.
Você ta usando um Template do EBS pra criar esse form?
Você ta usando um Template do EBS pra criar esse form?
-
- Rank: Programador Pleno
- Mensagens: 38
- Registrado em: Qua, 30 Jan 2013 6:22 pm
Olá bom dia. Sim eu usei um tamplate do EBS para criar esse forms. Porém essa funcionalidade de fazer o Open Dialog do arquivo para dentro do EBS eu verifiquei que no modulo HR no cadastro de Pessoas é possível fazer isso quando vai cadastrar a foto do funcionario. Pensando nisso eu peguei esse forms do modulo do HR no servidor de aplicação e estou tentando fazer a mesma coisa no meu forms seguindo a mesma ideia, porém está dando esse erro muito estrando a trigger deve ser declarada. Você tem ideia?
Obrigado
Obrigado
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você sabe me dizer se no módulo do HR ele abre uma tela FORMS pra fazer o upload ?
Normalmente pra fazer esse tipo de coisa é disparada uma tela JAVA. (como no caso dos anexos)
Normalmente pra fazer esse tipo de coisa é disparada uma tela JAVA. (como no caso dos anexos)
-
- Rank: Programador Pleno
- Mensagens: 38
- Registrado em: Qua, 30 Jan 2013 6:22 pm
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Eu nunca tinha visto uma tela assim no EBS. Sempre achei que TODO upload de arquivos era feito por telas java. (Vivendo e aprendendo! )
Então, parece que esse programa usa a WEBUTIL. (que é a nova D2KWUTIL).
Eu acho que o jeito é olhar o que tem dentro desse botão, ver mesmo se usam a WEBUTIL. (sempre achei que ela não era instalada no EBS). Depois me passa o nome desse programa, fiquei curioso. Vou abrir ele aqui!
Se for o caso, aqui tem um exemplo de UPLOAD utilizando WEBUTIL. (mas acho que não é o caso).
https://sites.google.com/site/craigsora ... into-forms
Então, parece que esse programa usa a WEBUTIL. (que é a nova D2KWUTIL).
Eu acho que o jeito é olhar o que tem dentro desse botão, ver mesmo se usam a WEBUTIL. (sempre achei que ela não era instalada no EBS). Depois me passa o nome desse programa, fiquei curioso. Vou abrir ele aqui!
Se for o caso, aqui tem um exemplo de UPLOAD utilizando WEBUTIL. (mas acho que não é o caso).
https://sites.google.com/site/craigsora ... into-forms
-
- Rank: Programador Pleno
- Mensagens: 38
- Registrado em: Qua, 30 Jan 2013 6:22 pm
Então amigo, pois é no EBS R12 é através de telas java mesmo, mas no EBS R11 não tem essa funcionalidade. A funcionalidade é do jeito que te mostrei no anexo. Eu tinha lido algo ar respeito desse Web Ultil mesmo, porém n consegui entender muito bem o que é e como instalar.... você conseguiria me dar uma explicação mais detalhada sobre isso?
Obrigado
Obrigado
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 46 visitantes