Você está na página 1de 20

Diminuir um passo nos processos de atendimento ao cliente com a automao da fatura

importante nas empresas. Fazer essa automao da forma mais standard possvel o
que todos desejam, sem a utilizao de user-exids, Badis e enhencements melhor
ainda.
Uma das vantagens da automao da fatura o lanamento contbil do estoque que
deve ser ao mesmo tempo que o lanamento contbil do faturamento.
Um dos problemas a mudana do perodo onde a sada de mercadorias ocorre em um
momento e o faturamento em outro, gerando problemas no fechamento da empresa.
Com a utilizao das funcionalidades standard de output message, ao gravar uma ordem
de vendas que no tem remessa, e o prximo passo seria o faturamento, o SAP pode
faturar esta ordem de forma automtica. Outro passo que pode ser automatizado a
gerao de faturas pela VF01 ou VF04. Neste caso, quando ocorrer a sada da mercadoria
e o prximo passo seria o faturamento, o SAP tambm pode, de forma automtica, fazer
o faturamento.
Na realidade, a principal vantagem da automao no ser mais necessrio executar a
transao de faturamento individual ( VF01 ) ou coletivo ( VF04 ).
Para o desenvolvimento deste processo so necessrias algumas parametrizaes
funcionais e o desenvolvimento de um programa ABAP para executar a funo Standard
SAP de faturamento. Como fazer esse desenvolvimento funcional e ABAP, bem como o
prprio programa ABAP esta em um documento Word, que pode ser baixado pelos
interessados acessando o link abaixo:

Pgina 1 of 20

24-jul-2015

Automao da Fatura
Ordem de Vendas

Pgina 2 of 20

24-jul-2015

Pela transao NACE,


Entrar em tipos de mensagem, utilizando a aplicao V1

Criar o Tipo de mensagem ZFAT com base na BA00

Pgina 3 of 20

24-jul-2015

Desenvolver o programa ZSD_RVADDN01 com base no programa Standard RVADDN01

Pgina 4 of 20

24-jul-2015

As records conditions da ZFAT so, determinadas por tipo de ordens de Vendas na VV11 e
VV12

Pgina 5 of 20

24-jul-2015

Na tabela NACH de Record conditions de output messages, temos os lanamentos


gravados.

Pela transao NACE, entrara em Esquemas...

Pgina 6 of 20

24-jul-2015

Inserir o tipo de Mensagem ZFAT e colocar o requisito 2

Pgina 7 of 20

24-jul-2015

Pgina 8 of 20

24-jul-2015

Caso a ordem no estiver totalmente liberada o SY-SUBRC igual a 4 no fazendo o


faturamento...

Pgina 9 of 20

24-jul-2015

Automao da Fatura
Remessa ( Fornecimento )

Pgina 10 of 20

24-jul-2015

Utilizar a transao NACE, com aplicao V2 expedio


Clicar em Tipo de mensagem

Criar o tipo de mensagem ZFAT com base na LD00

Pgina 11 of 20

24-jul-2015

Chamar o Mesmo Programa da Ordem de vendas.... ZSD_RVADDN01

Pgina 12 of 20

24-jul-2015

Inserir o tipo de mensagem ZFAT com o requisito 1.

Pgina 13 of 20

24-jul-2015

O requisito 1, indica se a sada de mercadoria j foi lanada.


Pgina 14 of 20

24-jul-2015

Pgina 15 of 20

24-jul-2015

Programa
ZSD_RVADDN01

Pgina 16 of 20

24-jul-2015

Ateno a funo 'RV_INVOICE_CREATE' e seus parmetros.

*----------------------------------------------------------------------*
* Programa
* Mdulo

: ZSD_RVADDN01

: SD

* Propsito : Gerar Faturamento automatico via output message

*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* ltima modificao:
* N Request Data

*
Modificado Por

Motivo

*----------------------------------------------------------------------*
* DV1Kxxxxxx xx.xx.xxxx Xxxxxxxxxxxxxxxxx

Xxxxxxxxxxxxxxxxxxxxxxxx *

*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
*

Print of a delivery note by SAPscript

*----------------------------------------------------------------------*
REPORT zsd_rvaddn01 LINE-COUNT 100.

INCLUDE rvadtabl.

DATA: retcode

LIKE sy-subrc. "Returncode

DATA: xscreen(1) TYPE c.

Pgina 17 of 20

"Output on printer or screen

24-jul-2015

DATA : it_vbsk

TYPE STANDARD TABLE OF vbsk

WITH HEADER LINE,

it_xkomfk TYPE STANDARD TABLE OF komfk

WITH HEADER LINE,

it_xkomv

WITH HEADER LINE,

TYPE STANDARD TABLE OF komv

it_xthead TYPE STANDARD TABLE OF theadvb


it_xvbfs

TYPE STANDARD TABLE OF vbfs

WITH HEADER LINE,


WITH HEADER LINE,

it_xvbpa

TYPE STANDARD TABLE OF vbpavb

WITH HEADER LINE,

it_xvbrk

TYPE STANDARD TABLE OF vbrkvb

WITH HEADER LINE,

it_xvbrp

TYPE STANDARD TABLE OF vbrpvb

WITH HEADER LINE,

it_xvbss

TYPE STANDARD TABLE OF vbss

WITH HEADER LINE.

*----------------------------------------------------------------------*
*----------------------------------------------------------------------FORM entry USING return_code us_screen.

CLEAR retcode.
xscreen = us_screen.

PERFORM processing USING us_screen.

IF retcode NE 0.
return_code = 1.
ELSE.
return_code = 0.
ENDIF.

ENDFORM.

"ENTRY

*---------------------------------------------------------------------*

Pgina 18 of 20

24-jul-2015

FORM PROCESSING

*---------------------------------------------------------------------*
*

........

*---------------------------------------------------------------------*
* --> PROC_SCREEN
*

*
*

* Para criar o documento de faturamento, utiliza como referencia

* a remessa. Programa ser disparado via output message no momento


* em que for processado a mensagem de cabealho de remessa.

*
*

*---------------------------------------------------------------------*
FORM processing USING proc_screen.

REFRESH: it_xkomfk, it_xkomv, it_xthead, it_xvbfs,


it_xvbpa, it_xvbrk, it_xvbrp, it_xvbss, it_vbsk.

CLEAR:

it_xkomfk, it_xkomv, it_xthead, it_xvbfs,

it_xvbpa, it_xvbrk, it_xvbrp, it_xvbss, it_vbsk.

it_xkomfk-vbeln = nast-objky(10). "Numero da Remessa vindo da NAST


APPEND it_xkomfk.

CALL FUNCTION 'RV_INVOICE_CREATE'


EXPORTING
delivery_date = sy-datum
invoice_date = sy-datum
with_posting = 'F' "Atualizar diretamente sem commit
id_no_enqueue = 'X' "Tipo de documento no pode ser bloqueado
vbsk_i

= it_vbsk

TABLES
xkomfk

Pgina 19 of 20

= it_xkomfk

24-jul-2015

xkomv

= it_xkomv

xthead

= it_xthead

xvbfs

= it_xvbfs

xvbpa

= it_xvbpa

xvbrk

= it_xvbrk

xvbrp

= it_xvbrp

xvbss

= it_xvbss.

IF sy-subrc EQ 0.
retcode = 0.
ELSE.
retcode = 1.
ENDIF.

ENDFORM.

Pgina 20 of 20

"PROCESSING

24-jul-2015