Skip to Content
0
Former Member
Dec 28, 2010 at 10:31 AM

Impressão de Notas autorizadas - CALL_RSNAST00

526 Views

Olá, estou com o seguinte problema, após a autorização das notas a impressão automática da DANFE não está sendo feita, as transações J1BG e J1BJ estão parametrizadas corretamente, tanto é que estou conseguindo imprimir através da transação J1B3N.

Alguém tem idéia do que está ocorrendo?

Abraços.

Segue o código.

<

method IF_EX_CL_NFE_PRINT~CALL_RSNAST00.

DATA: vl_knumh TYPE b120-knumh.

DATA: vl_ldest TYPE nach-ldest.

DATA: vl_printer TYPE rsponame.

  • IF i_active-code EQ '100' "NF-e autorizada

  • AND i_active-printd IS INITIAL "só imprimir automaticamente se ainda não foi impressa

  • AND i_active-cancel IS INITIAL "não faz sentido imprimir autom. se ela foi cancelada

  • AND i_active-conting_s IS INITIAL. "não faz sentido imprimir autom. se ela foi alternada

  • "p/conting. pois deverá ser cancelada

SELECT SINGLE knumh

FROM b120

INTO vl_knumh

WHERE kappl = 'NF'

AND kschl = 'NF01'

AND bukrs = i_active-bukrs

AND j_1bbranch = i_active-branch

AND j_1bform = i_active-form.

IF NOT vl_knumh IS INITIAL.

SELECT SINGLE ldest

FROM nach

INTO vl_ldest

WHERE knumh = vl_knumh.

vl_printer = vl_ldest.

ENDIF.

IF NOT vl_printer IS INITIAL.

  • outros tratamentos, preparações e chamar função J_1BNFE_CALL_RSNAST00

CALL FUNCTION 'J_1BNFE_CALL_RSNAST00'

EXPORTING

i_active = i_active

i_printer = vl_printer

EXCEPTIONS

no_printer = 1

OTHERS = 2.

COMMIT WORK.

IF sy-subrc = 0.

CALL FUNCTION 'J_1B_NFE_ERROR_PROTOKOLL'

EXPORTING

i_docnum = i_active-docnum.

ENDIF.

ENDIF.

  • ENDIF.

endmethod.

method IF_EX_CL_NFE_PRINT~SET_COMMIT.

E_COMMITCALL = 'X'.

endmethod.

Dados da tabela b120.

MANDT KAPPL KSCHL BUKRS J_1BBRANCH J_1BFORM KNUMH

100 NF NF01 126 BR01 NF01 0000005368

100 NF NF01 126 BR01 NF56 0000005409

100 NF NF02 126 BR01 NF02 0000005386

100 NF NF02 126 BR01 NF55 0000005545

100 NF NF02 126 BR01 NFIM 0000005625

100 NF NFSE 126 BR01 NFSE 0000005646