用PL/SQL写个简单的HTML报表,却莫名其妙出现下面两条错误信息:

**Starts**30-03-2007 23:42:38
FDPSTP 中出现 ORACLE 错误 20100

原因:由于 ORA-20100: 为 FND_FILE 创建文件 o0026495.tmp 失败。
在请求日志的错误原因中您会找到更详细的信息。
ORA-06512: at “APPS.FND_FILE”, line 475
ORA-06512: at “APPS.HX_INV_ON_HAND_BACK_PKG”, line 68
ORA-0

**Starts**30-03-2007 23:51:42
FND_FILE 无法写入文件 o0026495.tmp。
在写入操作期间出现操作系统错误。
请与您的系统管理员联系。 (TEMP_DIR=/u01/code/prodcomn/temp)

反复测试均出现同样问题,一时之间真不清楚究竟哪里出问题了。

查Metalink,基本上都是说目录权限造成的。

This issue is caused by some concurrent manager setup and privilege related to $APPLPTMP environment variable and UTL_FILE_DIR database parameter.

我在同一时间内运行其他PL/SQL报表是正常的,因而排除了这方面的原因。

仔细检查输出的HTML发现,在一个LOOP中输出时中断。随手将循环的最后一个FND_FILE.PUT改成FND_FILE.PUT_LINE,故障竟神奇般排除了。难道说,这个tmp文件还有单行长度的限制?