zoukankan      html  css  js  c++  java
  • SAP将数据插入SQL SEVER中

    FORM frm_update_sql .
      DATA lv_dbname TYPE dbcon_name VALUE 'KPI'.
      DATA exc_ref TYPE REF TO cx_sy_native_sql_error.
      DATA error_text TYPE string.

      TRY.
    *---连接到SQL
          EXEC SQL.
            CONNECT TO :LV_DBNAME
          ENDEXEC.

          IF sy-subrc <> 0.
            RAISE EXCEPTION TYPE cx_sy_native_sql_error.
          ELSE.
            MESSAGE '连接成功' TYPE 'S'.
          ENDIF.

          EXEC SQL.
            SET CONNECTION :LV_DBNAME
          ENDEXEC.

          IF <dyn_table1> IS NOT INITIAL.
            LOOP AT <dyn_table1> INTO <dyn_wa>.

              ASSIGN COMPONENT 'ZFXN' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-zfxn = <dyn_field>.

              ASSIGN COMPONENT 'ZFXY' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-zfxy = <dyn_field>.

              ASSIGN COMPONENT 'PERNR' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-pernr = <dyn_field>.

              ASSIGN COMPONENT 'ZZ_ZJ' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-zz_zj = <dyn_field>.

              ASSIGN COMPONENT 'ZJITUAN' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-zjituan = <dyn_field>.

              ASSIGN COMPONENT 'ZZ_YJBM' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-zz_yjbm = <dyn_field>.

              ASSIGN COMPONENT 'ZZ_EJBM' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-zz_ejbm = <dyn_field>.

              ASSIGN COMPONENT 'ZZ_SJBM' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-zz_sjbm = <dyn_field>.

              ASSIGN COMPONENT 'ZZ_SJBM4' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-zz_sjbm4 = <dyn_field>.

              ASSIGN COMPONENT 'EENUM' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-eenum = <dyn_field>.

              ASSIGN COMPONENT '900000' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9000 = <dyn_field>.

              ASSIGN COMPONENT '900010' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9001 = <dyn_field>.

              ASSIGN COMPONENT '900020' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9002 = <dyn_field>.

              ASSIGN COMPONENT '900030' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9003 = <dyn_field>.

              ASSIGN COMPONENT '900040' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9004 = <dyn_field>.

              ASSIGN COMPONENT '900050' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9005 = <dyn_field>.

              ASSIGN COMPONENT '900060' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9006 = <dyn_field>.

              ASSIGN COMPONENT '900070' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9007 = <dyn_field>.

              ASSIGN COMPONENT '900080' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9008 = <dyn_field>.

              ASSIGN COMPONENT '900090' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9009 = <dyn_field>.

              ASSIGN COMPONENT '900100' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9010 = <dyn_field>.

              ASSIGN COMPONENT '900110' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9011 = <dyn_field>.

              ASSIGN COMPONENT '900120' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9012 = <dyn_field>.

              ASSIGN COMPONENT '900130' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9013 = <dyn_field>.

              ASSIGN COMPONENT '900140' OF STRUCTURE <dyn_wa> TO <dyn_field>.
              gt_bi-z9014 = <dyn_field>.

              APPEND gt_bi.
              CLEAR gt_bi.

            ENDLOOP.
          ENDIF.

          LOOP AT gt_bi.
            TRY .
                EXEC SQL.
                  INSERT INTO zhr_bi_010(zfxn,
                                         zfxy,
                                         zjituan,
                                         zz_yjbm,
                                         zz_ejbm,
                                         zz_sjbm,
                                         zz_sjbm4,
                                         ZZ_ZJ,
                                         EENUM,
                                         z9000,
                                         z9001,
                                         z9002,
                                         z9003,
                                         z9004,
                                         z9005,
                                         z9006,
                                         z9007,
                                         z9008,
                                         z9009,
                                         z9010,
                                         z9011,
                                         z9012,
                                         z9013,
                                         z9014)
                             VALUES ( :gt_bi-zfxn,
                                      :gt_bi-zfxy,
                                      :gt_bi-zjituan,
                                      :gt_bi-zz_yjbm,
                                      :gt_bi-zz_ejbm,
                                      :gt_bi-zz_sjbm,
                                      :gt_bi-zz_sjbm4,
                                      :gt_bi-ZZ_ZJ,
                                      :gt_bi-EENUM,
                                      :gt_bi-Z9000,
                                      :gt_bi-Z9001,
                                      :gt_bi-Z9002,
                                      :gt_bi-Z9003,
                                      :gt_bi-Z9004,
                                      :gt_bi-Z9005,
                                      :gt_bi-Z9006,
                                      :gt_bi-Z9007,
                                      :gt_bi-Z9008,
                                      :gt_bi-Z9009,
                                      :gt_bi-Z9010,
                                      :gt_bi-Z9011,
                                      :gt_bi-Z9012,
                                      :gt_bi-Z9013,
                                      :gt_bi-Z9014)

                ENDEXEC.
              CATCH cx_sy_native_sql_error INTO exc_ref.
                error_text = exc_ref->get_text( ).
                MESSAGE error_text TYPE 'I'.

            ENDTRY.
          ENDLOOP.

          IF error_text IS INITIAL.
            COMMIT WORK AND WAIT.
          ELSE.
            ROLLBACK WORK.
          ENDIF.

    *---关闭连接
          EXEC SQL.
            DISCONNECT :lv_dbname
          ENDEXEC.
        CATCH cx_sy_native_sql_error.
          MESSAGE 'Error in Native SQL.' TYPE 'E'.
      ENDTRY.
    ENDFORM.
     
  • 相关阅读:
    【bzoj4897】[Thu Summer Camp2016]成绩单 区间dp
    【bzoj3533】[Sdoi2014]向量集 线段树+STL-vector维护凸包
    【bzoj2121】字符串游戏 区间dp
    【bzoj2741】[FOTILE模拟赛]L 可持久化Trie树+分块
    【bzoj1067】[SCOI2007]降雨量 倍增RMQ
    【bzoj5197】[CERC2017]Gambling Guide 期望dp+堆优化Dijkstra
    【codeforces914G】Sum the Fibonacci FWT+FST(快速子集变换)
    【bzoj4305】数列的GCD 组合数学+容斥原理
    【bzoj5180】[Baltic2016]Cities 斯坦纳树
    【bzoj5178】[Jsoi2011]棒棒糖 主席树
  • 原文地址:https://www.cnblogs.com/Fantasy386373453/p/14260690.html
Copyright © 2011-2022 走看看