Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila de IDOC
2
1. Criação do Segmento de IDOC (WE31)
Depois processar->definir liberação, isso para poder editar.
3
2. Criar Tipo de IDOC (WE30)
4
• Clicar no novo (folhinha)
5
6
3. Criar o Tipo de Mensagem (WE81)
7
8
9
10
4. Associar o Tipo de IDOC ao Tipo de Mensagem (WE82)
11
Tipo mensagem: ZMCPX_ALUNO07_OUT
Aplicação: -
Release: 600
12
5. Verificar/Criar Sistemas Lógicos (SALE) – BASIS
13
6. Verificar/Criar Destino RFC (SM59) - BASIS
14
7. Modelo de Distribuição (BD64)
Definir Modelo de Distribuição
15
16
17
8. Verificar Protocolo de Transmissão (WE20)
18
19
Tela: Outbound
20
Tela: Inbound
21
9. Verificar Portas no Processamento IDOC (WE21)
22
23
10. Criar função para criação do IDOC (SE37)
24
CODIGO: function ZF_CPX_ALUNO07_OUTBOUND. (ANEXO I)
25
26
11. Selecionar IDOCs (BD87)
Clique no nó (ícone amarelo – esperando processamento), processar (F8), Voltando para tela abaixo.
27
Arquivo criado.
Outras telas
WE05
28
ANEXO I – Função Outbound.
function ZF_CPX_ALUNO07_OUTBOUND.
*"--------------------------------------------------------------------
*"*"Interface local:
*" IMPORTING
*" REFERENCE(I_KUNNR) TYPE KUNNR
*" TABLES
*" COMMUNICATION_DOCUMENTS STRUCTURE SWOTOBJID OPTIONAL
*" EXCEPTIONS
*" ERROR_CREATING_IDOCS
*"--------------------------------------------------------------------
data:
wl_idoc_control like bdicontrol,
wl_idoc_data like edidd occurs 0 with header line,
wl_idoc_receiver like bdi_logsys occurs 0 with header line,
wl_idoc_comm like edidc occurs 0 with header line,
wl_tabix like sy-tabix,
vl_emissor like tbdls-logsys, " Emissor.
bdi_model like bdi_model occurs 0 with header line,
receivers like bdi_logsys occurs 0 with header line,
edipod like edipod occurs 0 with header line,
edidc like edidc occurs 0 with header line,
t_zscpx_ALUNO07_out like zscpx_ALUNO07_out occurs 0 with header line.
constants:
c_mestyp like bdicontrol-mestyp value 'ZMCPX_ALUNO07_OUT',
c_idoctp like bdicontrol-idoctp value 'ZTCPX_ALUNO07_OUT',
c_segnam like edidd-segnam value 'ZSCPX_ALUNO07_OUT'.
wl_idoc_control-mestyp = c_mestyp.
wl_idoc_control-idoctp = c_idoctp.
wl_idoc_control-serial = sy-datum.
wl_idoc_control-serial+8 = sy-uzeit.
wl_idoc_data-mandt = sy-mandt.
select single kunnr name1 sortl stras ort01 pstlz ort02 land1 regio spras telf1 k
nurl
into t_zscpx_ALUNO07_out
from kna1
where kunnr eq i_kunnr.
if sy-subrc eq 0.
* loop at t_zscpx_ALUNO07_out.
add 1 to wl_tabix.
append wl_idoc_data.
* endloop.
29
refresh: wl_idoc_receiver, wl_idoc_comm.
*vl_emissor = 'SAPEC6'.
* IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* ENDIF.
* IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* ENDIF.
clear wl_idoc_data.
refresh wl_idoc_data.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
raising error_creating_idocs.
else.
commit work.
endif.
30
* Enviar o Arquivo
call function 'EDI_OUTPUT_NEW'
tables
i_edidc = wl_idoc_comm
i_edidd = wl_idoc_data.
endif.
endfunction.
31
Criação tipo Inbound
32
12.Criar função que receberá os dados do IDOC (SE37)
33
13.Cadastrar função como “Entrada” (BD51)
34
35
14.Associar Tipo de Mensagem a Função (WE57)
36
15.Criar Process Code (WE42)
37
38
16.Associar Process Code a Função (DB67)
39
17. Ferramenta de Teste para o processamento IDOC (WE19) - TESTE
40
41
42
43
18. Centro de Custo/Tipo Ativ.: Enviar qtd planejadas e tarifas (BD27) - TESTE
44
19. Cliente exibir: 1º Tela (XD03) – TESTE
45
ANEXO II – Função Inbound.
function ZF_CPX_ALUNO07_INBOUND.
*"--------------------------------------------------------------------
*"*"Interface local:
*" IMPORTING
*" VALUE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD
*" VALUE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC
*" EXPORTING
*" VALUE(WORKFLOW_RESULT) LIKE BDWFAP_PAR-RESULT
*" VALUE(APPLICATION_VARIABLE) LIKE BDWFAP_PAR-APPL_VAR
*" VALUE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK
*" VALUE(CALL_TRANSACTION_DONE) LIKE BDWFAP_PAR-CALLTRANS
*" TABLES
*" IDOC_CONTRL STRUCTURE EDIDC OPTIONAL
*" IDOC_DATA STRUCTURE EDIDD OPTIONAL
*" IDOC_STATUS STRUCTURE BDIDOCSTAT OPTIONAL
*" RETURN_VARIABLES STRUCTURE BDWFRETVAR OPTIONAL
*" SERIALIZATION_INFO STRUCTURE BDI_SER OPTIONAL
*" EXCEPTIONS
*" WRONG_FUNCTION_CALLED
*"--------------------------------------------------------------------
************************************************************************
* Declaração de Tabelas
************************************************************************
* tables: zscpx_alunoxx.
************************************************************************
* Declaração de Variáveis
************************************************************************
data: vg_docnum like edidd-docnum.
data: zscpx_alunoxx.
************************************************************************
* Tabelas Internas
************************************************************************
data: t_cliente type zscpx_alunoxx_in occurs 0 with header line,
t_return type bdcmsgcoll occurs 0 with header line.
************************************************************************
* Processamento
************************************************************************
* faz a leitura das informações do idoc
read table idoc_data index 1.
46
i_stras = t_cliente-stras
i_ort01 = t_cliente-ort01
i_pstlz = t_cliente-pstlz
i_ort02 = t_cliente-ort02
i_land1 = t_cliente-land1
i_regio = t_cliente-regio
i_spras = t_cliente-spras
i_telf1 = t_cliente-telf1
i_knurl = t_cliente-knurl
tables
return = t_return.
idoc_status-docnum = vg_docnum.
idoc_status-msgty = t_return-msgtyp.
idoc_status-msgid = t_return-msgid.
idoc_status-msgno = t_return-msgnr.
idoc_status-msgv1 = t_return-msgv1.
idoc_status-msgv2 = t_return-msgv2.
idoc_status-msgv3 = t_return-msgv3.
idoc_status-msgv4 = t_return-msgv4.
idoc_status-segnum = idoc_status-segnum.
idoc_status-uname = sy-uname.
idoc_status-repid = sy-repid.
idoc_status-routid = sy-cprog.
append idoc_status.
endloop.
endfunction.
47
Conheça nossos cursos:
48