Obs: mantive a rotina incompleta, apenas o caminho das pedras...
CLEAR ls_e1wpb01.
ls_e1wpb01-poskreis = <perfil determninado no customizing>.
ls_e1wpb01-kassid = <CÓDIGO DO CAIXA>.
ls_e1wpb01-vorgdatum = sy-datum.
ls_e1wpb01-vorgzeit = sy-uzeit.
ls_e1wpb01-kundnr = <CLIENTE>.
ls_e1wpb01-belegwaers = 'BRL'.
APPEND INITIAL LINE TO lt_idoc_data ASSIGNING FIELD-SYMBOL(<ls_idoc_data>).
<ls_idoc_data>-sdata = ls_e1wpb01.
<ls_idoc_data>-mandt = sy-mandt.
<ls_idoc_data>-segnam = 'E1WPB01'.
LOOP AT lt_zsdt_0082 ASSIGNING FIELD-SYMBOL(<ls_item>).
CLEAR ls_e1wpb02.
ls_e1wpb02-vorgangart = <TIPO DO FATURAMENTO>.
ls_e1wpb02-qualartnr = 'ARTN'.
ls_e1wpb02-artnr = <MATERIAL>.
ls_e1wpb02-seriennr = ''.
ls_e1wpb02-vorzeichen = '-'.
ls_e1wpb02-menge = <QUANTIDADE>.
ls_e1wpb02-artnr_long = <MATERIAL>.
APPEND INITIAL LINE TO lt_idoc_data ASSIGNING <ls_idoc_data>.
<ls_idoc_data>-sdata = ls_e1wpb02.
<ls_idoc_data>-mandt = sy-mandt.
<ls_idoc_data>-segnam = 'E1WPB02'.
CLEAR ls_e1wpb03.
ls_e1wpb03-vorzeichen = '+'.
ls_e1wpb03-kondition = <CONDIÇÃO DE PREÇO(customizing)>.
ls_e1wpb03-kondvalue = <VALOR TO ITEM>.
APPEND INITIAL LINE TO lt_idoc_data ASSIGNING <ls_idoc_data>.
<ls_idoc_data>-sdata = ls_e1wpb03.
<ls_idoc_data>-mandt = sy-mandt.
<ls_idoc_data>-segnam = 'E1WPB03'.
"Campos adicionais do cabeçalho
"Verificar implementação função exit EXIT_SAPLWPUE_106
APPEND INITIAL LINE TO lt_idoc_data ASSIGNING <ls_idoc_data>.
ls_e1wxx01-fldgrp = 'HEAD'.
ls_e1wxx01-fldname = 'ZTERM'.
ls_e1wxx01-fldval = <CONDICAO DE PAGAMENTO>.
<ls_idoc_data>-sdata = ls_e1wxx01.
<ls_idoc_data>-mandt = sy-mandt.
<ls_idoc_data>-segnam = 'E1WXX01'.
"Campo STAFO - elimina verificação estatistica ao gerar faturamento
"Se estiver preenchido um DUMP acontece
APPEND INITIAL LINE TO lt_idoc_data ASSIGNING <ls_idoc_data>.
ls_e1wxx01-fldgrp = 'HEAD'.
ls_e1wxx01-fldname = 'STAFO'.
ls_e1wxx01-fldval = ''.
<ls_idoc_data>-sdata = ls_e1wxx01.
<ls_idoc_data>-mandt = sy-mandt.
<ls_idoc_data>-segnam = 'E1WXX01'.
APPEND INITIAL LINE TO lt_idoc_data ASSIGNING <ls_idoc_data>.
ls_e1wxx01-fldgrp = 'HEAD'.
ls_e1wxx01-fldname = 'KUNWE'.
ls_e1wxx01-fldval = <RECEBEDOR DA MERCADORIA>.
<ls_idoc_data>-sdata = ls_e1wxx01.
<ls_idoc_data>-mandt = sy-mandt.
<ls_idoc_data>-segnam = 'E1WXX01'.
"Forma de pagamento
APPEND INITIAL LINE TO lt_idoc_data ASSIGNING <ls_idoc_data>.
ls_e1wxx01-fldgrp = 'HEAD'.
ls_e1wxx01-fldname = 'ZLSCH'.
CASE ls_zsdt_0081-tppag.
WHEN gc_pag_vista.
ls_e1wxx01-fldval = 'E'.
WHEN gc_pag_prazo.
ls_e1wxx01-fldval = 'A'.
WHEN gc_pag_ccc.
ls_e1wxx01-fldval = 'L'.
WHEN gc_pag_folha.
ls_e1wxx01-fldval = 'I'.
ENDCASE.
<ls_idoc_data>-sdata = ls_e1wxx01.
<ls_idoc_data>-mandt = sy-mandt.
<ls_idoc_data>-segnam = 'E1WXX01'.
APPEND INITIAL LINE TO lt_idoc_data ASSIGNING <ls_idoc_data>.
ls_e1wxx01-fldgrp = 'MSEG'.
ls_e1wxx01-fldname = 'CHARG'.
ls_e1wxx01-fldval = <ls_item>-charg.
<ls_idoc_data>-sdata = ls_e1wxx01.
<ls_idoc_data>-mandt = sy-mandt.
<ls_idoc_data>-segnam = 'E1WXX01'.
ENDLOOP.
APPEND INITIAL LINE TO lt_idoc_data ASSIGNING <ls_idoc_data>.
ls_e1wpb06-vorzeichen = '-'.
ls_e1wpb06-zahlart = '----'.
<ls_idoc_data>-sdata = ls_e1wpb06.
<ls_idoc_data>-mandt = sy-mandt.
<ls_idoc_data>-segnam = 'E1WPB06'.
CALL FUNCTION 'IDOC_WRITE_AND_START_INBOUND'
EXPORTING
i_edidc = ls_idoc_control
do_commit = ''
IMPORTING
docnum = ls_idoc_control-docnum
TABLES
i_edidd = lt_idoc_data
EXCEPTIONS
idoc_not_saved = 1
OTHERS = 2.
=====================
Customizing
Perfil:
Config. dados pagamento
TEM MAIS CONFIG, MAS TÁ DANDO MUITO TRABALHO
Nenhum comentário:
Postar um comentário