逻辑数据库读取bseg

来源:互联网 发布:网络思想政治教育总结 编辑:程序博客网 时间:2024/05/24 03:14

相关t-code sldb 一定要清空 :转到-〉属性-〉逻辑数据库设定

*&---------------------------------------------------------------------*
*& Report  YZXUTEST12
*&
*&---------------------------------------------------------------------*
*&
*& PROGRAM SAPDBHKS
*&---------------------------------------------------------------------*


REPORT  yzxutest12
.
*0090018291
TABLES:mkpf,bseg,ska1,skb1.
DATA wa_bkpf TYPE bkpf.
*PARAMETERS:p_month(2) TYPE n.
SELECT-OPTIONS s_budat FOR wa_bkpf-budat.
SELECT-OPTIONS s_belnr FOR wa_bkpf-belnr.
*SELECT-OPTIONS: sd_ktopl    FOR  ska1-ktopl.
*SELECT-OPTIONS: sd_saknr    FOR  ska1-saknr MATCHCODE OBJECT sako.
*SELECT-OPTIONS: sd_bukrs    FOR  skb1-bukrs.
TYPE-POOLS: rsds, rsfs.

DATA: callback TYPE TABLE OF ldbcb,
      callback_wa LIKE LINE OF callback.

DATA: seltab TYPE TABLE OF rsparams,
      seltab_wa LIKE LINE OF seltab.
*TYPES: BEGIN OF rsds_expr,
*         tablename LIKE rsdstabs-prim_tab,
*         expr_tab TYPE rsds_expr_tab,
*       END OF rsds_expr.

DATA: texpr TYPE rsds_texpr,
      fsel  TYPE rsfs_fields.

*callback_wa-ldbnode     = 'BKPF'.
*callback_wa-get         = 'X'.
*callback_wa-get_late    = 'X'.
*callback_wa-cb_prog     = sy-repid.
*callback_wa-cb_form     = 'CALLBACK_BKPF'.
*APPEND callback_wa TO callback.

CLEAR callback_wa.
callback_wa-ldbnode     = 'BSEG'.
callback_wa-get         = 'X'.
callback_wa-cb_prog     = sy-repid.
callback_wa-cb_form     = 'CALLBACK_BSEG'.
APPEND callback_wa TO callback.

seltab_wa-kind = 'S'.
seltab_wa-selname = 'BR_BUDAT'.

LOOP AT s_budat.
  MOVE-CORRESPONDING s_budat TO seltab_wa.
  APPEND seltab_wa TO seltab.
ENDLOOP.
seltab_wa-kind = 'S'.
seltab_wa-selname = 'BR_BELNR'.

LOOP AT s_belnr .
  MOVE-CORRESPONDING s_belnr TO seltab_wa.
  APPEND seltab_wa TO seltab.
ENDLOOP.


CALL FUNCTION 'LDB_PROCESS'
  EXPORTING
    ldbname                     = 'BRF'
    variant                     = ' '
    expressions                 = texpr
    field_selection             = fsel
  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_bkpf
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->NAME       text
*      -->WA         text
*      -->EVT        text
*      -->CHECK      text
*----------------------------------------------------------------------*
*FORM callback_bkpf USING name  TYPE ldbn-ldbnode
*                          wa    TYPE bkpf
*                          evt   TYPE c
*                          check TYPE c.
*  CASE evt.
*    WHEN 'G'.
**      WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
*      IF check = 'X'.
*        WRITE:/ wa-belnr,.
*      ENDIF.
*      ULINE.
*    WHEN 'L'.
*      ULINE.
*  ENDCASE.
*ENDFORM.                    "callback_bkpf

*&---------------------------------------------------------------------*
*&      Form  callback_sflight
*&---------------------------------------------------------------------*
*       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.
*  WRITE: / wa-fldate, wa-seatsocc, wa-seatsmax.
  IF check = 'X'.
    WRITE:/ wa-belnr , wa-buzei,wa-hkont,wa-saknr.
* append wa to  it_)ddd.
  ENDIF.
ENDFORM.                    "callback_sflight

0 0
原创粉丝点击