LSMW z Z* polami - short dump

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
ODPOWIEDZ
PawelW
Posty: 185
Rejestracja: pn sty 02, 2017 2:19 pm
Has thanked: 55 times
Been thanked: 51 times

LSMW z Z* polami - short dump

Post autor: PawelW »

Tworzę LSMW dla gruntu RE-FX. Na gruncie zostały przez klienta utworzone Z* pola. W strukturze REBD_PROPERTY_CI widać, że prawie wszystkie pola są polami znakowymi, oprócz jednego. Jest tam jedno pole typu CURR. W LSMW (załącznik), do pola VALUEPAT1 przypiłąłem kod ABAP napisany na podstawie not 738580 oraz 2255312. Dodam, że jestem kompletnym, ABAPowym laikiem :)

Kod jest następujący:

Kod: Zaznacz cały

* Target Field: E1BPPAREX-VALUEPART1 Data part of BAPI extension paramet
DATA:
   lt_extension_in TYPE TABLE OF bapiparex,
   ls_extension_in TYPE bapiparex,
   ls_ci_data      TYPE rebd_property_ci.
 
CLEAR ls_ci_data.
ls_ci_data-zzregion = grunt_main-zzregion.
ls_ci_data-zzlegal_title = grunt_main-zzlegal_title.
ls_ci_data-zzcharge_amount = grunt_main-zzcharge_amount.
ls_ci_data-zzmap_sheet = grunt_main-zzmap_sheet.
ls_ci_data-zzlocal_subdistrict = grunt_main-zzlocal_subdistrict.
 ls_extension_in-structure = 'CI_DATA'.
 
CALL METHOD cl_abap_container_utilities=>fill_container_c
   EXPORTING
     im_value     = ls_ci_data
   IMPORTING
     ex_container = ls_extension_in-valuepart1
   EXCEPTIONS
      OTHERS       = 0.
 
 APPEND ls_extension_in TO lt_extension_in.
 e1bpparex-valuepart1 = ls_extension_in-valuepart1.
W debuggerze (załącznik) dla tego pola walutowego przypisują się jakieś krzaki. Księgowanie IDOCa z LSMW kończy się dumpem jak w załączniku. Ja osobiście obstawiam, że cl_abap_container_utilities=>fill_container_c nie radzi sobie z polami numerycznymi. Czy ktoś z Was miał taki problem i może mi z tym pomóc?

EDIT: Upload obrazków chyba nie działa. W takim razie:

Debugger: https://imgur.com/rPtvx3o
Short dump: https://imgur.com/NZRAjPX
LSMW: https://imgur.com/rCV6Zw4
ODPOWIEDZ