質問編集履歴

2

消す

2020/07/01 05:08

投稿

ad.sys.soleil
ad.sys.soleil

スコア28

test CHANGED
File without changes
test CHANGED
@@ -23,10 +23,6 @@
23
23
  ご存じの方居りましたら宜しくお願い致します。
24
24
 
25
25
 
26
-
27
- 成功画面下記。
28
-
29
- ![イメージ説明](a04cc4db3c6bb1906b7f05ab0dd80b71.png)
30
26
 
31
27
  エラー履歴下記。
32
28
 

1

コメントに従う!

2020/07/01 05:08

投稿

ad.sys.soleil
ad.sys.soleil

スコア28

test CHANGED
File without changes
test CHANGED
@@ -20,8 +20,118 @@
20
20
 
21
21
  ORA-06572: ファンクションFUNC_TESTに出力引数が指定されています
22
22
 
23
+ ご存じの方居りましたら宜しくお願い致します。
23
24
 
24
25
 
25
- 画面下記となります。ご存じの方居りましたら宜しくお願い致します。
26
26
 
27
+ 成功画面下記。
28
+
27
- ![![イメージ説明](9f489f46d1667f85787f76836132a5ab.png)](a1f2d8146301a1b6348e361c1576f69e.png)
29
+ ![イメージ説明](a04cc4db3c6bb1906b7f05ab0dd80b71.png)
30
+
31
+ エラー履歴下記。
32
+
33
+ SQL> SELECT FUNC_TEST('20200701','0000','9999',:PO_ERR_MSG) FROM DUAL;
34
+
35
+ SELECT FUNC_TEST('20200701','0000','9999',:PO_ERR_MSG) FROM DUAL
36
+
37
+ 行1でエラーが発生しました。:
38
+
39
+ ORA-06572: ファンクションFUNC_TESTに出力引数が指定されています
40
+
41
+ '--------------------------------------------------------------
42
+
43
+ Creat Function下記
44
+
45
+ ```PL/SQL
46
+
47
+ CREATE OR REPLACE FUNCTION ATOMBC.FUNC_TEST
48
+
49
+ (
50
+
51
+ --パラメタ
52
+
53
+ PI_EXECYMD IN VARCHAR2, --実行年月日(YYYYMMDD):任意
54
+
55
+ PI_TERMSCD_FROM IN VARCHAR2, --FROM条件コード:任意
56
+
57
+ PI_TERMSCD_TO IN VARCHAR2, --TO条件コード:任意
58
+
59
+ PO_ERR_MSG OUT VARCHAR2 --エラーメッセージ:異常終了時のORACLEエラー内容
60
+
61
+ )
62
+
63
+ --戻り値:正常=0/異常終了=-1
64
+
65
+ RETURN NUMBER
66
+
67
+ IS
68
+
69
+ --***************************************************************************
70
+
71
+ --** 変数定義
72
+
73
+ --***************************************************************************
74
+
75
+ W_EXECYMD VARCHAR2(8) := TO_CHAR(SYSDATE,'YYYYMMDD'); --初期値:サーバー日付なYYYYMMDD
76
+
77
+ W_TERMSCD_FROM VARCHAR2(5) := '00000'; --初期値:FROM条件「00000」
78
+
79
+ W_TERMSCD_TO VARCHAR2(5) := '99999'; --初期値:TO条件「99999」
80
+
81
+ BEGIN
82
+
83
+ --************************************************************
84
+
85
+ --パラメタを変数セット
86
+
87
+ IF PI_EXECYMD IS NOT NULL THEN
88
+
89
+ W_EXECYMD := PI_EXECYMD;
90
+
91
+ END IF;
92
+
93
+ IF PI_TERMSCD_FROM IS NOT NULL THEN
94
+
95
+ W_TERMSCD_FROM := PI_TERMSCD_FROM;
96
+
97
+ END IF;
98
+
99
+ IF PI_TERMSCD_TO IS NOT NULL THEN
100
+
101
+ W_TERMSCD_TO := PI_TERMSCD_TO;
102
+
103
+ END IF;
104
+
105
+
106
+
107
+ --処理
108
+
109
+ PO_ERR_MSG := 'Nomal';
110
+
111
+
112
+
113
+ --正常戻り値:0
114
+
115
+ RETURN 0;
116
+
117
+
118
+
119
+ EXCEPTION
120
+
121
+ --予期せぬエラー
122
+
123
+ WHEN OTHERS THEN
124
+
125
+ DBMS_OUTPUT.PUT_LINE(SQLCODE || ':' || SQLERRM(SQLCODE));
126
+
127
+ PO_ERR_MSG := SQLCODE || ':' || SQLERRM(SQLCODE);
128
+
129
+ --異常終了戻り値:-1
130
+
131
+ RETURN -1;
132
+
133
+ END;
134
+
135
+ /
136
+
137
+ ```