Buenas, les hago una consulta.
Estamos teniendo problemas al enviar facturas a la AFIP desde la transaccion J1AEXPMONITOR (Herramienta de Supervision para servicios Web (Argentina/Export) )
Debuggeando encontre que fallaba porque queria transformar un item con valor negativo a xml, descubri que ese item en realidad es una condicion a nivel cabecera, que el standard lo agrega como item, pero no entiendo por que hace esto.
El include es LJ1AEF04 - rutina get_item_details
AT LAST.
CLEAR lt_konv.
LOOP AT lt_konv WHERE knumv = lt_vbrk-knumv AND koaid = 'A'.
******If condition is header level,then only proceed (D: Header condition G: Original header condition)
CHECK lt_konv-kherk EQ 'D' OR lt_konv-kherk EQ 'G'.
IF lt_konv-kwert LT 0.
wa_item_con-matnr_code = lt_konv-kschl.
CLEAR wa_t685t.
READ TABLE lt_t685t INTO wa_t685t WITH KEY kschl = lt_konv-kschl.
IF sy-subrc EQ 0.
wa_item_con-matnr_desc = wa_t685t-vtext.
ELSE.
wa_item_con-matnr_desc = lt_konv-kschl.
ENDIF.
wa_item_con-quantity = 0.
wa_item_con-uom = '99'. " Header discount
ELSEIF lt_konv-kwert GT 0.
wa_item_con-matnr_code = lt_konv-kschl.
CLEAR wa_t685t.
READ TABLE lt_t685t INTO wa_t685t WITH KEY kschl = lt_konv-kschl.
IF sy-subrc EQ 0.
wa_item_con-matnr_desc = wa_t685t-vtext.
ELSE.
wa_item_con-matnr_desc = lt_konv-kschl.
ENDIF.
wa_item_con-quantity = 0.
wa_item_con-uom = '00'. " Surcharge
ENDIF.
wa_item_con-item_amount = lt_konv-kwert.
IF wa_item_con IS NOT INITIAL.
COLLECT wa_item_con INTO lt_item_con.
CLEAR wa_item_con.
ENDIF.
ENDLOOP.
ENDAT.
CLEAR wa_item_2758.
ENDLOOP.
CLEAR lt_bset.
LOOP AT lt_bset.
PERFORM fill_tax_items_exp_sd.
ENDLOOP.
IF lt_item_con[] IS NOT INITIAL.
APPEND LINES OF lt_item_con TO lt_item_2758.
ENDIF.
A alguno le paso? Alguna solucion a esto?
Les agradeceria cualquier informacion.
Saludos
Estamos teniendo problemas al enviar facturas a la AFIP desde la transaccion J1AEXPMONITOR (Herramienta de Supervision para servicios Web (Argentina/Export) )
Debuggeando encontre que fallaba porque queria transformar un item con valor negativo a xml, descubri que ese item en realidad es una condicion a nivel cabecera, que el standard lo agrega como item, pero no entiendo por que hace esto.
El include es LJ1AEF04 - rutina get_item_details
AT LAST.
CLEAR lt_konv.
LOOP AT lt_konv WHERE knumv = lt_vbrk-knumv AND koaid = 'A'.
******If condition is header level,then only proceed (D: Header condition G: Original header condition)
CHECK lt_konv-kherk EQ 'D' OR lt_konv-kherk EQ 'G'.
IF lt_konv-kwert LT 0.
wa_item_con-matnr_code = lt_konv-kschl.
CLEAR wa_t685t.
READ TABLE lt_t685t INTO wa_t685t WITH KEY kschl = lt_konv-kschl.
IF sy-subrc EQ 0.
wa_item_con-matnr_desc = wa_t685t-vtext.
ELSE.
wa_item_con-matnr_desc = lt_konv-kschl.
ENDIF.
wa_item_con-quantity = 0.
wa_item_con-uom = '99'. " Header discount
ELSEIF lt_konv-kwert GT 0.
wa_item_con-matnr_code = lt_konv-kschl.
CLEAR wa_t685t.
READ TABLE lt_t685t INTO wa_t685t WITH KEY kschl = lt_konv-kschl.
IF sy-subrc EQ 0.
wa_item_con-matnr_desc = wa_t685t-vtext.
ELSE.
wa_item_con-matnr_desc = lt_konv-kschl.
ENDIF.
wa_item_con-quantity = 0.
wa_item_con-uom = '00'. " Surcharge
ENDIF.
wa_item_con-item_amount = lt_konv-kwert.
IF wa_item_con IS NOT INITIAL.
COLLECT wa_item_con INTO lt_item_con.
CLEAR wa_item_con.
ENDIF.
ENDLOOP.
ENDAT.
CLEAR wa_item_2758.
ENDLOOP.
CLEAR lt_bset.
LOOP AT lt_bset.
PERFORM fill_tax_items_exp_sd.
ENDLOOP.
IF lt_item_con[] IS NOT INITIAL.
APPEND LINES OF lt_item_con TO lt_item_2758.
ENDIF.
A alguno le paso? Alguna solucion a esto?
Les agradeceria cualquier informacion.
Saludos