SAP 中执行外部 SQL 查询的方法及问题

 

 目前的问题是,此处理方法,暂时还不确认如何和外部DB 进行配置?

 

 

   "Set Connection to Quotation DB   联接外部数据库及Server :?可能需要对应的 dll 和SAP 关联

  " 先设定
  concatenate 'QTN_' sy-mandt into lv_qtn.
  case s_vbeln-low(1).
    when '5'.
      concatenate lv_qtn '_EIL' into lv_qtn.
    when '6'.
      concatenate lv_qtn '_CAL' into lv_qtn.
    when '3'.
      concatenate lv_qtn '_CSL' into lv_qtn.
    when '8'.
      concatenate lv_qtn '_CM' into lv_qtn.
  endcase.

 

    " 联接

   if wa_sql_flag = 'X'.
    EXEC SQL.
      connect to :lv_qtn
    ENDEXEC.

    EXEC SQL.
      SET CONNECTION :lv_qtn
    ENDEXEC.
  endif.

 

...

 *"Disconnect Quotation DB   :最后需要断开联接
**************************************************
  if wa_sql_flag = 'X'.
    EXEC SQL.
      DISCONNECT :lv_qtn
    ENDEXEC.
  endif.
**************************************************

 

 

中间的执行语名示例:

 

   EXEC SQL PERFORMING loop_fab_output.
    SELECT quotation_no, scenario_no, rec_level, major_trim_type,
           material_type, consum_per_doz, uom, total
    INTO   :wa_qtn_fab
    FROM   qn_major_fabric_dtl
    WHERE  quotation_no = :lv_qtnno
      AND  scenario_no = :lv_scrno
      AND  rec_level = :lv_reclv
  ENDEXEC.

 FORM loop_fab_output.
  clear it_qtn_fab.
  it_qtn_fab-vbeln        = it_vbak-vbeln.
  it_qtn_fab-quotation_no = wa_qtn_fab-quotation_no.
  it_qtn_fab-scenario_no  = wa_qtn_fab-scenario_no.
  it_qtn_fab-rec_level    = wa_qtn_fab-rec_level.
  it_qtn_fab-mat_type     = wa_qtn_fab-mat_type.
  it_qtn_fab-material     = wa_qtn_fab-material.
  it_qtn_fab-width        = 'N/A'.
  it_qtn_fab-consum       = wa_qtn_fab-consum.
  it_qtn_fab-uom          = wa_qtn_fab-uom.
  it_qtn_fab-total        = wa_qtn_fab-total.
  collect it_qtn_fab.
ENDFORM.                    " loop_fab_output

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值