Bom dia, estou precisando criar odem de produção de conserto via api, com o exemplo do programa abaixo, até consegui criar a OP, porém estou com 2 questões. 1 - Como retornar o nr da op que foi criada ? 2- como é ordem de conserto, preciso adicionar (copiar) as operações do item do item, mais não estou sabendo como executar esse método que adiciona as opções {utp/ut-glob.i} {cdp/cdcfgman.i} {cpp/cpapi301.i} {cdp/cd0666.i} EMPTY TEMP-TABLE tt-ord-prod. EMPTY TEMP-TABLE tt-reapro. EMPTY TEMP-TABLE tt-erro. define variable h-cpapi301 as handle no-undo. FIND ord-prod WHERE ord-prod.nr-ord-produ = 24109 NO-LOCK. CREATE tt-ord-prod. BUFFER-COPY ord-prod TO tt-ord-prod. assign tt-ord-prod.ind-tipo-movto = 1 /* valor inicial = 0. 1 = Inclui, 2 = Modifica, 3 = Elimina, 4 = copia */ tt-ord-prod.gera-relacionamentos = yes /* valor inicial = yes - Yes, gera reservas e oparacoes. No, nao gera */ tt-ord-prod.cod-versao-integracao = 003. /* valor inicial = 0 */ ASSIGN tt-ord-prod.nr-ord-produ = 0 /* a api ira gerar automaticamente o nr. da OP */ tt-ord-prod.it-codigo = ord-prod.it-codigo /* */ tt-ord-prod.qt-ordem = 55 /* */ tt-ord-prod.UN = ord-prod.UN /* "?" - usa o padrÆo do item, param-cp,lin-prod o param-cs */ tt-ord-prod.dt-inicio = ord-prod.dt-inicio /* valor inicial - today */ tt-ord-prod.dt-termino = ord-prod.dt-termino /* valor inicial - today */ tt-ord-prod.cd-planejado = ord-prod.cd-planejado /* "?" - usa o padrÆo do item, param-cp,lin-prod o param-cs */ tt-ord-prod.nr-linha = ord-prod.nr-linha /* valor inicial = 0. = "?" - usa o padrÆo do item, param-cp,lin-prod o param-cs */ tt-ord-prod.tipo = ord-prod.tipo /* 9 = reaproveitamento */ tt-ord-prod.ct-codigo = ord-prod.ct-codigo tt-ord-prod.sc-codigo = ord-prod.sc-codigo tt-ord-prod.cod-estabel = ord-prod.cod-estabel /* "?" - usa o padrÆo do item, param-cp,lin-prod o param-cs */ tt-ord-prod.cod-depos = ord-prod.cod-depos /* deposito para o produto acabado */ tt-ord-prod.rep-prod = ord-prod.rep-prod /* 1 = reporte por ordem */ tt-ord-prod.ind-tipo-movto = 1 /* valor inicial = 0. 1 = Inclui, 2 = Modifica, 3 = Elimina, 4 = copia */ tt-ord-prod.gera-relacionamentos = NO /* valor inicial = yes - Yes, gera reservas e oparacoes. No, nao gera */ tt-ord-prod.cod-versao-integracao = 003 tt-ord-prod.faixa-numeracao = 1 tt-ord-prod.ESTADO = 1 tt-ord-prod.tipo = 5 /* conserto */ tt-ord-prod.gera-reservas = YES. /* valor inicial = 0 */ /* RUN cpp/cpapi301.p (INPUT-OUTPUT table tt-ord-prod, INPUT-OUTPUT table tt-reapro, Input-output table tt-erro, input YES). */ run cpp/cpapi301.p persistent set h-cpapi301 (input-output table tt-ord-prod, input-output table tt-reapro, input-output table tt-erro, input true). run ativaExecPersistente in h-cpapi301. run pi-processa-ordens in h-cpapi301 (input-output table tt-ord-prod, input-output table tt-reapro, input-output table tt-erro, input true). /* falta algum posicionamento aqui, não executa essa parte run pi-gera-operacoes in h-cpapi301 (input 's2p2949', input date (01, 01, 0001), input date (12, 31, 9999)). */ if return-value = "nok":U then do: for each tt-erro: DISP tt-erro WITH 1 COL WIDTH 300. end. end. run finalizaAPI in h-cpapi301. if valid-handle(h-cpapi301) then delete procedure h-cpapi301.
Bom dia, Como a tt-ord-prod entra e sai da API (INPUT-OUTPUT), os dados voltam, então é só consultar a tt-ord-prod.nr-ord-produ. Agora o outro ponto não entendi com "operação do item do item" ?