Skip to Content
0
Jul 14, 2009 at 11:41 AM

Restrict selection from LDB 'DDF' based on FI Doc number(BELNR)?

114 Views

Hi all,

I am trying to restrict selection from LDB 'DDF' based on FI Doc number(BELNR).

Even if i pass only one document number in selection-screen, the program is still printing lot of documents?

Where I am going wrong?

&----


*& Report ZSUB_READ_LDB

*&

&----


*&

*&

&----


REPORT ZSUB_READ_LDB.

DATA wa_BSEG TYPE BSEG.

SELECT-OPTIONS s_BELNR FOR wa_BSEG-BELNR.

DATA: callback TYPE TABLE OF ldbcb,

callback_wa LIKE LINE OF callback.

DATA: seltab TYPE TABLE OF rsparams,

seltab_wa LIKE LINE OF seltab.

callback_wa-ldbnode = 'BSEG'.

callback_wa-get = 'X'.

callback_wa-get_late = 'X'.

callback_wa-cb_prog = sy-repid.

callback_wa-cb_form = 'CALLBACK_BSEG'.

APPEND callback_wa TO callback.

CLEAR callback_wa.

seltab_wa-kind = 'S'.

seltab_wa-selname = 'BELNR'.

LOOP AT s_BELNR.

MOVE-CORRESPONDING s_BELNR TO seltab_wa.

APPEND seltab_wa TO seltab.

ENDLOOP.

CALL FUNCTION 'LDB_PROCESS'

EXPORTING

ldbname = 'DDF'

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 ne 0.

WRITE: 'Exception with SY-SUBRC', sy-subrc.

ENDIF.

&----


*& Form CALLBACK_BSEG

&----


  • text

----


  • -->NAME text

  • -->WA text

  • -->EVT text

  • -->CHECK text

----


FORM CALLBACK_BSEG USING name TYPE ldbn-ldbnode

wa TYPE BSEG

evt TYPE c

check TYPE c.

CASE evt.

WHEN 'G'.

WRITE: / wa-BELNR.

ULINE.

WHEN 'L'.

ULINE.

ENDCASE.

ENDFORM. "CALLBACK_BSEG