none
Tarefa em Lote RRS feed

  • Pergunta

  • Bom dia pessoal.

    Preciso colocar uma classe para tarefa em lote em nosso DAX 2009, porém, na lista de classes disponíveis, esta classe não aparece.
    Como faço para que seja listada tal classe nesta lista ?

    Obrigado,

    terça-feira, 1 de abril de 2014 14:09

Respostas

  • Faz o seguinte... Mude o código dos métodos classDeclaration, canGoBatchJournal, pack e unpack para ficar assim e vê se dá certo:

    class [nome_da_sua_classe] extends RunBaseBatch

    {
        #define.CurrentVersion(1)
        #localmacro.CurrentList
        #endmacro
        #define.read('r')

    [restante dos códigos que já tem]

    }

    protected boolean canGoBatchJournal()
    {
        return true;
    }

    public container pack()
    {
        return [#CurrentVersion];
    }

    public boolean unpack(container packedClass)
    {
        Version version = RunBase::getVersion(packedClass);
        ;

        switch (version)
        {
            case #CurrentVersion:
                [version] = packedClass;
                break;
            default:
                return false;
        }

        return true;
    }

    Eu também tive esse problema, de criar uma classe e ela não aparecer na lista de trabalhos em lote, e só deu certo quando alterei os códigos para estes que escrevi.

    Abraço!


    • Sugerido como Resposta Luiz Bezerra quarta-feira, 2 de abril de 2014 12:54
    • Editado Luiz Bezerra quarta-feira, 2 de abril de 2014 12:55
    • Marcado como Resposta matfurrier quinta-feira, 3 de abril de 2014 11:51
    quarta-feira, 2 de abril de 2014 12:53

Todas as Respostas

  • Bom dia!

    Se não me engano, a classe só vai aparecer na lista caso tenha os métodos canGoBatchJournal, pack e unpack. Sua classe tem esses métodos?

    Abraço!

    quarta-feira, 2 de abril de 2014 12:29
  • Bom dia Luiz.

    A classe possui estes métodos.
    Eu acabei criando um job que fez a inserção desta classe, mas, não obtive sucesso em executá-la, pois ela depende de alguns parâmetros e eu não consegui inseri-los manualmente.
    Nosso processo de cupom fiscal, utiliza esta classe para importar arquivos txt em realizar os faturamentos de cupom.
    Eu queria criar um lote para que fosse executado durante a madrugada e não comprometesse o desempenho conforme vem acontecendo hoje durante o expediente.

    Abraços.

    quarta-feira, 2 de abril de 2014 12:40
  • Faz o seguinte... Mude o código dos métodos classDeclaration, canGoBatchJournal, pack e unpack para ficar assim e vê se dá certo:

    class [nome_da_sua_classe] extends RunBaseBatch

    {
        #define.CurrentVersion(1)
        #localmacro.CurrentList
        #endmacro
        #define.read('r')

    [restante dos códigos que já tem]

    }

    protected boolean canGoBatchJournal()
    {
        return true;
    }

    public container pack()
    {
        return [#CurrentVersion];
    }

    public boolean unpack(container packedClass)
    {
        Version version = RunBase::getVersion(packedClass);
        ;

        switch (version)
        {
            case #CurrentVersion:
                [version] = packedClass;
                break;
            default:
                return false;
        }

        return true;
    }

    Eu também tive esse problema, de criar uma classe e ela não aparecer na lista de trabalhos em lote, e só deu certo quando alterei os códigos para estes que escrevi.

    Abraço!


    • Sugerido como Resposta Luiz Bezerra quarta-feira, 2 de abril de 2014 12:54
    • Editado Luiz Bezerra quarta-feira, 2 de abril de 2014 12:55
    • Marcado como Resposta matfurrier quinta-feira, 3 de abril de 2014 11:51
    quarta-feira, 2 de abril de 2014 12:53