[RESOLVIDO] Ajuda Urgente - SFAPI009

Discussão em 'EMS , HCM e Totvs 11' iniciado por Rogerio, Novembro 18, 2011.

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

    Rogerio Moderator Moderador Equipe de Suporte

    Galera fiz um especifico para Reporte de Produção utilizando a API SFAPI009....

    Só que está me retornando erro dizendo que alguns itens não tem saldo em estoque, mas verifiquei esses itens e tem saldo sim... fiz o reporte pelo produto padrão SF0308 e lá não dá divergencia nenhuma.. alguem poderia verificar se estou colocando alguma coisa errada ou se falta mais algum parametro que eu precise colocar.

    Código:
    DEF INPUT PARAM p-etiq AS CHAR.
    
        FIND FIRST es-etiquetas WHERE es-etiquetas.nr-etiqueta = p-etiq NO-ERROR.
    
        FOR EACH tt-import-rep-oper:
            DELETE tt-import-rep-oper.
        END.
        FOR EACH tt-rep-prod:
            DELETE tt-rep-prod.
        END.
        FOR EACH tt-erro:
            DELETE tt-erro.
        END.
            
        FIND FIRST param-cp.
    
        FIND FIRST split-operac WHERE split-operac.nr-ord-prod = es-etiquetas.nr-ord-prod NO-LOCK NO-ERROR.
        IF AVAIL split-operac THEN
            ASSIGN d-ini-setup = split-operac.dat-inic-setup
                   i-ini-setup = split-operac.qtd-segs-inic-setup
                   d-fim-setup = split-operac.dat-fim-setup
                   i-fim-setup = split-operac.qtd-segs-fim-setup. 
        ELSE
            ASSIGN d-ini-setup = TODAY
                   i-ini-setup = TIME - 3600
                   d-fim-setup = TODAY
                   i-fim-setup = TIME. 
    
        FIND LAST rep-oper-ctrab USE-INDEX ctrab-i
                                 where rep-oper-ctrab.cod-ctrab  = split-operac.cod-ctrab  NO-LOCK NO-ERROR.
        IF AVAIL rep-oper-ctrab THEN
        DO:
    
            ASSIGN dt-ult-rep  = rep-oper-ctrab.dat-fim-reporte
                   hr-ult-rep  = rep-oper-ctrab.qtd-segs-fim-reporte + 1.
        END.
        ELSE
        DO:
            ASSIGN dt-ult-rep  = today
                   hr-ult-rep  = time - 1.
        END.
            
        ASSIGN d-data = TODAY                                       
               i-hora = TIME
               i-nr-ord-prod = es-etiquetas.nr-ord-prod.
        CREATE tt-import-rep-oper.
        ASSIGN tt-import-rep-oper.tipo-rep         = 1
               tt-import-rep-oper.nr-ord-produ     = split-operac.nr-ord-produ
               tt-import-rep-oper.num-operac-sfc   = split-operac.num-operac-sfc
               tt-import-rep-oper.num-split-operac = split-operac.num-split-operac
               tt-import-rep-oper.cod-roteiro      = split-operac.cod-roteiro
               tt-import-rep-oper.op-codigo        = split-operac.op-codigo
               tt-import-rep-oper.cod-ctrab        = split-operac.cod-ctrab
               tt-import-rep-oper.it-codigo        = split-operac.it-codigo
    /*            tt-import-rep-oper.cod-refer        = ord-prod.cod-refer */
               tt-import-rep-oper.qtd-produzida    = es-etiquetas.qtde
               tt-import-rep-oper.cod-motiv-refugo = ""
               tt-import-rep-oper.qtd-refugada     = 0
               tt-import-rep-oper.qtd-retrabalho   = 0
               tt-import-rep-oper.conta-refugo     = ""
               /* tt-import-rep-oper.dat-inic-setup   = d-ini-setup */
    /*            tt-import-rep-oper.hr-inic-setup    = i-ini-setup */
    /*            tt-import-rep-oper.dat-fim-setup    = d-fim-setup */
    /*            tt-import-rep-oper.hr-fim-setup     = i-fim-setup */
               tt-import-rep-oper.dat-inic-rep     = dt-ult-rep
               tt-import-rep-oper.hr-inic-rep      = hr-ult-rep
               tt-import-rep-oper.dat-fim-rep      = d-data
               tt-import-rep-oper.hr-fim-rep       = i-hora
               tt-import-rep-oper.cod-equipe       = es-etiquetas.equipe
               tt-import-rep-oper.cod-operador     = c-seg-usuario
               tt-import-rep-oper.cod-ferramenta   = split-operac.cod-ferr-prod
               tt-import-rep-oper.finaliza         = FALSE 
               tt-import-rep-oper.linha            = 1.
       
        run sfc/sfapi009.p (input  205,
                            input  table tt-import-rep-oper,
                            output table tt-erro).
      
        FOR EACH tt-erro.
            MESSAGE tt-erro.cd-erro SKIP tt-erro.mensagem
                VIEW-AS ALERT-BOX INFO BUTTONS OK.
        END.
    
        FIND FIRST tt-erro no-lock no-error.
        IF NOT AVAIL tt-erro THEN
        DO:
            ASSIGN es-etiquetas.user-leit = c-seg-usuario
                   es-etiquetas.data-leit = TODAY
                   es-etiquetas.hora-leit = TIME
                   es-etiquetas.cd-palet  = fi-palet:SCREEN-VALUE IN FRAME {&FRAME-NAME}.
            FIND FIRST es-palet WHERE es-palet.cd-palet = fi-palet:SCREEN-VALUE IN FRAME {&FRAME-NAME} NO-ERROR.
            IF NOT AVAIL es-palet THEN
            DO:
                CREATE es-palet.
                ASSIGN es-palet.cd-palet    = fi-palet:SCREEN-VALUE IN FRAME {&FRAME-NAME}
                       es-palet.nr-ord-prod = es-etiquetas.nr-ord-prod
                       es-palet.it-codigo   = split-operac.it-codigo
                       es-palet.qtde-cx     = 0
                       es-palet.dt-abert    = today.
            END.
            ASSIGN es-palet.qtde-cx = es-palet.qtde-cx + 1
                   es-palet.dt-fec  = today
                   fi-caixas:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(es-palet.qtde-cx).
        END.
    
    
    END PROCEDURE.
  2. valdir_fantin

    valdir_fantin Membro Participativo

    Pessoal estou com esse problema , depois da mudança de versão 2.04 para 2.06b:

    ---------------------------
    Erro
    ---------------------------
    O parametro identificador de temp-table tt-import-rep-oper nao confere com a temp-table destino tt-import-rep-oper. (5363)
    ---------------------------
    OK
    ---------------------------

    ja coloquei a instrução no inicio do programa:

    {cdp/cdcfgman.i}

    Alguem tem a definição da tabela (tt-import-rep-oper) arquivo sfapi009.i

    Grato.
  3. jdchaves

    jdchaves Membro Participativo

    Código:
    define temp-table tt-import-rep-oper no-undo
        field   tipo-rep            as  integer 
        field   nr-ord-produ        as  integer     
        field   num-operac-sfc      as  integer 
        field   num-split-operac    as  integer
        field   cod-roteiro         as  character
        field   op-codigo           as  integer
        field   cod-ctrab           as  character
        field   it-codigo           as  character
        field   cod-refer           as  character
        field   lote-serie          as  character
        field   dat-valid-lote      as  date
        FIELD   per-ppm             LIKE ITEM.per-ppm /*** fator concentracao ppm   ***/
        field   qtd-produzida       as  DECIMAL     /*** quantidade aprovada    ***/
        FIELD   cod-motiv-refugo    AS  CHARACTER
        field   qtd-refugada        as  decimal
        field   qtd-refugada-un-ref  as  decimal
        FIELD   qtd-retrabalho      AS  DECIMAL
        FIELD   conta-refugo        like rep-prod.conta-refugo
        field   dat-inic-rep        as  date
        field   hr-inic-rep         as  decimal
        field   dat-fim-rep         as  date
        field   hr-fim-rep          as  decimal
        field   dat-inic-setup      as  date
        field   hr-inic-setup       as  decimal
        field   dat-fim-setup       as  date
        field   hr-fim-setup        as  decimal
        field   cod-equipe          as  character
        field   cod-operador        as  character   format  "99999-9"
        field   cod-ferramenta      as  character
        FIELD   num-contador-ini    AS  INTEGER
        FIELD   num-contador-fim    AS  INTEGER
        field   finaliza            as  logical
        field   linha               as  integer
        field   erro                as  logical
        index   split   is primary  tipo-rep it-codigo 
        index   num-linha linha.
    
  4. valdir_fantin

    valdir_fantin Membro Participativo

    Chaves, muito obrigado pela ajuda, funcionou perfeitamente sem erro

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

Compartilhe esta Página