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

Layout Banco Santander APB - Informação Conta

Discussão em 'EMS , HCM e Totvs 11' iniciado por Marcos Frasson, Junho 22, 2022.

  1. Marcos Frasson

    Marcos Frasson Membro Participativo

    Boa tarde pessoal,

    Estou precisando finalizar um layout do banco Santander para Contas a Pagar, mas estou com um problema em relação ao um registro.

    Na posição do layout 30 á 41 que é preciso informar a Conta do Favorecido, eu preciso pegar essa informação através do código de barras que é informado no Titulo, para isso acho que é necessário programa especifico, certo? Não sei se tem algum programa padrão pra isso.

    Se alguém já precisou disso e puder compartilhar será de grande ajuda.
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Então, não tenho um exemplo especifico, mas é assim, no mapa edi vc tem a opção executar programa, segue um exemplo de um programa ....
    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. Marcos Frasson

    Marcos Frasson Membro Participativo

    @bootstrapmaster obrigado por compartilhar. Eu já fiz programas customizados para alguns layout's, mas programas simples tipo que retira caractere especial do nome ou do endereço, mas esse preciso formar a conta pelo que o financeiro me passou através do código de barras, ai já complica hehehe por isso postei para ver se alguém tem algum exemplo desse ou se existe algum programa padrão do Datasul que eu possa colocar no meu layout.
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Tudo bem, mas no tit_ap tem o campo da linha digitavel do titulo, pega de lá
  5. Marcos Frasson

    Marcos Frasson Membro Participativo

    Fiz um programa que está lendo todas as posições do código de barras, basicamente passo a fórmula de código de barras e leio através do substring, agora preciso então formar as informações de conta corrente, agencia, digito da conta e digito da agencia.

    /*Codigo de Barras*/
    FIND FIRST tt_param_program_formul
    WHERE tt_param_program_formul.tta_cdn_segment_edi = 289 AND /* segmento detalhe do mapa de extração 19 */
    tt_param_program_formul.tta_cdn_element_edi = 2807 NO-ERROR. /* elemento "Codigo de barras" do segmento 289, mapa 19 */

    ASSIGN v_cod_barra_1 = substring(tt_param_program_formul.ttv_des_contdo,1,10)
    v_cod_barra_2 = substring(tt_param_program_formul.ttv_des_contdo,11,11)
    v_cod_barra_3 = substring(tt_param_program_formul.ttv_des_contdo,22,11)
    v_cod_barra_4 = substring(tt_param_program_formul.ttv_des_contdo,33,1)
    v_cod_barra_5 = substring(tt_param_program_formul.ttv_des_contdo,34,14).

    Se alguém já trabalhou com esses campos e puder dar uma ajuda.....
  6. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

Compartilhe esta Página