cancel
Showing results for 
Search instead for 
Did you mean: 

SPED - Bloco G e 0150

Former Member
0 Kudos

Olá, estou tendo problemas para gerar o bloco 0150.. o G está quase concluido, mas ao gerar o arquivo somente com o bloco G selecionado ele deveria gerar registros no bloco 0150, mas não está aparecendo, já debuguei até o ponto que o programa tenta dar um loop na it_0150 mas como a tabela está vazia ele sai do form e não faz nada..

Alguém ja teve esse problema?

Obrigado.

Accepted Solutions (1)

Accepted Solutions (1)

former_member182114
Active Contributor
0 Kudos

Bom dia Renato,

Você debugou a leitura... Faça um debug no ponto onde ele seta o registro 150.

De cara dá pra ver as dependências no G001, G110 e G125 para formar o 0150.


FORM process_block_g .
...
  LOOP AT gs_g001-tab_g110 INTO l_tab_g110.
    LOOP AT l_tab_g110-tab_g125 INTO l_tab_g125.
      LOOP AT l_tab_g125-tab_g130 INTO l_tab_g130.
        CALL METHOD go_cl_j_1befd->set_0150
          EXPORTING
            i_parid          = l_tab_g130-cod_part
            i_filled_by_badi = 'X'
            it_rfc_fields    = gt_rfc_fields.
        LOOP AT l_tab_g130-tab_g140 INTO l_tab_g140.
          IF NOT l_tab_g140-cod_item IS INITIAL.
            CALL METHOD go_cl_j_1befd->set_0200
              EXPORTING
                i_cod_item = l_tab_g140-cod_item
                i_spras    = p_spra.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    ENDLOOP.
  ENDLOOP.

Atenciosamente, Fernando Da Ró

Former Member
0 Kudos

Olá Fernando, estranho aqui está diferente:

*&----


*

*& Include J_1BEFD_BLOCK_G *

*&----


*

*&----


*

*& Form process_reg_g001

*&----


*

FORM process_reg_g001

USING

u_ind_data_g TYPE c.

IF NOT u_ind_data_g IS INITIAL.

gs_g001-reg = const_reg_g001.

gs_g001-ind_mov = '0'.

ELSE.

gs_g001-reg = const_reg_g001.

gs_g001-ind_mov = '1'.

ENDIF.

CLEAR u_ind_data_g.

IF go_cl_j_1befd IS BOUND.

CALL METHOD go_cl_j_1befd->set_block_g

EXPORTING

is_g001 = gs_g001.

ENDIF.

ENDFORM. " process_reg_g001

*&----


*

*& Include J_1BEFD_BLOCK_G_AUX *

*&----


*

*&----


*

*& Form process_block_g

*&----


*

FORM process_block_g .

DATA: l_ind_data_g TYPE c.

IF NOT p_blockg IS INITIAL.

IF go_badi_j_1befd is bound.

CALL METHOD go_badi_j_1befd->set_block_g

CHANGING

cs_fill_g = gs_g001.

ENDIF.

ENDIF.

  • Check if data exist in block g

IF NOT gs_g001-tab_g110 IS INITIAL.

l_ind_data_g = 'X'.

ENDIF.

PERFORM process_reg_g001

USING

l_ind_data_g.

ENDFORM. " Process_block_g

Estes dois includes estão no programa J_1BEFD_MAIN como está diferente do seu vou tentar olhar novamente nas notas da SAP para ver se acho algo...

Obrigado.

former_member182114
Active Contributor
0 Kudos

Bom dia Renato,

SAP Note 1545960 SPED-EFD: Block G - Calls to registers 0150 and 0200

De qualquer forma, é sempre bom estar 100% atualizado com as mudanças, para SPED component XX-CSC-BR-REP.

Atenciosamente, Fernando Da Ró

Former Member
0 Kudos

Olá Fernando a nota 1545960 foi implementada e agora estamos conseguindo gerar todos os blocos necessários!

Agora é só brigar com o validador do arquivo..

Obrigado!

0 Kudos

Após aplicar esta mesma nota tive o seguinte erro:

"L_TAB_G140-COD_ITEM" is not type-compatible with formal parameter "I_COD_ITEM"

No codigo abaixo:

CALL METHOD go_cl_j_1befd->set_0200

EXPORTING

i_cod_item = l_tab_g140-cod_item

i_spras = p_spra.

Verifiquei ambas as estruturas, e o parametro i_cod_item do métodos set_0200 é do tipo MATNR (18 posições) e o campo l_tab_g140-cod_item que é referente campo cod_item da estrutura j_1befds_g_5_g140, é um CHAR60. Ninguém teve este problema?

O tamanho dos campos que passei confere com os seus?

Former Member
0 Kudos

Cara, tenta mudar para char60.. faz um teste e fala se da erro.. abs

0 Kudos

Ambos são campos standard.

Former Member
0 Kudos

pega a modification key e muda para fazer o teste, se isso não resover vc volta o campo..

lembro q esse i_cod_item foi mudado para char 60 em vários métodos por aplicação de notas cara...

abs

0 Kudos

Se eu mudar na mão com certeza funcionará, mas não posso simplesmente fazer isto, a primeira atualização que tiver mata minha mudança, preciso de uma nota para isto, para alterar conforme os padrões da SAP

Former Member
0 Kudos

Cara, o primeiro passo da nota 1545960 pede pra alterar o tipo do campo:

Step 1 - Manual activity

Change the component type of field COD_ITEM from structure J_1BEFDS_G_5_G140 to MATNR.

Step 2

Apply the attached code corrections.

Joã

0 Kudos

Putz, realmente!

Bati o olho na nota e não vi que tinha intervenção manual, valeu o help

Answers (0)