通过DBCO配置链接信息用Native SQL访问外部数据库的代码示例及其相关notes

来源:互联网 发布:琵琶行 知乎 编辑:程序博客网 时间:2024/05/16 04:12

 

*&--------------------------------------------------------------------*
*&      Form  GET_GUI_EXEC
*&--------------------------------------------------------------------*
*     从GUI系统选取数据
*---------------------------------------------------------------------*
 FORM GET_GUI_EXEC USING STOCKTYPE.
   data MYREF type ref to CX_SY_NATIVE_SQL_ERROR.
   data ERR_TEXT type STRING.
   data RESULT type I.
   DATA: TEXT(60).
   TRY.

       EXEC SQL PERFORMING APPEND_ITAB_GUIFG_EXEC.
         SELECT GOODS_ID_SEQ,
                 MFG_ORDER_ID,PART_ID,LOT_ID,STOCK_QTY,
                 TO_CHAR(STOCK_DATE,('YYYYMMDDHH24MISS')),
                 WB_FLAG,LOCATION_ID
              INTO :ITAB_GUIFG-XH, :ITAB_GUIFG-GDH,
                   :ITAB_GUIFG-matnr,
                   :ITAB_GUIFG-charg, :ITAB_GUIFG-menge, :ITAB_GUIFG-RKDAT,
                   :ITAB_GUIFG-wbbz,  :ITAB_GUIFG-ABFG
           FROM csmc.gui_goods_rk@sapgui.WORLD
              WHERE STOCK_TYPE           = :STOCKTYPE
              AND   DELIVERY_FINISH_FLAG <> 'Y'
              FOR UPDATE
       ENDEXEC.
     catch CX_SY_NATIVE_SQL_ERROR into MYREF.
       ERR_TEXT = MYREF->GET_TEXT( ).
   ENDTRY.
   IF ERR_TEXT NE SPACE.
     TEXT  = ERR_TEXT.
     MESSAGE E100(ZCSMC) WITH 'GUI链接错误,错误信息:' TEXT.
   ENDIF.
 ENDFORM.                    "GET_GUI_EXEC

*&--------------------------------------------------------------------*
*&      Form  MODIFY_GUI_EXEC
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
 FORM MODIFY_GUI_EXEC USING XH  LIKE ZMM004-XH
                            GDH LIKE ZPP002-GDH
                            LOT_ID like itab-charg
                            msgtyp LIKE ZGR_STRU-MSGTYP
                            ERR_MESSAGE like ITAB-ERR_MSG.
   data MYREF type ref to CX_SY_NATIVE_SQL_ERROR.
   data ERR_TEXT type STRING.
   data RESULT type I.
   DATA: TEXT(60).
   TRY.
       EXEC SQL.
         UPDATE  csmc.gui_goods_rk@sapgui.WORLD
              SET DELIVERY_FINISH_FLAG = 'Y',
                  DELIVERY_FINISH_DATE = SYSDATE
              WHERE GOODS_ID_SEQ = :XH
               AND MFG_ORDER_ID  = :gdh
               AND  STOCK_TYPE   = :gui_stock_type
               and  LOT_ID       = :LOT_ID
       ENDEXEC.
     catch CX_SY_NATIVE_SQL_ERROR into MYREF.
       ERR_TEXT = MYREF->GET_TEXT( ).
   ENDTRY.
   IF ERR_TEXT NE SPACE.
     EXEC SQL.
       ROLLBACK CONNECTION csmc.gui_goods_rk@sapgui.WORLD .
     ENDEXEC.
   ELSE.
     EXEC SQL.
       COMMIT CONNECTION csmc.gui_goods_rk@sapgui.WORLD .
     ENDEXEC.
   ENDIF.
 ENDFORM.                    "MODIFY_GUI_EXEC
*&--------------------------------------------------------------------*
*&      Form  APPEND_DATA
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
 FORM APPEND_ITAB_GUIFG_EXEC.
   APPEND ITAB_GUIFG.
   CLEAR  ITAB_GUIFG.
 ENDFORM.                    "APPEND_DATA

 


 相关notes:

323151 Several DB connections with Native SQL

  955670 - DB multiconnect with MaxDB as secondary database 829706 - MSSQL: DB Multiconnect in the MSSPROCS program 738371 - Creating DBCON multiconnect entries for SQL Server 606359 - FAQ: Oracle National Language Support (NLS) 597903 - Reconnect for secondary connection to Informix 592393 - FAQ: Oracle 585468 - NT/DB4: Authentication failure to iSeries Diagnose 518241 - DB Connect in BW for an external Oracle database 421026 - DB MultiConnect with Informix as a secondary database 339092 - DB MultiConnect with Oracle as secondary database 200164 - DB multiconnect with DB6 as target database 181989 - Multiconnect on EXEC SQL Informix 178949 - MSSQL: Database MultiConnect with EXEC SQL 160484 - DB2/390: Database multiconnect with EXEC SQL 146624 - i5/OS: Database multiconnect for IBM DB2 for i5/OS  

原创粉丝点击