Erro de importação data

Discussão em 'Progress 4GL' iniciado por kikofr, Julho 13, 2009.

  1. kikofr

    kikofr Membro Participativo

    Boa tarde,

    Como faço para formatar a data de uma importação como "dd/mm/yyyy" e não "mm/dd/yyyy".

    Pois estou trabalhando numa importação de arquivo e na hora de importar esta dando erro por causa do formato. Não posso alterar o arquivo a ser importado.

    Estou usando o código abaixo para realizar a importação.

    Código:
    INPUT FROM "c:\332278518_536796368_2009_5_61_1.txt".
      REPEAT:
         CREATE mgesp.fruki-mob-conta-celular.
         IMPORT mgesp.fruki-mob-conta-celular.
      END.
    INPUT CLOSE.
    
  2. lisandro.severino

    lisandro.severino Sem Pontuação

    Ola Kiko

    não sei se entendi bem, mas pelo que pude verificar é que no arquivo importado está vindo a data no formato mm/dd/aaaa;
    bom neste caso minha sugestão e manipular esta informação antes de gravar diretamente na tabela;

    Por ex:
    DEFINE VARIABLE c-data AS CHARACTER NO-UNDO.
    c-data = string("12312009","99/99/9999") .
    DEFINE VARIABLE c-dia AS CHARACTER NO-UNDO.
    DEFINE VARIABLE c-mes AS CHARACTER NO-UNDO.
    DEFINE VARIABLE c-ano AS CHARACTER NO-UNDO.
    DEFINE VARIABLE dtAux AS DATE NO-UNDO.
    assign
    c-dia = SUBSTRING(c-data,4,2)
    c-mes = SUBSTRING(c-data,1,2)
    c-ano = SUBSTRING(c-data,7,4) NO-ERROR .
    dtAux = DATE (int(c-mes), int(c-dia), int(c-ano)) .

    MESSAGE dtAux
    VIEW-AS ALERT-BOX INFO BUTTONS OK
  3. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Veja se a lógica abaixo atende sua necessidade:

    Lembre-se:

    01) Mude para mdy antes da abertura do arquivo - INPUT FROM
    02) Mude para dmy depois do fechamento do arquivo - INPUT CLOSE.

    Código:
    def var dt-data     as date     format "99/99/9999" no-undo.
    
    assign dt-data = 02/28/2009.
    
    message "Data Original - Formato Brasileiro: " string(dt-data,"99/99/9999") view-as alert-box. /*** Data no formato dd/mm/aaaa ***/
    
    /*** Mudando para formato Americano ***/
    session:date-format = "mdy".
    
    message "Data Modificada - Formato Americano: " string(dt-data,"99/99/9999") view-as alert-box. /*** Data no formato mm/dd/aaaa ***/
    
    /*** Mudando para formato Brasileiro ***/
    session:date-format = "dmy".
    
    message "Data Modificada - Formato Brasileiro: " string(dt-data,"99/99/9999") view-as alert-box. /*** Data no formato dd/mm/aaaa ***/
    

Compartilhe esta Página