Всем привет!
Использую ФМ 'LDB_PROCESS' для ЛДБ PNM.
Проблема: структуру (wa в callback_mapl, callback_plkod), которую должна ФМ выдавать не заполнена.
Как думаете, почему не заполняется структура.
Всем удачного дня!
Inik
Мой код
report zldb_test.
tables plpo.
data wa_plko type mapl.
select-options: s_plnal for wa_plko-plnal,
s_matnr for wa_plko-matnr,
s_werks for wa_plko-werks,
s_datuv for wa_plko-datuv.
parameters p_plnty type plpo-plnty.
data: callback type table of ldbcb,
callback_wa like line of callback.
data: seltab type table of rsparams,
seltab_wa like line of seltab.
clear callback_wa.
callback_wa-ldbnode = 'MAPL'.
callback_wa-get = 'X'.
callback_wa-get_late = 'X'.
callback_wa-cb_prog = sy-repid.
callback_wa-cb_form = 'CALLBACK_MAPL'.
append callback_wa to callback.
clear callback_wa.
callback_wa-ldbnode = 'PLKOD'.
callback_wa-get = 'X'.
callback_wa-get_late = 'X'.
callback_wa-cb_prog = sy-repid.
callback_wa-cb_form = 'CALLBACK_PLKOD'.
append callback_wa to callback.
* ======================================
seltab_wa-kind = 'S'.
seltab_wa-selname = 'PLNAL'.
loop at s_plnal.
move-corresponding s_plnal to seltab_wa.
append seltab_wa to seltab.
endloop.
*
clear seltab_wa.
seltab_wa-kind = 'S'.
seltab_wa-selname = 'MATNR'.
loop at s_matnr.
move-corresponding s_matnr to seltab_wa.
append seltab_wa to seltab.
endloop.
clear seltab_wa.
seltab_wa-kind = 'S'.
seltab_wa-selname = 'WERKS'.
loop at s_werks.
move-corresponding s_werks to seltab_wa.
append seltab_wa to seltab.
endloop.
clear seltab_wa.
seltab_wa-kind = 'S'.
seltab_wa-selname = 'DATUV'.
loop at s_datuv.
move-corresponding s_datuv to seltab_wa.
append seltab_wa to seltab.
endloop.
clear seltab_wa.
seltab_wa-kind = 'P'.
seltab_wa-selname = 'PLNTY'.
seltab_wa-low = p_plnty.
seltab_wa-high = p_plnty.
seltab_wa-option = 'EQ'.
seltab_wa-sign = 'I'.
append seltab_wa to seltab.
*=================================================
call function 'LDB_PROCESS'
exporting
ldbname = 'PNM'
variant = ' '
tables
callback = callback
selections = seltab
exceptions
ldb_not_reentrant = 1
ldb_incorrect = 2
ldb_already_running = 3
ldb_error = 4
ldb_selections_error = 5
ldb_selections_not_accepted = 6
variant_not_existent = 7
variant_obsolete = 8
variant_error = 9
free_selections_error = 10
callback_no_event = 11
callback_node_duplicate = 12
others = 13.
if sy-subrc <> 0.
write: 'Exception with SY-SUBRC', sy-subrc.
endif.
*&---------------------------------------------------------------------*
*& Form callback_plkod
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->NAME text
* -->WA text
* -->EVT text
* -->CHECK text
*----------------------------------------------------------------------*
form callback_plkod using name type ldbn-ldbnode
wa type plkod
evt type c
check type c.
case evt.
when 'G'.
write: / wa-plnal, wa-plnty.
uline.
when 'L'.
uline.
endcase.
endform. "callback_plkod
*&---------------------------------------------------------------------*
*& Form callback_sflight
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->NAME text
* -->WA text
* -->EVT text
* -->CHECK text
*----------------------------------------------------------------------*
form callback_mapl using name type ldbn-ldbnode
wa type mapl
evt type c
check type c.
case evt.
when 'G'.
write: / wa-matnr, wa-plnty, wa-plnnr.
uline.
when 'L'.
uline.
endcase.
endform. "callback_mapl