+ Sapforum.Biz » Инструменты » ABAP - Инструментальные средства » SE37 - Построитель функций (Модератор: Dmitriy)Тема:
|- Fm 'LDB_PROCESS'




Автор Тема: Fm 'LDB_PROCESS'  (Прочитано 2850 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн inik

  • Newbie
  • *
  • Сообщений: 9
  • Reputation Power: 0
  • inik has no influence.
  • Пол: Женский
  • YearsYearsYearsYearsYears
Fm 'LDB_PROCESS'
« : Июль 08, 2013, 12:08:53 pm »
Всем привет!

Использую ФМ '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


Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 636
  • Reputation Power: 2
  • Uukrul barely matters.Uukrul barely matters.
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Fm 'LDB_PROCESS'
« Ответ #1 : Июль 08, 2013, 01:42:31 pm »
You are not allowed to view links. Register or Login
Использую ФМ 'LDB_PROCESS' для ЛДБ PNM.
Ну если вы уже используете логическую базу данных, то может и писать нужно отчет со ссылкой на логическую базу данных, зачем вот этот вот цирк городить?