ITPub博客

首页 > Linux操作系统 > Linux操作系统 > FORM:上传/下载实现

FORM:上传/下载实现

原创 Linux操作系统 作者:KawaiPinky 时间:2011-10-31 10:28:34 0 删除 编辑
上传的文件存储table:FND_LOBS
 
---------------------------------------包头
PACKAGE CONTROL IS
  PROCEDURE event(i_event VARCHAR2);
  PROCEDURE upload;
END;
 
--------------------------------------------包体
PACKAGE BODY CONTROL IS
--上传
  PROCEDURE upload IS
   l_access_id   number;
   l_server_url  varchar2(100);
   l_parameters  varchar2(100);
   l_file_id    varchar2(100);
   l_gfm_id NUMBER := NULL;
   button_choice  NUMBER;
   l_file_name    VARCHAR2(300);
   BEGIN
      l_access_id := fnd_gfm.authorize(null);
                 
      fnd_profile.get('APPS_WEB_AGENT', l_server_url);
             
                     
      l_parameters :='access_id='||l_access_id||'&l_server_url='||l_server_url;
              
                     
      fnd_function.execute(FUNCTION_NAME   =>'FND_FNDFLUPL',
                 OPEN_FLAG   => 'Y',
                 SESSION_FLAG => 'Y',
                 OTHER_PARAMS =>l_parameters);
  
      FND_MESSAGE.set_name('FND','ATCHMT-FILE-UPLOAD-COMPLETE');   
 
--------------提示是否成功加载 
      button_choice := FND_MESSAGE.question(
                  button1=> 'YES',
                  button2=> null,
                  button3=> 'NO',
                  default_btn => 1,
                  cancel_btn =>3,
                  icon=> 'question');
             
      IF ( button_choice = 3 ) THEN
              null;
      ELSIF ( button_choice = 1 ) THEN
       
          l_gfm_id := fnd_gfm.get_file_id(l_access_id);
          IF l_gfm_id IS NOT NULL THEN
         select decode(instr(file_name,'/'),0,file_name,
                substr(file_name,instr(file_name,'/')+1))
                into   l_file_name
                from   fnd_lobs
                where  file_id =  l_gfm_id;
       END IF;
             
             
              :RZQUATPH.TEMPLATE_NAME := l_file_name;
              :RZQUATPH.STAEST_TPL_HEADER_ID := fnd_gfm.get_file_id(l_access_id);
              :RZQUATPH.EFFECTIVE_START_DATE := SYSDATE;
      END IF;
   END upload;
  
  
-----下载
   PROCEDURE download IS
   l_access_id   number;
   l_file_id    varchar2(100);
   l_url      varchar2(2000);
   l_gfm_id     integer;
   l_gfm_agent     varchar2(100);
   BEGIN
     if :RZQUATPH.STAEST_TPL_HEADER_ID is not null then
    go_block('RZQUATPH');
      l_gfm_agent := fnd_web_config.gfm_agent;
     l_gfm_id := Name_In('RZQUATPH.STAEST_TPL_HEADER_ID');--传入附件的ID
 
    l_url := fnd_gfm.construct_download_URL(l_gfm_agent,l_gfm_id);
    fnd_utilities.open_url (l_url);
    l_url := null;
     end if;
   END download;
   PROCEDURE event(i_event VARCHAR2) IS
   BEGIN
     IF i_event = 'WHEN-BUTTON-PRESSED' THEN
        IF :SYSTEM.TRIGGER_ITEM = 'CONTROL.UPLOAD' THEN
           upload;
        END IF;
       
        IF :SYSTEM.TRIGGER_ITEM = 'CONTROL.DOWNLOAD' THEN
            NULL;
            download;
        END IF;
       
        IF :SYSTEM.TRIGGER_ITEM = 'CONTROL.QUERY' THEN
            NULL;
            go_block('RZQUATPH');
            execute_query;
        END IF;
     END IF;
    
   END event;
END;
 
 
 
调用的FND_WEB_CONFIG 和 fnd_gfm 两个 包文件:
 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24899662/viewspace-709936/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: SET_BLOCK_PROPERTY
请登录后发表评论 登录
全部评论

注册时间:2010-11-10

  • 博文量
    32
  • 访问量
    53027