1

名前付きパラメーターに基づいてストアド プロシージャを呼び出す必要があります。

RMFF_RETRO_ACTIVE_CALCS_SP(p_region_cd,p_plant_cd,
p_supplier_nbr,p_matrl_nbr,'','','N',p_user_id,p_err_cd,p_err_msg);

これでは、名前付きパラメーターを使用する必要があります。

しかし、私p_region_cdの名前は呼び出されたプロシージャの名前と同じです

p_region_cd=>p_region_cd.

これを行う方法?5,6 位にのみ名前が必要です

Plsは私に電話する方法を提案します

4

1 に答える 1

0

使用する

p_region_cd=>p_region_cd

問題になるべきではありません。たとえば、次のブロックは問題なく実行されます。

declare 
  po_next_stmt_date number(8);
  po_next_due_date  number(8);
  po_rsp_code       varchar2(3);
  po_rsp_dscr       varchar2(256);

begin
  oc_eoc.SP_EOC_GET_NEXT_STMT_DATE(pi_last_eoc_date => 20130210,
                                   pi_new_cycle_code => '02',
                                   po_next_stmt_date => po_next_stmt_date,
                                   po_next_due_date => po_next_due_date,
                                   po_rsp_code => po_rsp_code,
                                   po_rsp_dscr => po_rsp_dscr);
end;

注意しなければならないことは、名前付きパラメーターで開始する場合は、それを続行する必要があるということです。以下もOKです。

oc_eoc.SP_EOC_GET_NEXT_STMT_DATE(20130210,
                                 '02',
                                 po_next_stmt_date => po_next_stmt_date,
                                 po_next_due_date => po_next_due_date,
                                 po_rsp_code => po_rsp_code,
                                 po_rsp_dscr => po_rsp_dscr); 

しかし、これはそうではありません:

oc_eoc.SP_EOC_GET_NEXT_STMT_DATE(pi_last_eoc_date => 20130210,
                                 '02',
                                 po_next_stmt_date => po_next_stmt_date,
                                 po_next_due_date => po_next_due_date,
                                 po_rsp_code => po_rsp_code,
                                 po_rsp_dscr => po_rsp_dscr);  
于 2013-02-10T14:40:44.920 に答える