Módulo: CÂMBIO FINANCEIRO
Funcionalidade: SISCOSERV
Data/Hora da Publicação: 26/06/2014 10:49:30
Data/Hora Última Alteração: 26/06/2014 10:49:30
Descrição da Nota: SISCOSERV - CRIAÇÃO COM ORIGEM EM FRETE E SEGURO DE PEDIDO DE COMPRA
Sintoma
DESENVOLVIMENTO EFETUADO NO PROGRAMA /PWS/ZYCA011 PARA PERMITIR A CRIAÇÃO DE PROCESSOS COM ORIGEM EM
FRETE E SEGURO DE PEDIDO DE COMPRA
Solução
DESENVOLVIMENTO EFETUADO NO PROGRAMA /PWS/ZYCA011 PARA PERMITIR A CRIAÇÃO DE PROCESSOS COM ORIGEM EM
FRETE E SEGURO DE PEDIDO DE COMPRA
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13919 Data: 13/05/2014 Hora: 10:09:49
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13919
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00007
Agrupamento : 00170
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
13228 - 00001 - 9.0 - 00005 - SISCOSERV - CARGA - INCLUSÃO DE AUTHORITY-CHECK
13874 - 00002 - 9.0 - 00007 - SISCOSERV - CRIAÇÃO AUTOMÁTICA DE RAS/RVS
13889 - 00003 - 9.0 - 00007 - SISCOSERV - EXCLUSÃO DE RAS/RVS - STATUS EM PROCESSAMENTO
----------------------------------------------------------------------------------------------------
SISCOSERV - CRIAÇÃO COM ORIGEM EM FRETE E SEGURO DE PEDIDO DE COMPRA
----------------------------------------------------------------------------------------------------
Palavras Chave:
SISCOSERV - CRIAÇÃO COM ORIGEM EM FRETE E SEGURO DE PEDIDO DE COMPRA
PAÍS NO PROGRAMA DE CARGA
----------------------------------------------------------------------------------------------------
Objetos da nota:
DOMD /PWS/ZYCAD028
REPS /PWS/ZYCAR022
REPS /PWS/MZYCA011F01
REPS /PWS/MZYCA011TOP
REPT /PWS/SAPMZYCA011
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DOMD /PWS/ZYCAD028
------------------------------------------------------------------------
Domínio modificado: /PWS/ZYCAD028
-Valores individuais
Modificado valor fixo "K"
Texto modificado, idioma: PT (27 caracteres):
"Pedido de Compra - Serviços"
Incluído valor fixo "M"
Texto modificado, idioma: EN (25 caracteres):
"Purchase Order - Shipping"
Texto modificado, idioma: PT (24 caracteres):
"Pedido de Compra - Frete"
Texto modificado, idioma: ES (23 caracteres):
"Orden de Compra - Envío"
Excluído valor fixo "L"
Incluído valor fixo "N"
Texto incluído, idioma: EN (26 caracteres):
"Purchase Order - Insurance"
Texto incluído, idioma: PT (25 caracteres):
"Pedido de Compra - Seguro"
Texto incluído, idioma: ES (25 caracteres):
"Orden de Compra - Seguros"
Incluído valor fixo "L"
Texto incluído, idioma: EN (11 caracteres):
"Sales Order"
Texto incluído, idioma: PT (14 caracteres):
"Ordem de Venda"
Texto incluído, idioma: ES (14 caracteres):
"Orden de venta"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCAR022
...
BEGIN OF ty_cabec,
nrseq(8) TYPE c,
bukrs(4) TYPE c,
j_1bbranch(4) TYPE c,
tp_processo(1) TYPE c,
bukrs_ext(10) TYPE c,
cod_pais(5) TYPE c,
nif(40) TYPE c,
waers(5) TYPE c,
n_rvs_ras(12) TYPE c,
* >> Início da inclusão:
processamento(1) type c,
* << Fim da inclusão
END OF ty_cabec,
BEGIN OF ty_opera,
nrseq(8) TYPE c,
operacao(4) TYPE c,
nbs(12) TYPE c,
cod_pais(5) TYPE c,
modo_prest(1) TYPE c,
data_ini(10) TYPE c,
data_fim(10) TYPE c,
valor(18) TYPE c,
...
...
ENDIF.
ENDIF.
IF NOT r_header IS INITIAL AND
NOT itab_redi[] IS INITIAL.
DELETE itab_redi INDEX 1.
ENDIF.
LOOP AT itab_cabec INTO wa_cabec.
PERFORM ajusta_emp CHANGING wa_cabec-bukrs_ext.
MOVE-CORRESPONDING wa_cabec TO wa_zycat030.
CLEAR: wa_zycat030-nrseq, wa_zycat030-valor.
* >> Início da inclusão: FORM CARREGA_RAS_RVS
PERFORM cod_pais USING wa_zycat030-bukrs_ext
wa_zycat030-tp_processo
CHANGING wa_zycat030-cod_pais.
* << Fim da inclusão
LOOP AT itab_opera INTO wa_opera
WHERE nrseq = wa_cabec-nrseq.
PERFORM ajusta_valor USING wa_zycat030-waers
CHANGING wa_opera-valor.
PERFORM ajusta_data CHANGING wa_opera-data_ini.
PERFORM ajusta_data CHANGING wa_opera-data_fim.
MOVE-CORRESPONDING wa_opera TO wa_zycat031.
CLEAR wa_zycat031-nrseq.
wa_zycat031-saldo = wa_zycat031-valor.
wa_zycat031-waers = wa_zycat030-waers.
wa_zycat030-valor = wa_zycat030-valor + wa_zycat031-valor.
APPEND wa_zycat031 TO itab_zycat031.
LOOP AT itab_enqua INTO wa_enqua
WHERE nrseq = wa_opera-nrseq
AND operacao = wa_opera-operacao.
MOVE-CORRESPONDING wa_enqua TO wa_zycat032.
APPEND wa_zycat032 TO itab_zycat032.
ENDLOOP.
ENDLOOP.
wa_zycat030-saldo = wa_zycat030-valor.
* >> Início da exclusão: FORM CARREGA_RAS_RVS
wa_zycat030-processamento = 'X'.
* << Fim da exclusão
LOOP AT itab_redi INTO wa_redi
WHERE nrseq = wa_cabec-nrseq.
MOVE-CORRESPONDING wa_redi TO wa_zycat033.
APPEND wa_zycat033 TO itab_zycat033.
ENDLOOP.
CALL FUNCTION '/PWS/ZYCA_CARGA_SICOSERV_CONTR'
EXPORTING
i_zycat030 = wa_zycat030
TABLES
i_zycat031 = itab_zycat031
...
...
SET PF-STATUS 'STANDARD_FULLSCREEN'.
ENDFORM.
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield. "#EC CALLED
ENDFORM.
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = itab_listheader.
ENDFORM.
* >> Início da inclusão:
FORM cod_pais USING p_bukrsext
p_tpprocesso
CHANGING p_codpais.
DATA: v_land1 TYPE lfa1-land1.
CHECK p_codpais IS INITIAL.
IF p_tpprocesso = 'A'.
SELECT SINGLE land1
FROM lfa1
INTO v_land1
WHERE lifnr = p_bukrsext.
ELSEIF p_tpprocesso = 'V'.
SELECT SINGLE land1
FROM kna1
INTO v_land1
WHERE kunnr = p_bukrsext.
ENDIF.
CHECK NOT v_land1 IS INITIAL.
SELECT SINGLE cod_pais
FROM /pws/zycat043
INTO p_codpais
WHERE land1 = v_land1.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA011F01
...
FORM seleciona_dados.
REFRESH: itab_zycat031_ant, itab_zycat031t,
itab_zycat032_ant, itab_zycat031 ,
itab_zycat033_ant, itab_zycat033t,
itab_tline_ant , itab_src, itab_tline.
SELECT SINGLE * FROM /pws/zycat030
WHERE nrseq = /pws/zycat030-nrseq.
IF sy-subrc NE 0.
CLEAR v_okcode.
MESSAGE w015 WITH text-e05.
* >> Início da exclusão: FORM SELECIONA_DADOS
STOP.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
EXIT.
* << Fim da inclusão
ENDIF.
wa_zycat030_ant = /pws/zycat030.
SELECT * FROM /pws/zycat031
INTO TABLE itab_zycat031_ant
WHERE nrseq = /pws/zycat030-nrseq
ORDER BY operacao.
IF sy-subrc EQ 0.
LOOP AT itab_zycat031_ant INTO wa_zycat031.
APPEND wa_zycat031 TO itab_zycat031t.
ENDLOOP.
...
...
PERFORM busca_comissao_agente USING v_novo
CHANGING p_erro.
ELSEIF NOT v_prestconta IS INITIAL.
PERFORM busca_prestacao_contas USING v_novo
CHANGING p_erro.
ELSEIF NOT v_despimp IS INITIAL.
PERFORM busca_despesas_imp USING v_novo
CHANGING p_erro.
ELSEIF NOT v_ordvenda IS INITIAL.
PERFORM busca_ordem_venda USING v_novo
* >> Início da inclusão: FORM BUSCA_ORIGEM_2
CHANGING p_erro.
ELSEIF NOT v_fretepc IS INITIAL.
PERFORM busca_frete_pc USING v_novo
CHANGING p_erro.
ELSEIF NOT v_segpc IS INITIAL.
PERFORM busca_seguro_pc USING v_novo
* << Fim da inclusão
CHANGING p_erro.
ENDIF.
ENDFORM.
FORM busca_emb_imp_2 USING p_novo
CHANGING p_erro.
DATA:
v_valor_total TYPE /pws/zycit006-vlmerc,
v_count TYPE /pws/zycat031-operacao,
v_existe(1) TYPE c,
v_nrseqdi TYPE /pws/zycit085-nrseqdi,
...
...
v_valor_total TO /pws/zycat030-saldo.
CLEAR: r_embexp.
REFRESH: r_embexp.
ENDFORM.
FORM verifica_operacao USING p_nrseq_op
p_origem_op
CHANGING p_existe.
DATA:
wa_zycat030 TYPE /pws/zycat030,
wa_zycat031 TYPE /pws/zycat031.
* >> Início da inclusão: FORM VERIFICA_OPERACAO
DATA: itab_zycat031 TYPE TABLE OF /pws/zycat031.
* << Fim da inclusão
CLEAR p_existe.
* >> Início da exclusão: FORM VERIFICA_OPERACAO
SELECT SINGLE *
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_OPERACAO
SELECT *
* << Fim da inclusão
FROM /pws/zycat031
* >> Início da exclusão: FORM VERIFICA_OPERACAO
INTO wa_zycat031
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_OPERACAO
INTO TABLE itab_zycat031
* << Fim da inclusão
WHERE nrseq_origem = p_nrseq_op.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM VERIFICA_OPERACAO
SELECT SINGLE *
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_OPERACAO
SELECT *
* << Fim da inclusão
FROM /pws/zycat030
INTO wa_zycat030
* >> Início da exclusão: FORM VERIFICA_OPERACAO
WHERE nrseq = wa_zycat031-nrseq
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_OPERACAO
FOR ALL ENTRIES IN itab_zycat031
WHERE nrseq = itab_zycat031-nrseq
* << Fim da inclusão
AND status NE 'EX'
AND tp_origem = p_origem_op.
* >> Início da inclusão: FORM VERIFICA_OPERACAO
ENDSELECT.
* << Fim da inclusão
IF sy-subrc EQ 0.
p_existe = 'X'.
ENDIF.
ELSE.
SELECT SINGLE *
...
...
v_embimp,
v_freteexp,
v_freteimp,
v_segexp,
v_segimp,
v_pedcomp,
v_sorigem,
v_comagente,
v_prestconta,
v_despimp,
* >> Início da inclusão: FORM DETERMINA_ORIGEM
v_fretepc,
v_segpc,
* << Fim da inclusão
v_ordvenda.
IF v_dom_tporigem = 'A'.
v_sorigem = 'X'.
ELSEIF v_dom_tporigem = 'B'.
v_freteimp = 'X'.
ELSEIF v_dom_tporigem = 'C'.
v_segimp = 'X'.
ELSEIF v_dom_tporigem = 'D'.
v_embimp = 'X'.
ELSEIF v_dom_tporigem = 'E'.
...
...
ELSEIF v_dom_tporigem = 'H'.
v_embexp = 'X'.
ELSEIF v_dom_tporigem = 'I'.
v_comagente = 'X'.
ELSEIF v_dom_tporigem = 'J'.
v_prestconta = 'X'.
ELSEIF v_dom_tporigem = 'K'.
v_pedcomp = 'X'.
ELSEIF v_dom_tporigem = 'L'.
v_ordvenda = 'X'.
* >> Início da inclusão: FORM DETERMINA_ORIGEM
ELSEIF v_dom_tporigem = 'M'.
v_fretepc = 'X'.
ELSEIF v_dom_tporigem = 'N'.
v_segpc = 'X'.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM busca_comissao_agente USING p_novo
CHANGING p_erro.
TYPES:
BEGIN OF ty_result,
nrseq TYPE /pws/zycet010-nrseq,
lifnr TYPE /pws/zycet010-lifnr,
waers TYPE /pws/zycet010-waers,
vlcomis TYPE /pws/zycet010-vlcomis,
...
...
/pws/zycat030-tp_origem = 'EI' OR
/pws/zycat030-tp_origem = 'DI'.
v_proces = 'FI'.
ELSEIF /pws/zycat030-tp_origem = 'FE' OR
/pws/zycat030-tp_origem = 'SE' OR
/pws/zycat030-tp_origem = 'EE' OR
/pws/zycat030-tp_origem = 'CA'.
v_proces = 'FE'.
ELSEIF /pws/zycat030-tp_origem = 'PT'.
v_proces = 'PT'.
* >> Início da exclusão: FORM BUSCA_PARAMETROS_CAMPOS
ELSEIF /pws/zycat030-tp_origem = 'PC'.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_PARAMETROS_CAMPOS
ELSEIF /pws/zycat030-tp_origem = 'PC' OR
/pws/zycat030-tp_origem = 'FP' OR
/pws/zycat030-tp_origem = 'SP'.
* << Fim da inclusão
v_proces = 'PC'.
ELSEIF /pws/zycat030-tp_origem = 'OV'.
v_proces = 'OV'.
ENDIF.
CLEAR: wa_zycat031-data_ini,
wa_zycat031-data_fim.
LOOP AT itab_zycat048 INTO wa_zycat048 WHERE processo = v_proces.
CASE wa_zycat048-campo.
WHEN 'DT_INI'.
IF v_proces = 'FI'.
...
...
FROM ekko
INTO TABLE itab_ekko
WHERE ebeln IN r_pcompr
AND lifnr IN r_fornpc
AND waers IN r_pmoeda.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-i25 text-i26.
p_erro = 'X'.
EXIT.
ENDIF.
* >> Início da inclusão: FORM BUSCA_PEDIDO_COMPRA_2
REFRESH itab_zycit003aux.
SELECT * FROM /pws/zycit003
INTO TABLE itab_zycit003aux
FOR ALL ENTRIES IN itab_ekko
WHERE ebeln = itab_ekko-ebeln.
* << Fim da inclusão
LOOP AT itab_ekko INTO wa_ekko.
v_tabix = sy-tabix.
PERFORM verifica_operacao USING wa_ekko-ebeln
'PC'
* >> Início da inclusão: FORM BUSCA_PEDIDO_COMPRA_2
CHANGING v_existe.
IF v_existe = 'X'.
MESSAGE i061 WITH text-e35 wa_ekko-ebeln text-i32.
DELETE itab_ekko INDEX v_tabix.
ELSE.
LOOP AT itab_zycit003aux INTO wa_zycit003aux
WHERE ebeln = wa_ekko-ebeln.
PERFORM verifica_operacao USING wa_zycit003aux-nrseq
'EI'
* << Fim da inclusão
CHANGING v_existe.
IF v_existe = 'X'.
MESSAGE i061 WITH text-e35 wa_ekko-ebeln text-i32.
DELETE itab_ekko INDEX v_tabix.
* >> Início da inclusão: FORM BUSCA_PEDIDO_COMPRA_2
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDLOOP.
...
...
itab_vbap_aux[] = itab_vbap[].
DELETE ADJACENT DUPLICATES FROM itab_vbap_aux COMPARING j_1bbranch.
DESCRIBE TABLE itab_vbap_aux LINES v_total_reg.
IF v_total_reg > 1.
MESSAGE i015 WITH text-i51 text-i52.
p_erro = 'X'.
EXIT.
ENDIF.
CLEAR: wa_vbak,
wa_vbap.
* >> Início da inclusão: FORM BUSCA_ORDEM_VENDA
REFRESH itab_zycet002aux.
SELECT * FROM /pws/zycet002
INTO TABLE itab_zycet002aux
FOR ALL ENTRIES IN itab_vbap
WHERE vbeln_va = itab_vbap-vbeln.
* << Fim da inclusão
LOOP AT itab_vbak INTO wa_vbak.
LOOP AT itab_vbap INTO wa_vbap WHERE vbeln = wa_vbak-vbeln.
v_tabix = sy-tabix.
WRITE wa_vbap-posnr TO v_posnr RIGHT-JUSTIFIED.
OVERLAY v_posnr WITH '0000000000'.
PERFORM verifica_operacao_2 USING wa_vbak-vbeln
v_posnr
wa_vbak-waerk
''
'OV'
CHANGING v_existe
v_ras_rvs.
IF v_existe = 'X'.
MESSAGE i061 WITH text-e37 wa_vbak-vbeln wa_vbap-posnr text-e36.
DELETE itab_vbap INDEX v_tabix.
* >> Início da inclusão: FORM BUSCA_ORDEM_VENDA
ELSE.
LOOP AT itab_zycet002aux INTO wa_zycet002aux
WHERE vbeln_va = wa_vbap-vbeln.
PERFORM verifica_operacao USING wa_zycet002aux-nrseq
'EE'
CHANGING v_existe.
IF v_existe EQ 'X'.
MESSAGE i061 WITH text-i30 wa_zycet002aux-nrseq text-i32.
DELETE itab_vbak WHERE vbeln = wa_vbak-vbeln.
DELETE itab_vbap WHERE vbeln = wa_vbak-vbeln.
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ENDLOOP.
IF p_novo = 'N'.
LOOP AT itab_vbak INTO wa_vbak.
LOOP AT itab_vbap INTO wa_vbap WHERE vbeln = wa_vbak-vbeln.
v_tabix = sy-tabix.
WRITE wa_vbap-posnr TO v_posnr RIGHT-JUSTIFIED.
OVERLAY v_posnr WITH '0000000000'.
READ TABLE itab_zycat031t
...
...
ELSEIF screen-name(8) = 'R_PCOMPR' OR
screen-name(10) = '%_R_PCOMPR' OR
screen-name(6) = 'R_ITEM' OR
screen-name(8) = '%_R_ITEM' OR
screen-name(8) = 'R_CENTRO' OR
screen-name(10) = '%_R_CENTRO' OR
screen-name(8) = 'R_FORNPC' OR
screen-name(10) = '%_R_FORNPC' OR
screen-name(8) = 'R_PMOEDA' OR
screen-name(10) = '%_R_PMOEDA'.
* >> Início da exclusão: FORM SET_SCREEN_ORIGEM_4
IF NOT v_pedcomp IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SET_SCREEN_ORIGEM_4
IF NOT v_pedcomp IS INITIAL OR
NOT v_fretepc IS INITIAL OR
NOT v_segpc IS INITIAL.
* << Fim da inclusão
screen-input = '1'.
screen-active = '1'.
CLEAR: r_embimp, r_embexp, r_fornec, r_filial, r_moeda,
r_vlocal, r_ordem, r_client, r_vmoeda, r_forimp,
r_filimp, r_moeimp, r_forexp.
REFRESH: r_embimp, r_embexp, r_fornec, r_filial, r_moeda,
r_vlocal, r_ordem, r_client, r_vmoeda, r_forimp,
r_filimp, r_moeimp, r_forexp.
ELSE.
screen-input = '0'.
...
...
DATA: END OF itab_zycat046.
DATA: BEGIN OF itab_zycet156 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet156.
DATA: END OF itab_zycet156.
DATA: BEGIN OF itab_zycet001_del OCCURS 0.
INCLUDE STRUCTURE itab_zycet001.
DATA: END OF itab_zycet001_del.
DATA: BEGIN OF itab_zycet008_del OCCURS 0.
INCLUDE STRUCTURE itab_zycet008.
DATA: END OF itab_zycet008_del.
* >> Início da inclusão: FORM BUSCA_EMB_EXP_3
DATA: v_posnr TYPE /pws/zycat031-despach,
v_ras_rvs TYPE /pws/zycat030-nrseq.
* << Fim da inclusão
SELECT nrseq bukrs dtemb codportd tipo_emb
dtaverb werks
FROM /pws/zycet001
INTO TABLE itab_zycet001
WHERE nrseq IN r_embexp.
IF NOT r_forexp[] IS INITIAL.
DELETE itab_zycet001 WHERE codportd NE r_forexp-low.
ENDIF.
IF sy-subrc NE 0.
p_erro = 'X'.
MESSAGE i015 WITH text-i25 text-i26.
EXIT.
ENDIF.
* >> Início da inclusão: FORM BUSCA_EMB_EXP_3
REFRESH itab_zycet002.
SELECT * FROM /pws/zycet002
INTO TABLE itab_zycet002aux
FOR ALL ENTRIES IN itab_zycet001
WHERE nrseq = itab_zycet001-nrseq.
* << Fim da inclusão
LOOP AT itab_zycet001.
v_tabix = sy-tabix.
IF itab_zycet001-tipo_emb NE 'E'.
MESSAGE i061 WITH text-i30 itab_zycet001-nrseq text-i31.
DELETE itab_zycet001 INDEX v_tabix.
ELSE.
PERFORM verifica_operacao USING itab_zycet001-nrseq
'EE'
CHANGING v_existe.
* >> Início da inclusão: FORM BUSCA_EMB_EXP_3
IF v_existe EQ 'X'.
MESSAGE i061 WITH text-i30 itab_zycet001-nrseq text-i32.
DELETE itab_zycet001 INDEX v_tabix.
ELSE.
LOOP AT itab_zycet002aux INTO wa_zycet002aux
WHERE nrseq = itab_zycet001-nrseq.
WRITE wa_zycet002aux-aupos TO v_posnr RIGHT-JUSTIFIED.
OVERLAY v_posnr WITH '0000000000'.
PERFORM verifica_operacao_2 USING wa_zycet002aux-vbeln_va
v_posnr
wa_zycet002aux-waers
''
'OV'
CHANGING v_existe
v_ras_rvs.
* << Fim da inclusão
IF v_existe EQ 'X'.
MESSAGE i061 WITH text-i30 itab_zycet001-nrseq text-i32.
DELETE itab_zycet001 INDEX v_tabix.
* >> Início da inclusão: FORM BUSCA_EMB_EXP_3
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDLOOP.
...
...
END OF itab_zycit006.
DATA: BEGIN OF itab_zycat046 OCCURS 0.
INCLUDE STRUCTURE /pws/zycat046.
DATA: END OF itab_zycat046.
DATA: BEGIN OF itab_zycit001_del OCCURS 0.
INCLUDE STRUCTURE itab_zycit001.
DATA: END OF itab_zycit001_del.
DATA: BEGIN OF itab_zycit006_del OCCURS 0.
INCLUDE STRUCTURE itab_zycit006.
DATA: END OF itab_zycit006_del.
* >> Início da inclusão: FORM BUSCA_EMB_IMP_3
DATA: wa_zycat003 TYPE /pws/zycat003.
* << Fim da inclusão
SELECT nrseq bukrs waers j_1bbranch
modalidade dtinicio
FROM /pws/zycit001
INTO TABLE itab_zycit001
WHERE nrseq IN r_embimp.
IF NOT r_filimp[] IS INITIAL.
DELETE itab_zycit001 WHERE j_1bbranch NE r_filimp-low.
ENDIF.
IF NOT r_moeimp[] IS INITIAL.
DELETE itab_zycit001 WHERE waers NE r_moeimp-low.
ENDIF.
IF itab_zycit001[] IS INITIAL.
p_erro = 'X'.
MESSAGE i015 WITH text-i25 text-i26.
EXIT.
ELSE.
* >> Início da inclusão: FORM BUSCA_EMB_IMP_3
REFRESH itab_zycit003.
SELECT * FROM /pws/zycit003
INTO TABLE itab_zycit003aux
FOR ALL ENTRIES IN itab_zycit001
WHERE nrseq = itab_zycit001-nrseq.
* << Fim da inclusão
LOOP AT itab_zycit001.
v_tabix = sy-tabix.
IF itab_zycit001-modalidade NE '02'.
MESSAGE i061 WITH text-i30 itab_zycit001-nrseq text-i31.
DELETE itab_zycit001 INDEX v_tabix.
ELSE.
PERFORM verifica_operacao USING itab_zycit001-nrseq
'EI'
* >> Início da inclusão: FORM BUSCA_EMB_IMP_3
CHANGING v_existe.
IF v_existe EQ 'X'.
MESSAGE i061 WITH text-i30 itab_zycit001-nrseq text-i32.
DELETE itab_zycit001 INDEX v_tabix.
ELSE.
LOOP AT itab_zycit003aux INTO wa_zycit003aux
WHERE nrseq = itab_zycit001-nrseq.
PERFORM verifica_operacao USING wa_zycit003aux-ebeln
'PC'
* << Fim da inclusão
CHANGING v_existe.
IF v_existe EQ 'X'.
MESSAGE i061 WITH text-i30 itab_zycit001-nrseq text-i32.
DELETE itab_zycit001 INDEX v_tabix.
ENDIF.
* >> Início da inclusão: FORM BUSCA_EMB_IMP_3
ENDLOOP.
ENDIF.
* << Fim da inclusão
ENDIF.
...
...
v_matnr = 'FRT'.
ELSEIF NOT v_segimp IS INITIAL.
v_tp_origem = 'SI'.
v_tp_fatura = '03'.
v_matnr = 'SEG'.
ENDIF.
SELECT nrseqce nrseq
FROM /pws/zycit094
INTO TABLE itab_zycit094
WHERE nrseq IN r_embimp.
* >> Início da inclusão: FORM BUSCA_FRETE_SEG_IMP_3
IF NOT itab_zycit094 IS INITIAL.
REFRESH itab_zycit003aux.
SELECT * FROM /pws/zycit003
INTO TABLE itab_zycit003aux
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq.
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycit094.
v_tabix = sy-tabix.
PERFORM verifica_operacao USING itab_zycit094-nrseq
v_tp_origem
* >> Início da inclusão: FORM BUSCA_FRETE_SEG_IMP_3
CHANGING v_existe.
IF v_existe = 'X'.
MESSAGE i061 WITH text-i30 itab_zycit094-nrseq text-i32.
DELETE itab_zycit094 INDEX v_tabix.
ELSE.
LOOP AT itab_zycit003aux INTO wa_zycit003aux
WHERE nrseq = itab_zycit094-nrseq.
CASE v_tp_fatura.
WHEN 'FI'.
PERFORM verifica_operacao USING wa_zycit003aux-ebeln
'FP'
* << Fim da inclusão
CHANGING v_existe.
* >> Início da inclusão: FORM BUSCA_FRETE_SEG_IMP_3
WHEN 'SI'.
PERFORM verifica_operacao USING wa_zycit003aux-ebeln
'SP'
CHANGING v_existe.
ENDCASE.
* << Fim da inclusão
IF v_existe = 'X'.
MESSAGE i061 WITH text-i30 itab_zycit094-nrseq text-i32.
DELETE itab_zycit094 INDEX v_tabix.
* >> Início da inclusão: FORM BUSCA_FRETE_SEG_IMP_3
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDLOOP.
IF p_novo = 'N'.
LOOP AT itab_zycit094.
v_tabix = sy-tabix.
READ TABLE itab_zycat031t
WITH KEY nrseq_origem = itab_zycit094-nrseq.
IF sy-subrc EQ 0.
MESSAGE i061 WITH text-i30 itab_zycit094-nrseq text-i32.
DELETE itab_zycit094 INDEX v_tabix.
...
...
WHERE nrseq_arq = itab_zycat034-nrseq_arq.
ENDIF.
DELETE itab_zycat038 WHERE processo NE 'IRVS' AND
processo NE 'IRAS'.
DELETE itab_zycat038 WHERE prot_transm IS initial.
IF itab_zycat038[] IS INITIAL.
wa_fcode-ucomm = 'DELE'.
APPEND wa_fcode TO itab_fcode.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM busca_frete_pc USING p_novo
CHANGING p_erro.
DATA:
itab_ekko TYPE STANDARD TABLE OF ekko,
wa_ekko TYPE ekko,
itab_ekpo TYPE STANDARD TABLE OF ekpo,
wa_ekpo TYPE ekpo,
itab_konv TYPE STANDARD TABLE OF konv,
wa_konv TYPE konv,
itab_ekpa TYPE STANDARD TABLE OF ekpa,
wa_ekpa TYPE ekpa,
itab_eket TYPE STANDARD TABLE OF eket,
wa_eket TYPE eket,
itab_t001w TYPE TABLE OF t001w,
wa_t001w TYPE t001w,
itab_zycbt007 TYPE STANDARD TABLE OF /pws/zycbt007,
wa_zycbt007 TYPE /pws/zycbt007,
itab_zycat046 TYPE STANDARD TABLE OF /pws/zycat046,
wa_zycat046 TYPE /pws/zycat046,
itab_zycat053 TYPE STANDARD TABLE OF /pws/zycat053,
wa_zycat053 TYPE /pws/zycat053,
itab_zycit030 TYPE STANDARD TABLE OF /pws/zycit030,
wa_zycit030 TYPE /pws/zycit030,
itab_zycit031 TYPE STANDARD TABLE OF /pws/zycit031,
wa_zycit031 TYPE /pws/zycit031,
v_tabix TYPE sy-tabix,
v_bukrs_ext TYPE /pws/zycat030-bukrs_ext,
v_operacao TYPE /pws/zycat031-operacao,
v_existe(1) TYPE c.
CLEAR /pws/zycat030.
REFRESH itab_zycat031t.
SELECT *
FROM ekko
INTO TABLE itab_ekko
WHERE ebeln IN r_pcompr
AND waers IN r_pmoeda.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-i25 text-i26.
p_erro = 'X'.
EXIT.
ENDIF.
SELECT * FROM /pws/zycit003
INTO TABLE itab_zycit003aux
FOR ALL ENTRIES IN itab_ekko
WHERE ebeln = itab_ekko-ebeln.
SELECT * FROM /pws/zycbt007
INTO TABLE itab_zycbt007.
LOOP AT itab_ekko INTO wa_ekko.
v_tabix = sy-tabix.
CLEAR wa_zycbt007.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = wa_ekko-bukrs.
IF sy-subrc NE 0.
READ TABLE itab_zycbt007 INTO wa_zycbt007 INDEX 1.
ENDIF.
IF wa_ekko-waers = wa_zycbt007-waersb.
DELETE itab_ekko INDEX v_tabix.
CONTINUE.
ENDIF.
PERFORM verifica_operacao USING wa_ekko-ebeln
'FP'
CHANGING v_existe.
IF v_existe = 'X'.
MESSAGE i061 WITH text-e40 wa_ekko-ebeln text-i32.
DELETE itab_ekko INDEX v_tabix.
ELSE.
LOOP AT itab_zycit003aux INTO wa_zycit003aux
WHERE ebeln = wa_ekko-ebeln.
PERFORM verifica_operacao USING wa_zycit003aux-nrseq
'FI'
CHANGING v_existe.
IF v_existe = 'X'.
MESSAGE i061 WITH text-e40 wa_ekko-ebeln text-i32.
DELETE itab_ekko INDEX v_tabix.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
IF itab_ekko[] IS INITIAL.
MESSAGE i015 WITH text-i25 text-i26.
p_erro = 'X'.
EXIT.
ENDIF.
SELECT *
FROM ekpo
INTO TABLE itab_ekpo
FOR ALL ENTRIES IN itab_ekko
WHERE ebeln = itab_ekko-ebeln
AND werks IN r_centro.
IF itab_ekpo[] IS INITIAL.
MESSAGE i015 WITH text-i25 text-i26.
p_erro = 'X'.
EXIT.
ENDIF.
SELECT * FROM /pws/zycit031
INTO TABLE itab_zycit031
FOR ALL ENTRIES IN itab_ekko
WHERE inco1 = itab_ekko-inco1
AND land1 = 'BR'.
SELECT *
FROM /pws/zycat046
INTO TABLE itab_zycat046
WHERE tpprocesso = 'A'.
SELECT * FROM /pws/zycat053
INTO TABLE itab_zycat053.
SELECT * FROM /pws/zycit030
INTO TABLE itab_zycit030
WHERE codmod = 'D'
AND codigo = 'FRETEI'.
SELECT * FROM konv
INTO TABLE itab_konv
FOR ALL ENTRIES IN itab_ekko
WHERE knumv = itab_ekko-knumv.
SELECT * FROM ekpa
INTO TABLE itab_ekpa
FOR ALL ENTRIES IN itab_ekko
WHERE ebeln = itab_ekko-ebeln.
SELECT *
FROM eket
INTO TABLE itab_eket
FOR ALL ENTRIES IN itab_ekpo
WHERE ebeln = itab_ekpo-ebeln
AND ebelp = itab_ekpo-ebelp.
SELECT * FROM t001w
INTO TABLE itab_t001w
FOR ALL ENTRIES IN itab_ekpo
WHERE werks = itab_ekpo-werks.
CLEAR: /pws/zycat030, v_operacao.
LOOP AT itab_ekko INTO wa_ekko.
CLEAR: wa_zycit031, wa_zycat031,
v_bukrs_ext.
READ TABLE itab_zycit031 INTO wa_zycit031
WITH KEY inco1 = wa_ekko-inco1.
CASE wa_zycit031-inco1_ci.
WHEN 'CIF' OR 'C&F'.
v_bukrs_ext = wa_ekko-lifnr.
WHEN 'C+I' OR 'FOB'.
LOOP AT itab_zycat053 INTO wa_zycat053
WHERE tp_prest = 'FRT'.
READ TABLE itab_ekpa INTO wa_ekpa
WITH KEY ebeln = wa_ekko-ebeln
parvw = wa_zycat053-parvw.
IF sy-subrc EQ 0.
v_bukrs_ext = wa_ekpa-lifn2.
EXIT.
ENDIF.
ENDLOOP.
ENDCASE.
CHECK NOT v_bukrs_ext IS INITIAL.
CHECK v_bukrs_ext IN r_fornpc.
IF NOT /pws/zycat030-bukrs IS INITIAL AND
NOT /pws/zycat030-waers IS INITIAL AND
NOT /pws/zycat030-bukrs_ext IS INITIAL..
IF /pws/zycat030-bukrs NE wa_ekko-bukrs OR
/pws/zycat030-waers NE wa_ekko-waers OR
/pws/zycat030-bukrs_ext NE v_bukrs_ext.
MESSAGE i061
WITH text-i49 wa_ekko-ebeln text-i50.
p_erro = 'X'.
EXIT.
ENDIF.
ENDIF.
LOOP AT itab_ekpo INTO wa_ekpo
WHERE ebeln = wa_ekko-ebeln.
CLEAR wa_t001w.
READ TABLE itab_t001w INTO wa_t001w
WITH KEY werks = wa_ekpo-werks.
IF NOT /pws/zycat030-j_1bbranch IS INITIAL AND
NOT wa_t001w-j_1bbranch IS INITIAL AND
/pws/zycat030-j_1bbranch NE wa_t001w-j_1bbranch.
MESSAGE i061
WITH text-i49 wa_ekko-ebeln text-i50.
p_erro = 'X'.
EXIT.
ENDIF.
/pws/zycat030-j_1bbranch = wa_t001w-j_1bbranch.
LOOP AT itab_konv INTO wa_konv
WHERE knumv = wa_ekko-knumv
AND kposn = wa_ekpo-ebelp.
READ TABLE itab_zycit030 INTO wa_zycit030
WITH KEY codigo = 'FRETEI'
kschl = wa_konv-kschl.
IF sy-subrc EQ 0.
wa_zycat031-valor = wa_zycat031-valor + wa_konv-kwert.
ENDIF.
ENDLOOP.
ENDLOOP.
CHECK NOT wa_zycat031-valor IS INITIAL.
v_operacao = v_operacao + 1.
MOVE:
wa_ekko-bukrs TO /pws/zycat030-bukrs,
v_bukrs_ext TO /pws/zycat030-bukrs_ext,
'A' TO /pws/zycat030-tp_processo,
wa_ekko-waers TO /pws/zycat030-waers,
'FP' TO /pws/zycat030-tp_origem.
/pws/zycat030-valor = /pws/zycat030-valor + wa_zycat031-valor.
/pws/zycat030-saldo = /pws/zycat030-valor.
PERFORM informacoes_cabecalho.
CHECK v_land1 NE 'BR'.
READ TABLE itab_zycat046 INTO wa_zycat046
WITH KEY matnr = 'FRT'.
MOVE:
v_operacao TO wa_zycat031-operacao,
wa_zycat046-nbs TO wa_zycat031-nbs,
wa_zycat046-modo_prest TO wa_zycat031-modo_prest,
wa_zycat031-valor TO wa_zycat031-saldo,
/pws/zycat030-cod_pais TO wa_zycat031-cod_pais,
wa_ekpo-ebeln TO wa_zycat031-nrseq_origem.
MOVE-CORRESPONDING wa_ekko TO wa_ekko_aux.
PERFORM busca_parametros_campos.
APPEND wa_zycat031 TO itab_zycat031t.
ENDLOOP.
IF itab_zycat031t[] IS INITIAL.
MESSAGE i015 WITH text-i25 text-i26.
p_erro = 'X'.
ENDIF.
ENDFORM.
FORM busca_seguro_pc USING p_novo
CHANGING p_erro.
DATA:
itab_ekko TYPE STANDARD TABLE OF ekko,
wa_ekko TYPE ekko,
itab_ekpo TYPE STANDARD TABLE OF ekpo,
wa_ekpo TYPE ekpo,
itab_konv TYPE STANDARD TABLE OF konv,
wa_konv TYPE konv,
itab_ekpa TYPE STANDARD TABLE OF ekpa,
wa_ekpa TYPE ekpa,
itab_eket TYPE STANDARD TABLE OF eket,
wa_eket TYPE eket,
itab_t001w TYPE TABLE OF t001w,
wa_t001w TYPE t001w,
itab_zycbt007 TYPE STANDARD TABLE OF /pws/zycbt007,
wa_zycbt007 TYPE /pws/zycbt007,
itab_zycat046 TYPE STANDARD TABLE OF /pws/zycat046,
wa_zycat046 TYPE /pws/zycat046,
itab_zycat053 TYPE STANDARD TABLE OF /pws/zycat053,
wa_zycat053 TYPE /pws/zycat053,
itab_zycit030 TYPE STANDARD TABLE OF /pws/zycit030,
wa_zycit030 TYPE /pws/zycit030,
itab_zycit031 TYPE STANDARD TABLE OF /pws/zycit031,
wa_zycit031 TYPE /pws/zycit031,
v_tabix TYPE sy-tabix,
v_bukrs_ext TYPE /pws/zycat030-bukrs_ext,
v_operacao TYPE /pws/zycat031-operacao,
v_existe(1) TYPE c.
CLEAR /pws/zycat030.
REFRESH itab_zycat031t.
SELECT *
FROM ekko
INTO TABLE itab_ekko
WHERE ebeln IN r_pcompr
AND waers IN r_pmoeda.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-i25 text-i26.
p_erro = 'X'.
EXIT.
ENDIF.
SELECT * FROM /pws/zycit003
INTO TABLE itab_zycit003aux
FOR ALL ENTRIES IN itab_ekko
WHERE ebeln = itab_ekko-ebeln.
SELECT * FROM /pws/zycbt007
INTO TABLE itab_zycbt007.
LOOP AT itab_ekko INTO wa_ekko.
v_tabix = sy-tabix.
CLEAR wa_zycbt007.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = wa_ekko-bukrs.
IF sy-subrc NE 0.
READ TABLE itab_zycbt007 INTO wa_zycbt007 INDEX 1.
ENDIF.
IF wa_ekko-waers = wa_zycbt007-waersb.
DELETE itab_ekko INDEX v_tabix.
CONTINUE.
ENDIF.
PERFORM verifica_operacao USING wa_ekko-ebeln
'SP'
CHANGING v_existe.
IF v_existe = 'X'.
MESSAGE i061 WITH text-e40 wa_ekko-ebeln text-i32.
DELETE itab_ekko INDEX v_tabix.
ELSE.
LOOP AT itab_zycit003aux INTO wa_zycit003aux
WHERE ebeln = wa_ekko-ebeln.
PERFORM verifica_operacao USING wa_zycit003aux-nrseq
'SI'
CHANGING v_existe.
IF v_existe = 'X'.
MESSAGE i061 WITH text-e40 wa_ekko-ebeln text-i32.
DELETE itab_ekko INDEX v_tabix.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
IF itab_ekko[] IS INITIAL.
MESSAGE i015 WITH text-i25 text-i26.
p_erro = 'X'.
EXIT.
ENDIF.
SELECT *
FROM ekpo
INTO TABLE itab_ekpo
FOR ALL ENTRIES IN itab_ekko
WHERE ebeln = itab_ekko-ebeln
AND werks IN r_centro.
IF itab_ekpo[] IS INITIAL.
MESSAGE i015 WITH text-i25 text-i26.
p_erro = 'X'.
EXIT.
ENDIF.
SELECT * FROM /pws/zycit031
INTO TABLE itab_zycit031
FOR ALL ENTRIES IN itab_ekko
WHERE inco1 = itab_ekko-inco1
AND land1 = 'BR'.
SELECT *
FROM /pws/zycat046
INTO TABLE itab_zycat046
WHERE tpprocesso = 'A'.
SELECT * FROM /pws/zycat053
INTO TABLE itab_zycat053.
SELECT * FROM /pws/zycit030
INTO TABLE itab_zycit030
WHERE codmod = 'D'
AND codigo = 'SEGURO'.
SELECT * FROM konv
INTO TABLE itab_konv
FOR ALL ENTRIES IN itab_ekko
WHERE knumv = itab_ekko-knumv.
SELECT * FROM ekpa
INTO TABLE itab_ekpa
FOR ALL ENTRIES IN itab_ekko
WHERE ebeln = itab_ekko-ebeln.
SELECT *
FROM eket
INTO TABLE itab_eket
FOR ALL ENTRIES IN itab_ekpo
WHERE ebeln = itab_ekpo-ebeln
AND ebelp = itab_ekpo-ebelp.
SELECT * FROM t001w
INTO TABLE itab_t001w
FOR ALL ENTRIES IN itab_ekpo
WHERE werks = itab_ekpo-werks.
CLEAR: /pws/zycat030, v_operacao.
LOOP AT itab_ekko INTO wa_ekko.
CLEAR: wa_zycit031, wa_zycat031,
v_bukrs_ext.
READ TABLE itab_zycit031 INTO wa_zycit031
WITH KEY inco1 = wa_ekko-inco1.
CASE wa_zycit031-inco1_ci.
WHEN 'CIF' OR 'C+I'.
v_bukrs_ext = wa_ekko-lifnr.
WHEN 'C&F' OR 'FOB'.
LOOP AT itab_zycat053 INTO wa_zycat053
WHERE tp_prest = 'SEG'.
READ TABLE itab_ekpa INTO wa_ekpa
WITH KEY ebeln = wa_ekko-ebeln
parvw = wa_zycat053-parvw.
IF sy-subrc EQ 0.
v_bukrs_ext = wa_ekpa-lifn2.
EXIT.
ENDIF.
ENDLOOP.
ENDCASE.
CHECK NOT v_bukrs_ext IS INITIAL.
CHECK v_bukrs_ext IN r_fornpc.
IF NOT /pws/zycat030-bukrs IS INITIAL AND
NOT /pws/zycat030-waers IS INITIAL AND
NOT /pws/zycat030-bukrs_ext IS INITIAL..
IF /pws/zycat030-bukrs NE wa_ekko-bukrs OR
/pws/zycat030-waers NE wa_ekko-waers OR
/pws/zycat030-bukrs_ext NE v_bukrs_ext.
MESSAGE i061
WITH text-i49 wa_ekko-ebeln text-i50.
p_erro = 'X'.
EXIT.
ENDIF.
ENDIF.
LOOP AT itab_ekpo INTO wa_ekpo
WHERE ebeln = wa_ekko-ebeln.
CLEAR wa_t001w.
READ TABLE itab_t001w INTO wa_t001w
WITH KEY werks = wa_ekpo-werks.
IF NOT /pws/zycat030-j_1bbranch IS INITIAL AND
NOT wa_t001w-j_1bbranch IS INITIAL AND
/pws/zycat030-j_1bbranch NE wa_t001w-j_1bbranch.
MESSAGE i061
WITH text-i49 wa_ekko-ebeln text-i50.
p_erro = 'X'.
EXIT.
ENDIF.
/pws/zycat030-j_1bbranch = wa_t001w-j_1bbranch.
LOOP AT itab_konv INTO wa_konv
WHERE knumv = wa_ekko-knumv
AND kposn = wa_ekpo-ebelp.
READ TABLE itab_zycit030 INTO wa_zycit030
WITH KEY codigo = 'SEGURO'
kschl = wa_konv-kschl.
IF sy-subrc EQ 0.
wa_zycat031-valor = wa_zycat031-valor + wa_konv-kwert.
ENDIF.
ENDLOOP.
ENDLOOP.
CHECK NOT wa_zycat031-valor IS INITIAL.
v_operacao = v_operacao + 1.
MOVE:
wa_ekko-bukrs TO /pws/zycat030-bukrs,
v_bukrs_ext TO /pws/zycat030-bukrs_ext,
'A' TO /pws/zycat030-tp_processo,
wa_ekko-waers TO /pws/zycat030-waers,
'SP' TO /pws/zycat030-tp_origem.
/pws/zycat030-valor = /pws/zycat030-valor + wa_zycat031-valor.
/pws/zycat030-saldo = /pws/zycat030-valor.
PERFORM informacoes_cabecalho.
CHECK v_land1 NE 'BR'.
READ TABLE itab_zycat046 INTO wa_zycat046
WITH KEY matnr = 'SEG'.
MOVE:
v_operacao TO wa_zycat031-operacao,
wa_zycat046-nbs TO wa_zycat031-nbs,
wa_zycat046-modo_prest TO wa_zycat031-modo_prest,
wa_zycat031-valor TO wa_zycat031-saldo,
/pws/zycat030-cod_pais TO wa_zycat031-cod_pais,
wa_ekpo-ebeln TO wa_zycat031-nrseq_origem.
MOVE-CORRESPONDING wa_ekko TO wa_ekko_aux.
PERFORM busca_parametros_campos.
APPEND wa_zycat031 TO itab_zycat031t.
ENDLOOP.
IF itab_zycat031t[] IS INITIAL.
MESSAGE i015 WITH text-i25 text-i26.
p_erro = 'X'.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA011TOP
...
value '/PWS/SAPMZYCA011',
v_identificador type /pws/zyglt390-identificador,
v_sorigem type c,
v_freteimp type c,
v_segimp type c,
v_embimp type c,
v_freteexp type c,
v_segexp type c,
v_embexp type c,
v_pedcomp type c,
* >> Início da inclusão:
v_fretepc type c,
v_segpc type c,
* << Fim da inclusão
v_comagente type c,
v_prestconta type c,
v_stceg type lfa1-stceg,
v_tipo_origem(60) type c,
v_despimp type c,
v_ordvenda type c,
v_stcd1 type kna1-stcd1,
v_stcd2 type kna1-stcd2,
v_stcd3 type kna1-stcd3,
v_stcd4 type kna1-stcd4,
...
...
wa_zycet047_aux type /pws/zycet047,
wa_zycit001_aux type ty_zycit001,
wa_zycit006_aux type ty_zycit006,
wa_zycit085_aux type ty_zycit085,
wa_zycit093_aux type ty_zycit093,
wa_ekko_aux type ty_ekko,
wa_eket_aux type ty_eket,
wa_vbak type ty_vbak,
wa_vbap type ty_vbap.
data: itab_zycat050 type table of /pws/zycat050.
* >> Início da inclusão:
data: itab_zycit003aux type standard table of /pws/zycit003,
itab_zycet002aux type standard table of /pws/zycet002,
wa_zycit003aux type /pws/zycit003,
wa_zycet002aux type /pws/zycet002.
* << Fim da inclusão
controls: ts_contrato type tabstrip,
tc_oper type tableview using screen '0101',
tc_enq type tableview using screen '0102',
tc_re type tableview using screen '0103'.
data editor type ref to cl_gui_textedit.
data editcontainer type ref to cl_gui_custom_container.
data: gos type ref to /pws/zygl_cl_gos.
selection-screen begin of screen 0004 as subscreen.
select-options:
r_filimp for t001w-j_1bbranch no intervals no-extension,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCA011
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E40
Texto: (23 caracteres)
"Shipping Purchase Order"
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E40
Texto: (25 caracteres)
"Frete do Pedido de Compra"
Comprimento máximo: 25