1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Criar OP cpapi301

Discussão em 'EMS , HCM e Totvs 11' iniciado por Marcos Gomes, Novembro 14, 2024.

  1. Marcos Gomes

    Marcos Gomes Membro Participativo

    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.
  2. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    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" ?

Compartilhe esta Página