Duvida nome do arquivo de relatório em branco

Discussão em 'Progress 4GL' iniciado por pizzaia, Junho 3, 2015.

  1. pizzaia

    pizzaia Membro Participativo

    olá.
    notei que ao rodar programas de relatório pedindo a opção de terminal o arquivo gerado está ficando sem o nome. é gerado com o nome ".tmp"

    dentro da procedure pi-executar identifiquei o seguinte codigo:
    Código:
        /*Alterado 14/02/2005 - tech1007 - Alterado o teste para verificar se a opção de RTF está selecionada*/
        if tt-param.destino = 1 then
            assign tt-param.arquivo = "".
        else if  tt-param.destino = 2 then
            assign tt-param.arquivo = input frame f-pg-imp c-arquivo.
        else if  tt-param.destino = 3 then
            assign tt-param.arquivo = session:temp-directory + c-programa-mg97 + ".tmp":U.
        else if  tt-param.destino = 4 then
            assign tt-param.arquivo = session:temp-directory + c-programa-mg97.
    
    o problema está ocorrendo porque a variável c-programa-mg97 está vazia.

    achei em apenas um programa antigo que esta variável foi forçada dentro da seção "main block"
    Código:
    {utp/ut9000.i "cipd001" "2.06.00.000"}
    ASSIGN c-programa-mg97 = "cipd001".
    
    o que estaria faltando fazer para que esta variável venha populada? e não tenha que forçar como no exemplo acima.

    obrigado.
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    no meu template de relatorio também está assim, mas vc esté preenchendo as includes .....
    {include/i-prgvrs.i XX9999 9.99.99.999}
    e
    {utp/ut9000.i "XX9999" "9.99.99.999"}
    ????
  3. pizzaia

    pizzaia Membro Participativo

    sim, estou. só usado preprocessor para não ficar repetindo o nome do programa.

    DEFINITIONS
    =================
    &scoped-define program_name cift001
    &scoped-define program_version 2.06.00.001


    {utils/SMART.i}

    def var c-versao-prg as char initial " 1.00.00.004":U no-undo.

    {include/i-prgvrs.i {&program_name} {&program_name}}

    &IF "{&EMSFND_VERSION}" >= "1.00" &THEN
    {include/i-license-manager.i CIFT001 MFT}
    &ENDIF

    MAIN BLOCK
    ===============
    ASSIGN CURRENT-WINDOW = {&WINDOW-NAME}
    THIS-PROCEDURE:CURRENT-WINDOW = {&WINDOW-NAME}.

    {utp/ut9000.i "{&program_name}" "{&program_version}"}
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    ultima pergunta besta, cadastrou o programa no cadastro de programas e procedimentos no menu do datasul ?
  5. pizzaia

    pizzaia Membro Participativo

    aproveitei a sua dica e revisei todos os programas. Problema resolvido.

    haviam alguns programas que estavam funcionando e justamente estavam com a include do ut9000.i correta.
    alterei os demais programas e normalizou.

    muito obrigado pela ajuda.

    até +

Compartilhe esta Página