Beruflich Dokumente
Kultur Dokumente
*& ZSAFE013_NEWLEDGER
*& MasterSAF - Integrao de Dados da Contabilidade
*& Interfaces - SAFX01
*&---------------------------------------------------------------------*
*& DESIGNED BY: MASTERSAF
- ddmmaaaa
*& CODED BY : MASTERSAF
- ddmmaaaa
*& LOCATION : BRAZIL
*&---------------------------------------------------------------------*
REPORT zsafe013_newledger
NO STANDARD PAGE HEADING
MESSAGE-ID zmastersaf.
TABLES: bkpf.
*----------------------------------------------------------------------*
* Includes
*----------------------------------------------------------------------*
INCLUDE zsafhex.
INCLUDE zsaft01.
INCLUDE zsafx01.
************************************************************************
* Declaraes
*
************************************************************************
TABLES: t003t,
tbslt,
zsafa,
zsafb,
zsaf1,
zsaf2,
zsaf4.
TYPE c,
TYPE c,
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
c,
c,
i,
n,
n,
c,
i,
c,
c.
LIKE glt0-rbusa,
LIKE zsaf1-branch,
"DGMSO
USING '01'.
*&--------------------------------------------------------------------END-OF-SELECTION.
*&---------------------------------------------------------------------
*&---------------------------------------------------------------------*
*&
Form INIT
*&---------------------------------------------------------------------*
* inicializa Tabelas internernas e estrutura
*
*----------------------------------------------------------------------*
FORM init.
REFRESH:
gt_zsaft01,
gt_zsafx01.
ENDFORM.
" INIT
*&---------------------------------------------------------------------*
*&
Form PROCESSAR_DADOS
*&---------------------------------------------------------------------*
* Atualiza tabela interna GT_ZSAFT01
*----------------------------------------------------------------------*
FORM processar_dados.
lv-faglflexa = 'FAGLFLEXA'.
*
* DATA: BEGIN OF lx,
*
cliente
LIKE bseg-kunnr,
*
fornecedor LIKE bseg-lifnr,
*
indd_vinc LIKE gs_zsaft01-indd_op_vinc,
*
codg_vinc LIKE gs_zsaft01-codg_op_vinc,
*
END OF lx.
SELECT * FROM t001
INTO CORRESPONDING FIELDS OF TABLE h_t001
WHERE bukrs BETWEEN b1_bukrs_low AND b1_bukrs_high.
LOOP AT h_t001.
CLEAR zsaf1.
SELECT SINGLE * FROM zsaf1 WHERE bukrs = h_t001-bukrs.
CHECK sy-subrc = 0.
v_ini = zsaf1-inicc.
v_tam = 10 - v_ini.
REFRESH: lt_faglflexa.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
**
*
*
*
*
ENDLOOP.
* ENDLOOP.
FREE: gt_bkpf, lt_faglflexa, h_t001.
ENDFORM .
" PROCESSAR_DADOS
*&---------------------------------------------------------------------*
*&
Form PROCESAR_SAIDA
*&---------------------------------------------------------------------*
FORM procesar_saida.
DATA v_tabix TYPE sy-tabix.
SORT gt_zsaft01 BY chave bukrs branch arqvto ASCENDING.
LOOP AT gt_zsaft01 INTO gs_zsaft01.
v_tabix = sy-tabix.
AT NEW bukrs.
SELECT SINGLE * FROM zsafb
WHERE bukrs = gs_zsaft01-bukrs.
ENDAT.
AT NEW branch.
SELECT SINGLE * FROM zsafa
WHERE bukrs = gs_zsaft01-bukrs
AND branch = gs_zsaft01-branch.
ENDAT.
PERFORM preencher_tabela_zsafx01.
AT END OF chave.
PERFORM busca_mascara
USING gs_zsaft01-chave(4)
gs_zsaft01-chave+4(4).
PERFORM gravar_dados USING '01.txt'.
REFRESH gt_zsafx01.
ENDAT.
DELETE gt_zsaft01 INDEX v_tabix.
ENDLOOP.
REFRESH gt_zsaft01.
ENDFORM.
" PROCESAR_SAIDA
*&---------------------------------------------------------------------*
*&
Form PREENCHER_ZSAFT01
*&---------------------------------------------------------------------*
FORM preencher_zsaft01
USING value(pfilial) TYPE any
pe_indd_vinc LIKE gs_zsaft01-indd_op_vinc
pe_codg_vinc LIKE gs_zsaft01-codg_op_vinc.
* Cdigo de Dbito/Crdito
IF ls_faglflexa-drcrk = 'S'.
ls_faglflexa-drcrk = 'D'.
ELSE.
ls_faglflexa-drcrk = 'C'.
ENDIF.
CLEAR gs_zsaft01.
MOVE gs_bkpf-bukrs TO chv-chv1.
IF p_fil = 'X'.
MOVE pfilial TO chv-chv2.
ELSE.
MOVE '0000' TO chv-chv2.
ENDIF.
gs_zsaft01-chave =
gs_zsaft01-bukrs =
gs_zsaft01-branch =
gs_zsaft01-budat =
gs_zsaft01-hkont =
gs_zsaft01-shkzg =
gs_zsaft01-dmbtr =
gs_zsaft01-hist_padr
chv.
ls_faglflexa-rbukrs.
pfilial.
ls_faglflexa-budat.
ls_faglflexa-racct+v_ini(v_tam).
ls_faglflexa-drcrk.
ls_faglflexa-hsl * 100.
= gs_bkpf-blart.
"Cd.Histrico Padro
CONCATENATE ls_faglflexa-docnr
ls_faglflexa-ryear
ls_faglflexa-docln INTO gs_zsaft01-arqvto.
* CONCATENATE 'C'
*
lt_faglflexa-bschl INTO gs_zsaft01-codop.
MOVE ls_faglflexa-bschl TO gs_zsaft01-codop .
* IF NOT ( lt_faglflexa-sgtxt IS INITIAL ).
*
gs_zsaft01-histc = lt_faglflexa-sgtxt.
* ELSE.
SELECT SINGLE * FROM t003t
WHERE spras = p_spras
AND blart = gs_bkpf-blart.
" PREENCHER_ZSAFT01
*&---------------------------------------------------------------------*
*&
Form PREENCHER_TABELA_ZSAFX01
*&---------------------------------------------------------------------*
FORM preencher_tabela_zsafx01.
CLEAR : gs_zsafx01.
MOVE zsafb-codigo
MOVE zsafa-codigo
TO gs_zsafx01-codemp.
TO gs_zsafx01-codfil.
" PREENCHER_TABELA_ZSAFX01
*&---------------------------------------------------------------------*
*&
Form BUSCA_MASCARA
*&---------------------------------------------------------------------*
FORM busca_mascara
USING param1 TYPE any
param2 TYPE any.
v_mascara = 'safx'.
IF p_fil = 'X'.
SELECT SINGLE * FROM zsafa WHERE bukrs = param1
AND branch = param2.
IF sy-subrc = 0.
IF NOT ( zsafa-mascara IS INITIAL ).
v_mascara = zsafa-mascara.
MOVE-CORRESPONDING zsafa TO h_zsafa.
APPEND h_zsafa.
ENDIF.
ENDIF.
ELSE.
SELECT SINGLE * FROM zsafb WHERE bukrs = param1.
IF sy-subrc = 0.
IF NOT ( zsafb-mascara IS INITIAL ).
v_mascara = zsafb-mascara.
MOVE-CORRESPONDING zsafb TO h_zsafb.
APPEND h_zsafb.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
" BUSCA_MASCARA
*&---------------------------------------------------------------------*
*&
Form GRAVAR_DADOS
*&---------------------------------------------------------------------*
FORM gravar_dados
USING param1 TYPE any.
*&=====================================================================
*& ATENO: Utilizar SOMENTE para customizaes do cliente, visando
*&
MODIFICAR os dados gerados pela rotina padro do Mastersaf
*&=====================================================================
PERFORM f_user_exit_trata_dados
" GRAVAR_DADOS
*&---------------------------------------------------------------------*
*&
Form F_OBTEM_DADOS_CLI_FOR
*&---------------------------------------------------------------------*
FORM f_obtem_dados_cli_for
USING pe_cliente
TYPE bseg-kunnr
pe_fornecedor TYPE bseg-lifnr
ps_indd_vinc LIKE gs_zsaft01-indd_op_vinc
ps_codg_vinc LIKE gs_zsaft01-codg_op_vinc.
DATA: lv_indcf LIKE zsaf31-indcf,
lv_parid LIKE zsaf31-parid,
lv_auxl LIKE zsaf31-parid.
CLEAR: lv_indcf,
lv_parid,
ps_indd_vinc,
ps_codg_vinc.
IF NOT pe_cliente IS INITIAL.
lv_indcf
lv_parid
ELSEIF NOT
lv_indcf
lv_parid
ENDIF.
= 'C'.
= pe_cliente.
pe_fornecedor IS INITIAL.
= 'F'.
= pe_fornecedor.
" F_OBTEM_DADOS_CLI_FOR