on 01-03-2011 9:05 PM
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.
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ó
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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?
User | Count |
---|---|
13 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.