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

[RESOLVIDO] Gerar Requisição via API - Não dá erro, mas também não gera

Discussão em 'EMS , HCM e Totvs 11' iniciado por rhemati, Outubro 30, 2014.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. rhemati

    rhemati Membro Participativo

    Pessoal, bom dia.

    Estou com um caso aqui com a api de gerar requisição no EMS206, não dá erro, mas também não gera.
    02 Assuntos/Dúvidas:
    Como analisar o que está acontecendo?
    Eu estou utilizando a rotina CP0309 para verificar e gerar requisições, tem outra forma para visualizar.
    Por que talvez está gerando pela api e eu não estou conseguindo enxergar ainda.
    Segue o código:

    Código:
    def var l-deleta-erros  as log no-undo.
    def var h-handle        as handle no-undo.
        
    /* {include\i-cpapi012.i} */
    
    {cpp/cpapi012.i}
    {cpp/cpapi012.i1}
    
    {cdp/cdcfgmat.i}
    {cdp/cd0666.i}
    /* {cpp/cpapi301.i} */
    
    
    Def Temp-table tt-erro-req
        Field i-sequen As Integer
        Field cd-erro  As Integer
        Field mensagem As character.
    
    find first ord-prod
        where ord-prod.nr-ord-prod  =   565026
        no-lock no-error.
    if available ord-prod then do:
    
        find first estrutura
            where estrutura.it-codigo   =   ord-prod.it-codigo
            and estrutura.tipo-sobra    =   4
            no-lock no-error.
    
        create  tt-requis.
        assign  tt-requis.tipo-trans            =   1 /* 1 - Requisição - 2 - Devoluçao */
                tt-requis.nr-ord-produ          =   ord-prod.nr-ord-prod
                tt-requis.quantidade            =   ord-prod.qt-ordem
                tt-requis.data                  =   today
                tt-requis.item-ini              =   estrutura.it-codigo
                tt-requis.item-fim              =   estrutura.it-codigo
                tt-requis.deposito-ini          =   ''
                tt-requis.deposito-fim          =   'ZZZ'
                tt-requis.op-codigo-ini         =   0
                tt-requis.op-codigo-fim         =   0
    
                /*
                tt-requis.cod-localiz-ini       =   as character
                tt-requis.cod-localiz-fim       =   as character
                */
    
                tt-requis.procura-saldos        =   no
                tt-requis.carrega-reservas      =   no
                tt-requis.prog-seg              =   'CP0309'
                /*
                tt-requis.time-out              =   as integer
                tt-requis.tentativas            =   as integer
                */
                tt-requis.cod-versao-integracao =   001
               
                /*
                tt-requis.nro-docto             =   as character
                tt-requis.serie-docto           =   as character
                */
                .
    
    
        run cpp/cpapi012.p persistent set h-handle (input        table tt-requis,
                                                    input-output table tt-erro-req,
                                                    input        l-deleta-erros).
    
        run pi-processa-requis in h-handle (input table tt-requis,
                                        input-output table tt-erro-req,
                                        input yes).
    
        /* RUN pi-retorna-tt-reservas IN h-handle (output table tt-reservas). */
    
    
        /*
        run cpp/cpapi012.p (    input table         tt-requis,
                                input-output table  tt-erro-req,
                                input               l-deleta-erros ).
        */
    
    
    end.
    
    for each tt-erro-req.
        disp tt-erro-req.mensagem format "x(200)"
             with frame report-1 down column 1 width 250 no-attr-space no-box use-text stream-io.
    
        down with frame report-1.
    
    end.
    
    output close.
    
    
  2. marco.luques

    marco.luques Membro Ativo

    Cristiano, você experimentou definir
    "assign l-deleta-erros = no" no inicio do programa api?
  3. jaozi_nho

    jaozi_nho Membro Participativo

    Cristiano, uma maneira mais facil é usar a ceapi001 para fazer a requisição como se fosse qualquer movimento de estoque normal e atualizar as reservas na mao, assim aparecendo no CP0309 .

    Código:
    /*Atualiza CP0309*/
                    ASSIGN reservas.quant-atend  = reservas.quant-atend - b-tt-movto.quantidade
                        reservas.quant-requis = reservas.quant-requis - b-tt-movto.quantidade
                        .
    Abraço .
  4. rhemati

    rhemati Membro Participativo

    Marco, bom dia. Tudo bem.

    Eu creio que a declaração de variáveis lógicas, por padrão já inicializa no, mas mesmo assim eu coloquei conforme o que vc disse, mas ficou do mesmo jeito.

    João, blz. Não entendi o que vc pediu para fazer.
  5. jaozi_nho

    jaozi_nho Membro Participativo

    Então, se o objetivo é fazer um REQ para dentro de uma Ordem de produção, vc pode fazer pela CEAPI001 (Api de movimento de estoque), desde que voce ja saiba o lote/deposito/quantidade e etc... não precisa utilizar a cpp/cpapi012.p, e os dados da reserva podem ser acertados com o assign anterior .

    Abraço .
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página