Alexandre,
Com a técnica do dirty-assign você consegue alterar a maioria das variaveis, estruturas ou tabelas do programa, basta você saber usá-la e encontrar o momento oportuno para isso.
Vamos ao seu exemplo: Campo EXTIPI - ele é preenchido no FORM map_xmli_tab. A tabela é a xmli_tab (guarde esse nome). Após esse form ser chamado, o FORM call_badis_310. é executado. PRONTO! Encontramos o momento oportuno.
Usando a BAdI nova ou velha, o método a ser implementado é o FILL_AUTXML.
Lá dentro, coloque o código abaixo:
FIELD-SYMBOLS: <fs_xmli_tab> TYPE j_1b_nf_xml_item_tab,<fs_xmli> TYPE j_1b_nf_xml_item.
ASSIGN ('(SAPLJ_1B_NFE)XMLI_TAB') TO <fs_xmli_tab>.
IF <fs_xmli_tab> IS ASSIGNED.
LOOP AT <fs_xmli_tab> ASSIGNING <fs_xmli>.<fs_xmli>-extipi = lv_valor.
ENDLOOP.
ENDIF.
Se mesmo assim você achar que não está de bom tamanho... Implicit Enhancement Point: How To Do Implicit Enhancement - ABAP Development - SCN Wiki
[]'s
JN