12
返回列表 发新帖
楼主: 一沙

[原创] SAP下用DBCO连接Sql2000.????

[复制链接]
论坛徽章:
131
乌索普
日期:2017-09-26 13:06:30马上加薪
日期:2014-11-22 01:34:242014年世界杯参赛球队: 尼日利亚
日期:2014-06-17 15:23:23马上有对象
日期:2014-05-11 19:35:172014年新春福章
日期:2014-04-04 16:16:58马上有对象
日期:2014-03-08 16:50:54马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
11#
发表于 2009-8-1 15:25 | 只看该作者
呵呵

使用道具 举报

回复
论坛徽章:
11
祖国60周年纪念徽章
日期:2009-10-09 08:28:00懒羊羊
日期:2015-03-04 14:52:112013年新春福章
日期:2013-02-25 14:51:24奥运会纪念徽章:沙滩排球
日期:2012-10-18 09:21:462012新春纪念徽章
日期:2012-01-04 11:53:54ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042011新春纪念徽章
日期:2011-02-18 11:43:36ITPUB9周年纪念徽章
日期:2010-10-08 09:31:222010新春纪念徽章
日期:2010-03-01 11:20:05生肖徽章2007版:兔
日期:2009-11-18 16:38:26
12#
发表于 2014-6-10 10:18 | 只看该作者
nice job.
error:
    An internal error occurred when executing Native S
how to do ?

使用道具 举报

回复
论坛徽章:
5
2012新春纪念徽章
日期:2012-01-04 11:58:44优秀写手
日期:2014-07-05 06:00:13慢羊羊
日期:2015-03-04 14:53:332015年新春福章
日期:2015-03-06 11:58:39蒙奇·D·路飞
日期:2016-08-01 14:05:45
13#
发表于 2014-7-2 10:59 | 只看该作者
想知道 最后解决了没。。。。

使用道具 举报

回复
论坛徽章:
28
目光如炬
日期:2015-12-06 22:00:0019周年集字徽章-19
日期:2019-09-04 14:11:03弗兰奇
日期:2018-09-28 09:48:51技术图书徽章
日期:2018-01-02 15:05:00乌索普
日期:2017-10-12 15:05:13技术图书徽章
日期:2017-10-11 16:42:21摩羯座
日期:2016-02-19 11:30:56白羊座
日期:2016-01-18 20:49:02双鱼座
日期:2015-12-22 12:53:54弗兰奇
日期:2019-12-12 08:57:03
14#
发表于 2015-3-12 20:29 | 只看该作者
*&---------------------------------------------------------------------*
*& Report  ZTST_1295
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

report ZTST_1299.


parameters:P(10).

start-of-selection .


  data: LR_SQL type ref to CL_SQL_STATEMENT,            "SQL
        LR_CONNECTION type ref to CL_SQL_CONNECTION,    "CONNECTION
        LR_RESULT type ref to CL_SQL_RESULT_SET,        "RESULT SET
        LR_SQLERR_REF type ref to CX_SQL_EXCEPTION,
        LV_RETURN type I,                               "NUMBER OF AFFECTED RECORDS
        LV_QUERY type STRING.


  data:
       LR_TAB type ref to DATA .


TABLES:usr01.

  data:begin of LT_TAB occurs 0 ,
       bname type usr01-bname,
    end of LT_TAB .

  break poin.

  try.
      LR_CONNECTION = CL_SQL_CONNECTION=>GET_CONNECTION( 'DCP' ).  

      create object LR_SQL
        exporting
          CON_REF = LR_CONNECTION.


      concatenate 'select bname from usr01  ' '' into LV_QUERY .

      get reference of LT_TAB[] into LR_TAB .

      LR_RESULT = LR_SQL->EXECUTE_QUERY( LV_QUERY ).
      LR_RESULT->SET_PARAM_TABLE( LR_TAB  ).
      LR_RESULT->NEXT_PACKAGE( ).
      LR_RESULT->CLOSE( ).



      LR_CONNECTION->CLOSE( ) .

      free : LR_CONNECTION, LR_SQL ,LR_RESULT.


    catch CX_SQL_EXCEPTION into LR_SQLERR_REF.


  endtry .



  loop at LT_TAB .


  endloop .

  break poin.

使用道具 举报

回复
论坛徽章:
64
状元
日期:2015-07-20 15:43:53榜眼
日期:2015-07-16 12:57:31探花
日期:2015-07-06 10:48:48进士
日期:2015-06-25 16:41:54举人
日期:2015-06-18 09:00:04秀才
日期:2015-08-06 13:55:21秀才
日期:2015-06-30 10:57:59秀才
日期:2015-07-17 10:06:26秀才
日期:2015-07-20 08:54:46秀才
日期:2015-07-20 09:00:26
15#
发表于 2015-3-19 12:11 | 只看该作者
14樓的很全了.

使用道具 举报

回复
论坛徽章:
1
青年奥林匹克运动会-铁人三项
日期:2014-09-04 14:42:50
16#
发表于 2015-6-17 08:39 | 只看该作者
rockwl2001 发表于 2008-11-21 09:17
用Unix平台是没办法直接访问Sql Server的,最好的办法是在SQL Server那边写个接口,Web Service或者其他接口 ...

是否确定非WINDOWS系统不可直连?

使用道具 举报

回复
论坛徽章:
13
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44喜羊羊
日期:2015-03-29 14:09:22鲜花蛋
日期:2012-02-17 14:01:342012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412010年世界杯参赛球队:意大利
日期:2010-07-03 12:16:242010新春纪念徽章
日期:2010-03-01 11:20:522009日食纪念
日期:2009-07-22 09:30:00奥运会纪念徽章:艺术体操
日期:2008-09-16 10:57:10奥运会纪念徽章:射击
日期:2008-08-21 14:50:56
17#
发表于 2015-7-25 15:23 | 只看该作者
*&---------------------------------------------------------------------*
*& Report  ZBG000007
*&
*&---------------------------------------------------------------------*
*& Author/Date: S. H. Ting / December 15, 2014
*& Description: 從MES讀取每個工站總生產數量, 更新至SAP
*&
*&---------------------------------------------------------------------*
*& Memo: Program             Function                             Mark
*&      ZBG000002           從MES讀取工站主數據, 更新至SAP
*&      ZBG000004           從MES讀取訂單工藝路線, 更新至SAP
*&      ZBG000005           從MES讀取流程卡掃描數, 更新至SAP
*&      ZBG000007           從MES讀取每個工站總生產數量, 更新至SAP  *
*&---------------------------------------------------------------------*

REPORT  zbg000007.

TYPES: BEGIN OF ty_moid,       "生產批次
        moid(20),               "生產批次編號
END OF ty_moid.

TYPES: BEGIN OF mcmowipstate,    "每個工站總生產數量
        mandt LIKE sy-mandt,
        moid(20),               "生產批次編號
        staorderid(8) TYPE n,   "工站順序
        stationid(10),          "工站編號
        statid(10),             "工站編號
        moqty TYPE zquan,       "批次數量
        tranin TYPE zquan,      "上組別移交數(SAP)
        outqty TYPE zquan,      "良品數量
        ngqty TYPE zquan,       "不良品數
        scrapqty TYPE zquan,    "報廢數量
        diffqty TYPE zquan,     "未完成數(SAP)
        estate(1),              "生產批次當前狀態
        starttime TYPE sy-datum,"開始時間
        endtime TYPE sy-datum,  "結束時間
        userid(12),             "設置人員
        intime TYPE sy-datum,   "設置時間
        condat TYPE sy-datum,   "確認時間
        tmoid TYPE aufnr,       "生產訂單編號
        aufpl TYPE co_aufpl,    "訂單作業途程號碼(SAP)
        aplzl(8) TYPE n,        "訂單的一般計數器(SAP)
        poid(10),               "銷售訂單編號
        sequence(6),            "順序號碼
        sapstation(4),          "作業號碼
        lottype(10),            "類型
END OF mcmowipstate.


DATA: con_name LIKE dbcon-con_name,
      it_moid         TYPE TABLE OF ty_moid      INITIAL SIZE 10 WITH HEADER LINE,
      it_mcmowipstate TYPE TABLE OF mcmowipstate INITIAL SIZE 10 WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK bl WITH FRAME.
PARAMETERS: p_bedate LIKE sy-datum,
            p_endate LIKE sy-datum.
SELECTION-SCREEN END OF BLOCK bl.

START-OF-SELECTION.

  IF p_bedate IS INITIAL.
    p_bedate = '17530101'.
  ENDIF.
  IF p_endate IS INITIAL.
    p_endate = '99991231'.
  ENDIF.

  con_name = 'MES'.

  EXEC SQL.
    CONNECT TO :CON_NAME
  ENDEXEC.

  IF sy-subrc = 0.
    CLEAR: it_moid, it_mcmowipstate.

*&A 根據 Intime 欄位當作條件找出 Moid 欄位
    EXEC SQL PERFORMING process_Moid.

      select MOID

        from m_McMoWipState_t

        into  :it_Moid-MOID

        where CONVERT(varchar(8), intime, 112) BETWEEN _bedate AND _endate

    ENDEXEC.
    SORT it_moid BY moid.
    DELETE ADJACENT DUPLICATES FROM it_moid COMPARING moid.

*&B 根據Moid 欄位當作條件查找符合條件的記錄
*&  it_McMoWipState 每個工站總生產數量
    LOOP AT it_moid.
      EXEC SQL PERFORMING process_McMoWipState.

        select MOID,
               STAORDERID,
               STATIONID,
               MOQTY,
               OUTQTY,
               NGQTY,
               SCRAPQTY,
               ESTATE,
               convert(char(8), STARTTIME, 112) STARTTIME,
               convert(char(8), ENDTIME, 112) ENDTIME,
               userid,
               convert(char(8), intime, 112) intime

          from m_McMoWipState_t

          into :it_McMoWipState-MOID,
               :it_McMoWipState-STAORDERID,
               :it_McMoWipState-STATIONID,
               :it_McMoWipState-MOQTY,
               :it_McMoWipState-OUTQTY,
               :it_McMoWipState-NGQTY,
               :it_McMoWipState-SCRAPQTY,
               :it_McMoWipState-ESTATE,
               :it_McMoWipState-STARTTIME,
               :it_McMoWipState-ENDTIME,
               :it_McMoWipState-userid,
               :it_McMoWipState-intime

          where MOID = :it_MOID-MOID

      ENDEXEC.
    ENDLOOP.

    CALL FUNCTION 'ZRFC_MCMOWIPSTATE_UPDATE'
      DESTINATION 'QAS800'
      TABLES
        m_mcmowipstate_t   = it_mcmowipstate
      EXCEPTIONS
        e_zmmmcmowipstatet = 1
        OTHERS             = 2.

*    IF sy-subrc = 0.
*      MESSAGE 'Update database sucess!' TYPE 'S'.
*    ELSE.
*      MESSAGE 'Update database failed!' TYPE 'E'.
*    ENDIF.
    CASE sy-subrc.
      WHEN '0'.
        MESSAGE 'ZBG000007 Update sucess!' TYPE 'S'.
      WHEN '1'.
        MESSAGE 'Update zmmmcmowipstatet failed!' TYPE 'E'.
      WHEN OTHERS.
        MESSAGE 'ZBG000007 Update failed!' TYPE 'E'.
    ENDCASE.

  ELSE.
    MESSAGE 'Database connection failed!' TYPE 'E'.
  ENDIF.

END-OF-SELECTION.

  EXEC SQL.
    DISCONNECT :CON_NAME
  ENDEXEC.

*&---------------------------------------------------------------------*
*&      Form  process_Moid
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM process_moid.
  APPEND it_moid.
  CLEAR it_moid.
ENDFORM.                    "process_Moid

*&---------------------------------------------------------------------*
*&      Form  process_McMoWipState
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM process_mcmowipstate.
  APPEND it_mcmowipstate.
  CLEAR it_mcmowipstate.
ENDFORM.                    "process_McMoWipState

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表