Skip to Content
author's profile photo Former Member
Former Member

Automatização Impressão do Danfe

Bom dia Srs e Sras,

Sou novo no desenvolvimento abap e atualmente estou passando por uma dificuldade na automatização da impressão do danfe.

O que ocorre: estou alterando uma classe na badi - CL_NFE_PRINT. Classe: CALL_RSNAST00. Nela estou chamando a função: J_1BNFE_CALL_RSNAST00. Até ai tudo bem, funcionando que é uma beleza, o problema é que ela esta abrindo a tela de seleção de impressora, debuguei o programa e é da função, existe alguma outra função? Ou procuro por ampliações na função?

Eu imagino que é coisa basica, mas como falei estou iniciando.

Muito obrigado!!!!

Add a comment
10|10000 characters needed characters exceeded

Related questions

4 Answers

  • Best Answer
    Posted on Sep 18, 2015 at 03:19 PM

    Jeferson,

    normalmente encapsulamos a chamada da função J_1BNFE_CALL_RSNAST00 dentro de uma função Z, RFC-Enabled.

    Crie uma Função Z, seguindo este modelo:

    FUNCTION Z_SD_NFE_PRINT_DANFE.
    *"----------------------------------------------------------------------
    *"*"Local Interface:
    *"  IMPORTING
    *"     VALUE(I_ACTIVE) TYPE  J_1BNFE_ACTIVE
    *"     VALUE(I_KAPPL) TYPE  NAST-KAPPL DEFAULT 'NF'
    *"     VALUE(I_NACHA) TYPE  NAST-NACHA DEFAULT '1'
    *"     VALUE(I_DIMME) TYPE  NAST-DIMME DEFAULT 'X'
    *"     VALUE(I_PRINTER) TYPE  RSPONAME OPTIONAL
    *"  EXCEPTIONS
    *"      PRINT_ERROR
    *"----------------------------------------------------------------------
    
    
    CALL FUNCTION 'J_1BNFE_CALL_RSNAST00'
      EXPORTING
        i_active          = i_active
        I_KAPPL           = i_kappl
        I_NACHA           = i_nacha
        I_DIMME           = i_dimme
        I_PRINTER         = i_printer
      EXCEPTIONS
        PRINT_ERROR       = 1
        OTHERS            = 2.
    IF sy-subrc <> 0.
      CALL FUNCTION 'J_1B_NFE_ERROR_PROTOKOLL'
              EXPORTING
                i_docnum = i_active-docnum.
    ENDIF.
    
    
    ENDFUNCTION.
    

    Na aba atributos, marque ela como 'Remote-Enabled Module'.

    No método CALL_RSNAST00, altere sua chamada para:

          CALL FUNCTION 'Z_SD_NFE_PRINT_DANFE'
            IN BACKGROUND TASK
            EXPORTING
              i_active   = i_active
            EXCEPTIONS
              no_printer = 1
              OTHERS     = 2.
    

    []'s

    JN

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Jose Nunes

      Show de bola! Foi para o pool, mas com erro. Ao mandar reprocessar pelo pool ele imprimi. Vou dar uma pesquisada na internet. Devo ter esquecido de algum detalhe.

      ==================================

      CALL FUNCTION 'Z_SD_NFE_PRINT_DANFE'

      IN BACKGROUND TASK

      EXPORTING

      i_active = active

      EXCEPTIONS

      print_error = 1

      OTHERS = 2.

      IF sy-subrc <> 0.

      * Implement suitable error handling here

      ENDIF.

      COMMIT WORK.

  • author's profile photo Former Member
    Former Member
    Posted on Sep 18, 2015 at 01:26 PM

    Jeferson,

    Como esta passando o parâmetro de importação I_DIMME da função?

    Cole a chamada de sua função.

    Att.

    Paulo Campos

    SAP Certified Professional

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 21, 2015 at 02:06 PM

    Já está no pool minha impressão só que está ocorrendo um erro.


    erro.PNG (60.3 kB)
    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 22, 2015 at 12:56 PM

    Fiz alguns ajustes na transação SPAD.

    Agora está ocorrendo outro erro.

    - Front end não acessível

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    |Data |Tempo |Classe |Área |Stat.job |Impressão |Pos.|Págs. |Tmp.|Mensagem |

    |22.09.2015|09:51:44|Informação |Spool SAP | |Não impresso | | | |Processamento através de processo operacional spool encerrado |

    |22.09.2015|09:51:44|Atrasado |Transf.dados |Adiado |Não impresso | | | |A ordem é redefinida pela 1ª vez |

    |22.09.2015|09:51:44|Atrasado |Transf.dados |Adiado |Não impresso | | | |Ordem diferida |

    |22.09.2015|09:51:44|Informação |Edição R/3 |Em edição |Não impresso | | | |Edição encerrada através de processo operacional de spool |

    |22.09.2015|09:51:44|Informação |Edição R/3 |Em edição |Não impresso | | | |Edição iniciada através de processo operacional spool |

    |22.09.2015|09:51:44|Informação |Spool SAP |Em edição |Não impresso | | | |Processamento iniciado através de processo operacional spool |

    |22.09.2015|09:51:43|Informação |Spool SAP |Espera pelo servidor|Não impresso | | | |Ordem de impressão 18967/1 gerada |

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Add a comment
    10|10000 characters needed characters exceeded

    • Sim.

      O erro "front end não acessível" deve ocorrer pois a entrada na NAST é gerada como LOCL e a impressão é gerada em background, sem link com um front end (seu SAP GUI por ex.) para ele determinar em qual impressora vai ser impresso o DANFE (aqui ele usaria a impressora default do windows).

      []'s

      JN

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.