壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3381|回复: 7

报表开发求助

[复制链接]
发表于 2007/5/19 15:55:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
大家好,我用pl/sql写了一个报表程序,具体程序下面,挂上系统后运行的时候出现如下错误:
大家帮我看下是什么地方的问题呀,是不是源程序写的有什么地方不对呀?谢谢!


CREATE OR REPLACE PROCEDURE ares001 (errbuf   out  varchar2,
                         retcode  out   number,
                                     p_date   IN   DATE)
IS
CURSOR cy IS
select distinct a.segment1 item_number,
                b.item_description description,
                b.mfg_part_num manufacturer_number,
                b.manufacturer_name manufacturer
  from MTL_SYSTEM_ITEMS_FVL a,
       MTL_MFG_PART_NUMBERS_ALL_V b
where a.inventory_item_id=b.inventory_item_id
   and a.organization_id=b.organization_id
   and a.organization_id=82;
   
x_page_width    NUMBER :=1024;
begin
fnd_file.put_line(2,'<html>');
fnd_file.put_line(2,'<head>');
fnd_file.put_line(2,'<title>Manufacturer report</title>');
fnd_file.put_line(2,'</head>');
fnd_file.put_line(2,'<body>');
fnd_file.put_line(2,'<table border="0" width="'||x_page_width||'" bordercolorlight="#FFFFFF"
cellspacing="0" cellpadding="0">');
fnd_file.put_line(2,' <tr>');
fnd_file.put_line(2,'<td width="100%">');
fnd_file.put_line(2,'<p align="center"><b><font size="3">Manufacturer report</font></b></td>');
fnd_file.put_line(2,'</tr>');
fnd_file.put_line(2,'</table>');
fnd_file.put_line(2,'<table border="1" width="'||x_page_width||'" bordercolorlight="#FFFFFF"
cellspacing="0" cellpadding="0">');
fnd_file.put_line(2,'<tr>');
fnd_file.put_line(2,'<td width="20%" bgColor="#c0c0c0" bordercolorlight="#FFFFFF"
align="center"><font size="2"><b>item_number</b></font></td>');
fnd_file.put_line(2,'<td width="50%" bgColor="#c0c0c0" bordercolorlight="#FFFFFF"  
align="center"><font size="2"><b>description</b></font></td>');
fnd_file.put_line(2,'<td width="15%" bgColor="#c0c0c0" bordercolorlight="#FFFFFF"  
align="center"><font size="2"><b>manufacturer_number</b></font></td>');
fnd_file.put_line(2,'<td width="15%" bgColor="#c0c0c0" bordercolorlight="#FFFFFF"  
align="center"><font size="2"><b>manufacturer</b></font></td>');
fnd_file.put_line(2,'</tr>');

for l_cy in cy loop
fnd_file.put_line(2,'<tr>');
fnd_file.put_line(2,'<td width="20%"  bordercolorlight="#FFFFFF" ><font
size="2">'||l_cy.item_number||'</td>');
fnd_file.put_line(2,'<td width="50%"  bordercolorlight="#FFFFFF"><font
size="2">'||l_cy.description||'</td>');
fnd_file.put_line(2,'<td width="15%"  bordercolorlight="#FFFFFF"><font
size="2">'||l_cy.manufacturer_number||'</td>');
fnd_file.put_line(2,'<td width="15%"  bordercolorlight="#FFFFFF"><font
size="2">'||l_cy.manufacturer||'</td>');
fnd_file.put_line(2,'</tr>');
end loop;
fnd_file.put_line(2,'</table>');
fnd_file.put_line(2,'</body>');
fnd_file.put_line(2,'</html>');
end;
Snap1.jpg
发表于 2007/5/19 21:52:26 | 显示全部楼层
查 ORA-06550 報錯如下:A PL/SQL compilation error has occurred. The numbers given for line and column are the location in the PL/SQL block where the error occurred.
根據提示信息 說你ares001未申明?但是應該不會有這個問題啊,要不你換下名字試下?
還有就是 我寫的時候都是定義(retcode  out   varchar2, p_date   IN   varchar2),在DEVELOPER咝谐晒
发表于 2007/5/19 22:44:00 | 显示全部楼层
建议
1、 跟2楼说的参数的定义没关系 ,因为lz 定义的参数 p_date 在 程序当中没有用到。
2、错误信息是你写的存储过程 ares001 没有定义,首先检查一下你的程序编译是否成功,其次检查一下 你挂报表的时候,可执行定义的是否正确。
3、输出你完全可以写一个过程来调用,没有必要如此麻烦的去写
    下面我给你贴出一个 输出的过程,写到公共包里
      PROCEDURE output(i_chr_message IN VARCHAR2) AS
  BEGIN
    fnd_file.put_line(fnd_file.output, i_chr_message);
  END;
在其他地方都是可以引用的
发表于 2007/5/20 14:03:14 | 显示全部楼层
PROCEDURE output 举例

比如你要输出 html

output
('
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>报表开发求助 - □-Oracle ERP -  erp100论坛 ERP论坛,ERP交流,ERP讨论</title>
<meta name="keywords" content=",ERP论坛,ERP新手入门,Oracle ERP,Oracle Database,SAP,浪潮,用友,金蝶Compiere,金算盘,恩信科技开源,CRM,软件交流,ERP交流,ERP讨论,ERP平台,ERP文档,ERP招聘,ERP求职,ERP项目">
<meta name="description" content="Erp100论坛 ,ERP论坛,ERP新手入门,Oracle ERP,Oracle Database,SAP,浪潮,用友,金蝶Compiere,金算盘,恩信科技开源,CRM,软件交流,ERP交流,ERP讨论,ERP平台,ERP文档,ERP招聘,ERP求职,ERP项目">
<meta name="generator" content="Erp100论坛">
<meta name="MSSmartTagsPreventParsing" content="TRUE">
<meta http-equiv="MSThemeCompatible" content="Yes">
<link rel="archives" title="Erp100论坛" href="http://bbs.erp100.com/archiver/">
<link rel="stylesheet" type="text/css" id="css" href="forumdata/cache/style_6.css">
<script src="include/javascript/common.js" type="text/javascript"></script>
<script src="include/javascript/menu.js" type="text/javascript"></script>
<script src="include/javascript/ajax.js" type="text/javascript"></script>
<script type="text/javascript">var IMGDIR = 'images/default';var SMDIR = 'images/smilies';</script>
</head>
</html>

');
发表于 2007/5/20 14:05:02 | 显示全部楼层
你应该先创建包,在包里边创建procudure
package
PROCEDURE output(i_chr_message IN VARCHAR2) AS
  BEGIN
    fnd_file.put_line(fnd_file.output, i_chr_message);
  END;

procudure

funtion
 楼主| 发表于 2007/5/20 14:10:29 | 显示全部楼层
谢谢各位的解答,谢谢!
 楼主| 发表于 2007/5/20 16:07:38 | 显示全部楼层
上面的问题解决了,但是又出现了一个问题,我们的数据库使用的是繁体字符,
现在用上面的程序和格式从里面反馈出来的信息算是汉字的全都变成乱吗了,
谁知道是怎么回事啊.谢谢指点!
发表于 2007/5/21 09:06:00 | 显示全部楼层
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
这一行 修改一下charset=gbk
让charset=‘你的字符集’
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 00:42 , Processed in 0.019774 second(s), 15 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表