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] AJUDA!!! Programa EDI Retorno

Discussão em 'EMS , HCM e Totvs 11' iniciado por Cneves, Julho 28, 2015.

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

    Cneves Membro Participativo

    Boa tarde Galera,

    Será que alguém pode me ajudar?

    Preciso fazer um programa em um MAPA EDI, onde devo fazer uma validação da CARTEIRA que veio no arquivo de retorno?

    Alguem pode me ajudar? Como fazer esse programa de no MAPA EDI?

    Desde já obrigado.
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Exemplo de um programa que vc coloca no campo do mapa para executar, agora vc adapta pra o que vc precisa, ok ?
    Código:
    /*********************************************************/
    /**                                                     **/
    /** Banco Safra   **/
    /**                                                     **/
    /*********************************************************/
    
    def temp-table tt_param_program_formul no-undo
        field tta_cdn_segment_edi              as Integer format ">>>>>9" initial 0 label "Segmento" column-label "Segmento"
        field tta_cdn_element_edi              as Integer format ">>>>>9" initial 0 label "Elemento" column-label "Elemento"
        field tta_des_label_utiliz_formul_edi  as character format "x(10)" label "Label Utiliz Formula" column-label "Label Utiliz Formula"
        field ttv_des_contdo                   as character format "x(47)" label "Conteudo" column-label "Conteudo"
        index tt_param_program_formul_id       is primary
              tta_cdn_segment_edi              ascending
              tta_cdn_element_edi              ascending
        .
    
    /********************** Temporary Table Definition End **********************/
    
    /************************ Parameter Definition Begin ************************/
    
    def Input param p_cdn_mapa_edi
        as Integer
        format ">>>>>9"
        no-undo.
    def Input param p_cdn_segment_edi
        as Integer
        format ">>>>>9"
        no-undo.
    def Input param p_cdn_element_edi
        as Integer
        format ">>>>>9"
        no-undo.
    def Input param table
        for tt_param_program_formul.
    
    
    DEF VAR c-serie AS CHAR.
    DEF VAR c-nota  AS CHAR.
    DEF VAR c-item  AS CHAR.
    DEF VAR i-seq   AS INT.
    DEF VAR c-segto AS CHAR.
    DEF VAR c-cgc   AS CHAR.
    def var c-estabel as char.
    def var log-primeiro-gir as logical.
    def var c-segto-pci as char format "x(03)".
    def var c-segto-rff as char FORMAT "X(38)".
    def var c-segto-gir as char FORMAT "X(27)".
    def var v-cont as integer.
    def var v_hdl_aux  as Handle  format ">>>>>>9" NO-UNDO.
    def var l-primeiro-pci as logical initial yes.
    
    def var v-nome like emitente.nome-abrev.
    
    ASSIGN c-segto = "".
    /*
    for each tt_param_program_formul.
    message tta_cdn_segment_edi          skip   
        tta_cdn_element_edi                  skip
        tta_des_label_utiliz_formul_edi          skip
         ttv_des_contdo       skip
         substring(ttv_des_contdo,21,06)                       view-as alert-box.
                                     end.
    */
    
    find first tt_param_program_formul  where
          tt_param_program_formul.tta_des_label_utiliz_formul_edi begins "dt_var" no-error.
         
     
    if available tt_param_program_formul
    then return substring(tt_param_program_formul.ttv_des_contdo,21,06).
    else return ?.   
    
    
    find first tt_param_program_formul  where
          tt_param_program_formul.tta_des_label_utiliz_formul_edi = "vlr_eft_pg" no-error.
         
     
    if available tt_param_program_formul
    then return substring(tt_param_program_formul.ttv_des_contdo,232,13).
    else return "0". 
    
    
    find first tt_param_program_formul  where
          tt_param_program_formul.tta_des_label_utiliz_formul_edi begins "vlr_dsc_tt" no-error.
         
     
    if available tt_param_program_formul
    then return substring(tt_param_program_formul.ttv_des_contdo,162,13).
    else return "0". 
    
    
    find first tt_param_program_formul  where
          tt_param_program_formul.tta_des_label_utiliz_formul_edi begins "vlr_mlt_tt" no-error.
         
     
    if available tt_param_program_formul
    then return substring(tt_param_program_formul.ttv_des_contdo,166,13).
    else return "0". 
    
  3. elmo

    elmo Membro Ativo

    Boa tarde @bootstrapmaster
    Tenho uma dúvida, preciso realizar um calculo em uma data, somar a data de vencimento 1 dia para montar o arquivo remessa colocando a data da multa um dia depois do vencimento (Remessa cobrança Caixa CNAB 400).
    Vi aqui seu exemplo e estava fazendo alguns testes, mas sem resultado.
    Como deve ser a chamada do programa na formula? é conforme print em anexo?
    Você tem alguma sugestão para fazer esse cálculo?

    Obrigado.
    upload_2015-10-30_12-1-14.png
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    no caso vc precisa mexer em 2 campos né ? sugiro que vc faça 2 programinhas, um pra cada campo, porque vc recebe os dados de toda a lista, mas o retorno é só para o campo que chamou.
  5. edevil

    edevil Membro Participativo

    @bootstrapmaster , referente ao Programa, onde que eu devo informa-lo? Onde que ele fica cadastrado exatamente? Sabe dizer?

    Abs
  6. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    No campo formula, no proprio mapa.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página