Olá pessoal, estou fazendo uma upc que passa 5 parâmetros para outro .p. Declarei no programa que chama e no .p os parâmetros. Porém ao tentar executar dá a mensagem de erro Numero de parâmetros incompatível passado para a rotina cdp/localiza.p. (3234) Vejam a declaração de ambos, e chamada. def input param p-ind-event as char no-undo. def input param p-ind-object as char no-undo. def input param p-wgh-object as handle no-undo. def input param p-wgh-frame as widget-handle no-undo. def input param p-cod-table as char no-undo. def input param p-row-table as rowid no-undo. def output param posicao as rowid no-undo. on choose of h-localiza persistent run cdp/localiza.p (INPUT p-ind-event, input p-ind-object, input p-wgh-object, input p-wgh-frame, input p-cod-table, input p-row-table, output posicao). *** e no .p de destino def input param p-ind-event as char no-undo. def input param p-ind-object as char no-undo. def input param p-wgh-object as handle no-undo. def input param p-wgh-frame as widget-handle no-undo. def input param p-cod-table as char no-undo. def input param p-row-table as rowid no-undo. def output param posicao as rowid no-undo. Alguem poderia ajudar?
Em UPC vai ter que passar apenas os parâmetros usados por padrão, portanto retire o "def output param posicao as rowid no-undo.".
Bom dia, Favor retirar a declaração do parametro de saida (posicao), execute novamente a chamada da UPC. Obs. Não esqueça de compilar se for necessário senão vai pegar o programa antigo. Abraço