客户 外币账龄报表

47 篇文章 3 订阅
*&---------------------------------------------------------------------*
*& Report  ZDBCO_SD_CREDIT_INFO
*&
*&---------------------------------------------------------------------*
*&from wjg:zwbzl + 授信
*&tcode: zsd10
*&---------------------------------------------------------------------*

REPORT ZDBCO_SD_CREDIT_INFO.

TABLES:KNKK,BSID,KNA1,BSAD,T691T.

TYPES:BEGIN OF WTAB,
  KONZS LIKE KNA1-KONZS, "组代码
  KUNNR LIKE KNA1-KUNNR,  "客户号
  NAME1 LIKE KNA1-NAME1, "姓名
  SKFOR LIKE KNKK-SKFOR,  "应收总额
  SAUFT LIKE KNKK-SAUFT,  "销售额
  KLIMK LIKE KNKK-KLIMK,  "信贷限额
  CTLPC LIKE KNKK-CTLPC,   "信贷风险类别
  KNKLI LIKE KNKK-KNKLI,   "借贷账号
  KKBER LIKE KNKK-KKBER,   "信贷范围
  OBLIG LIKE KNKK-KLIMK,   "信贷风险总额
  WAERB LIKE BSID-WAERS,   "信贷币种
  WRBTR LIKE KNKK-KLIMK,    "超账期金额
  WRBTR0 LIKE KNKK-KLIMK,
  WRBTR1 LIKE KNKK-KLIMK,
  WRBTR2 LIKE KNKK-KLIMK,
  WRBTR3 LIKE KNKK-KLIMK,
  WRBTR4 LIKE KNKK-KLIMK,
  WRBTR5 LIKE KNKK-KLIMK,
  WRBTR6 LIKE KNKK-KLIMK,
  WRBTR7 LIKE KNKK-KLIMK,
  WRBTR8 LIKE KNKK-KLIMK,
  WRBTR9 LIKE KNKK-KLIMK,
  WAERS LIKE BSID-WAERS,
  RTEXT LIKE T691T-RTEXT,   "风险种类描述
END OF WTAB.

DATA:
      STDATUM LIKE SY-DATUM,
      STUZEIT LIKE SY-UZEIT,
      GT_DATA     TYPE TABLE OF WTAB,
      GS_DATA     TYPE WTAB,
      GT_FIELDCAT TYPE LVC_T_FCAT,
      GS_FIELDCAT TYPE LVC_S_FCAT,
      GS_LAYOUT   TYPE LVC_S_LAYO.

DATA:BEGIN OF gd,
  d1 TYPE d,
  d2 TYPE d,
  d3 TYPE d,
  d4 TYPE d,
  d5 TYPE d,
  d6 TYPE d,
  d7 TYPE d,
  d8 TYPE d,
END OF gd.

*t_itab类型处理未清类型凭证
TYPES:BEGIN OF t_itab,
  belnr LIKE bsid-belnr,                              "凭证编号
  kunnr LIKE bsid-kunnr,                              "客户编号1
  name1 LIKE kna1-name1,                              "名称1
  blart LIKE bsid-blart,                              "凭证类型
  waers LIKE bsid-waers,                              "贷币代码
  dmbtr LIKE bsid-dmbtr,                              "按本位币的金额
  wrbtr LIKE bsid-wrbtr,                              "凭证货币金额
  shkzg LIKE bsid-shkzg,                              "借方/货方标识(H 为负)
  budat LIKE bsid-budat,                              "记帐日期
  rebzg LIKE bsid-rebzg,                            "发票参考号
  rebzj  LIKE bsid-rebzj,                            "参考发票的会计年度
  budat2 LIKE bsid-budat,                            "参考发票的日期
END OF t_itab.

DATA:itab TYPE TABLE OF t_itab WITH NON-UNIQUE KEY kunnr waers WITH HEADER  LINE.

SELECTION-SCREEN BEGIN OF BLOCK 001 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS S_KUNNR FOR KNA1-KUNNR DEFAULT '400000' to '610000'.          "物料代码
SELECT-OPTIONS S_BUKRS FOR BSID-BUKRS DEFAULT '1000'.          "工厂
SELECT-OPTIONS S_KKBER FOR KNKK-KKBER DEFAULT '2000' no INTERVALS.          "信贷范围
SELECT-OPTIONS S_GSBER FOR BSID-GSBER DEFAULT '0001'.          "业务范围
PARAMETERS:PBUDAT LIKE BSID-BUDAT DEFAULT sy-datum.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-002.
*modified by jack_cao 2007.12.07
PARAMETERS: rast1(4) TYPE C  DEFAULT '0000'.
PARAMETERS: rast2(4) TYPE C   DEFAULT '0030'.
PARAMETERS: rast3(4) TYPE C   DEFAULT '0060'.
PARAMETERS: rast4(4) TYPE C   DEFAULT '0090'.
PARAMETERS: rast5(4) TYPE C   DEFAULT '0120'.
PARAMETERS: rast6(4) TYPE C   DEFAULT '0150'.
PARAMETERS: rast7(4) TYPE C   DEFAULT '0180'.
PARAMETERS: rast8(4) TYPE C   DEFAULT '0210'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN ULINE.

SELECTION-SCREEN END OF BLOCK 001.

SELECTION-SCREEN  BEGIN  OF  BLOCK  B2 WITH  FRAME TITLE TXT2.

PARAMETERS: PCONME1 LIKE DBCON-CON_NAME DEFAULT 'ORA_209MES'.
SELECTION-SCREEN  END  OF  BLOCK  B2  .

INITIALIZATION.
  TXT2 = '目标数据库(不选择即空着,当前目标不同步)'.

START-OF-SELECTION.
  STDATUM = SY-DATUM.
  STUZEIT = SY-UZEIT.
  PERFORM GET_DATA.
  PERFORM PROCESS_DATA.
  if PCONME1 is not INITIAL and pconme1 NE space.
    PERFORM UPLOAD2DBCENTER USING PCONME1.
  endif.
  PERFORM WRITERPTRUNRECORD.
  PERFORM DISPLAY_DATA.

*&---------------------------------------------------------------------*
*&      Form  UPLOAD2DBCENTER
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_DBNAME   text
*      -->CNT        text
*----------------------------------------------------------------------*
FORM UPLOAD2DBCENTER USING  P_DBNAME like DBCON-CON_NAME.
  DATA:lcnt TYPE I .
  DATA: lcx_error TYPE REF TO cx_root.
  DATA: err_text TYPE C LENGTH 1000.
  DATA: ll_lines(10),"行数
        ll_tabix(10),"循环标号
        ll_pecnt TYPE p LENGTH 6 DECIMALS 2,"百分比
        ll_pecet(6),"百分数
        ll_text(40)."消息
  CLEAR: ll_lines,ll_tabix,ll_pecnt,ll_pecet,ll_text.
  TRY.
      PERFORM GETCON USING P_DBNAME.

      DESCRIBE TABLE GT_DATA LINES ll_lines."获取内表行数
      LOOP AT GT_DATA into gs_Data.

        ll_tabix = sy-tabix."当前处理的行号
        ll_pecnt = ll_tabix / ll_lines * 100."已处理百分比
        ll_pecet = ll_pecnt.
        "拼接显示消息
        CONCATENATE '上传209中间库:已完成' ll_pecet '%,共' ll_tabix '条/' ll_lines '条' INTO ll_text.
        CONDENSE ll_text."整理格式,去掉多余空格,格式更整齐
        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'"调用进度条函数,传入百分比和消息
        EXPORTING
          percentage = ll_pecnt
          TEXT       = ll_text.
        SHIFT GS_DATA-KUNNR LEFT DELETING LEADING '0'.
        SHIFT GS_DATA-KONZS LEFT DELETING LEADING '0'.
        SHIFT GS_DATA-KNKLI LEFT DELETING LEADING '0'.
        lcnt = lcnt + 1.
        EXEC SQL.
          DELETE FROM CRM_ACCOUNTS_RECEIVABLE_ERP WHERE CUSTNO = :GS_DATA-KUNNR
        ENDEXEC.
        commit WORK AND WAIT.

        EXEC SQL.
          INSERT INTO  CRM_ACCOUNTS_RECEIVABLE_ERP
          (GRPNO
          ,CUSTNO
        ,CUSTNAME
        ,SKFOR
        ,SAUFT
        ,OBLIG
        ,KLIMK
        ,CTLPC
        ,KNKLI
        ,WAERB
        ,KKBER
        ,WRBTR
        ,WRBTR0
        ,WRBTR1
        ,WRBTR2
        ,WRBTR3
        ,WRBTR4
        ,WRBTR5
        ,WRBTR6
        ,WRBTR7
        ,WRBTRN
        ,WAERS
        ,RTEXT  )
          VALUES
          (:GS_DATA-KONZS,
          :GS_DATA-KUNNR,
          :GS_DATA-NAME1,
        :GS_DATA-SKFOR,
        :GS_DATA-SAUFT,
        :GS_DATA-OBLIG,
        :GS_DATA-KLIMK,
        :GS_DATA-CTLPC,
        :GS_DATA-KNKLI,
        :GS_DATA-WAERB,
        :GS_DATA-KKBER,
        :GS_DATA-WRBTR,
        :GS_DATA-WRBTR1,
        :GS_DATA-WRBTR2,
        :GS_DATA-WRBTR3,
        :GS_DATA-WRBTR4,
        :GS_DATA-WRBTR5,
        :GS_DATA-WRBTR6,
        :GS_DATA-WRBTR7,
        :GS_DATA-WRBTR8,
        :GS_DATA-WRBTR9,
        :GS_DATA-WAERS,
        :GS_DATA-RTEXT )
        ENDEXEC.
      endloop.
      PERFORM CLOSECON USING P_DBNAME.

    CATCH cx_sy_open_sql_db CX_SY_NATIVE_SQL_ERROR INTO lcx_error.
      err_text = lcx_error->get_text( ). "得到错误信息
      WRITE:/ SY-VLINE, '上传数据到',P_DBNAME,'失败,原因:',err_text , SY-VLINE.
  ENDTRY.
  WRITE:/ SY-VLINE, '上传数据',lcnt,'/',ll_lines,'到',P_DBNAME,'成功', SY-VLINE.
  WRITE:/ SY-ULINE.
ENDFORM.                    "UPLOAD2DBCENTER

*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GET_DATA.
  data:sauft1 like s066-OEIKW.
  data:sauft2 like s067-OLIKW.
  SELECT KONZS kna1~KUNNR NAME1 SKFOR SAUFT KLIMK CTLPC  KNKLI KNKK~KKBER
    into TABLE GT_DATA
    FROM KNA1
    JOIN KNKK ON KNKK~KUNNR = KNA1~KUNNR
    WHERE kna1~KUNNR IN S_KUNNR AND KKBER IN S_KKBER.
  loop at gt_Data into gs_data.
    IF gs_data-KKBER = '2000'.
      select sum( OLIKW ) into sauft2 from s067
        where s067~kkber = gs_data-kkber and s067~KNKLI = gs_data-knkli.
      SELECT SUM( OEIKW ) INTO sauft1 FROM s066
      WHERE s066~kkber = gs_data-kkber AND s066~KNKLI = gs_data-knkli.
      gs_data-sauft = sauft1 + sauft2.
      gs_data-OBLIG = gs_data-SKFOR + gs_data-SAUFT.
      gs_data-WAERB  = 'USD'.

    endif.

    SELECT SINGLE rtext INTO Gs_data-RTEXT
    FROM T691T WHERE kkber = gs_data-kkber AND CTLPC = gs_data-CTLPC and spras = 1.

    modify gt_data from gs_Data.
  ENDLOOP.
ENDFORM.                    "GET_DATA

*&---------------------------------------------------------------------*
*&      Form  PROCESS_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM PROCESS_DATA.
  PERFORM getgd.
  loop at gt_data into gs_Data.
    FIELD-SYMBOLS:<itab> LIKE itab ,<fs> LIKE itab .
    DATA:loc_budat LIKE bsid-budat,loc_id TYPE I .
************ 获取未清项
    SELECT
    bsid~belnr
    bsid~kunnr
    kna1~name1
    bsid~blart
    bsid~waers
    SUM( bsid~dmbtr )
    SUM( bsid~wrbtr )
    bsid~shkzg
    bsid~budat
    bsid~rebzg
    bsid~rebzj
    INTO TABLE itab
    FROM bsid INNER JOIN kna1 ON ( bsid~kunnr = kna1~kunnr )
    WHERE bsid~bukrs in s_bukrs   AND
    bsid~kunnr EQ gs_data-KUNNR  AND
    bsid~waers EQ gs_data-WAERB  AND
    bsid~budat <= pbudat  AND
    bsid~gsber IN s_gsber AND
    bsid~umskz EQ space
    GROUP BY bsid~belnr
    bsid~kunnr
    kna1~name1
    bsid~blart
    bsid~shkzg
    bsid~waers
    bsid~budat
    bsid~rebzg
    bsid~rebzj.

    LOOP AT itab ASSIGNING <fs>.
      IF <fs>-shkzg EQ 'H' .
        <fs>-dmbtr = -1 * <fs>-dmbtr .
        <fs>-wrbtr = -1 * <fs>-wrbtr .
      ENDIF .
      IF <fs>-blart = 'AB' AND <fs>-rebzg NE space .
        SELECT SINGLE
        bsid~budat
        FROM bsid
        INTO <fs>-budat2
        WHERE bsid~belnr EQ <fs>-rebzg
        AND bsid~gjahr EQ <fs>-rebzj .

        IF sy-subrc NE 0 .
          SELECT SINGLE
          bsad~budat
          FROM bsad
          INTO <fs>-budat2
          WHERE bsad~belnr EQ <fs>-rebzg AND bsad~gjahr EQ <fs>-rebzj .
        ENDIF .
        <fs>-budat = <fs>-budat2.
      ENDIF.
      gs_data-WRBTR = gs_data-WRBTR + <FS>-WRBTR.
      IF     <fs>-budat >= gd-D1.
        gs_data-WRBTR1 = gs_data-WRBTR1 + <FS>-WRBTR.
      ELSEIF     <fs>-budat >= gd-D2.
        gs_data-WRBTR2 = gs_data-WRBTR2 + <FS>-WRBTR.
      ELSEIF     <fs>-budat >= gd-D3.
        gs_data-WRBTR3 = gs_data-WRBTR3 + <FS>-WRBTR.
      ELSEIF  <fs>-budat >= gd-D4.
        gs_data-WRBTR4 = gs_data-WRBTR4 + <FS>-WRBTR.
      ELSEIF <fs>-budat >= gd-D5.
        gs_data-WRBTR5 = gs_data-WRBTR5 + <FS>-WRBTR.
      ELSEIF <fs>-budat >= gd-D6.
        gs_data-WRBTR6 = gs_data-WRBTR6 + <FS>-WRBTR.
      ELSEIF <fs>-budat >= gd-D7.
        gs_data-WRBTR7 = gs_data-WRBTR7 + <FS>-WRBTR.
      ELSEIF     <fs>-budat >= gd-D8.
        gs_data-WRBTR8 = gs_data-WRBTR8 + <FS>-WRBTR.
      Else.
        gs_data-WRBTR9 = gs_data-WRBTR9 + <FS>-WRBTR.
      endif.
    ENDLOOP .
    gs_data-WAERS = gs_data-WAERB.
    MODIFY gt_data FROM gs_data.
  ENDLOOP.
ENDFORM.                    "PROCESS_DATA

*&---------------------------------------------------------------------*
*&      Form  getgd
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GETGD.
  DATA:LOC_NAME(10),
        LOC_TOTAL TYPE I,
        LOC_RASTBIS(4) TYPE C ,
*       LOC_RASTBIS TYPE ALLGROGR,
        LOC_POINT TYPE D.
  FIELD-SYMBOLS:<LOC_P> TYPE D.
  DO 8 TIMES.
    CLEAR LOC_NAME.
    LOC_NAME+0(1) = SY-INDEX.
    CONCATENATE 'RAST' LOC_NAME INTO LOC_NAME.
    CLEAR LOC_RASTBIS.
    WRITE (LOC_NAME) TO LOC_RASTBIS.
    ASSIGN COMPONENT SY-INDEX OF STRUCTURE GD TO <LOC_P>.
    <LOC_P> = PBUDAT - LOC_RASTBIS.
  ENDDO.
ENDFORM.                    "PROCESS_DATA

*&---------------------------------------------------------------------*
*&      FORM  WRITERPTRUNRECORD
*&---------------------------------------------------------------------*
*       获取数据
*----------------------------------------------------------------------*
FORM WRITERPTRUNRECORD.
  TYPES:BEGIN OF TYP_BW,
    BUKRS LIKE T001-BUKRS ,
    WERKS LIKE T001W-WERKS ,
  END OF typ_BW.

  DATA:
        GT_BW  TYPE TABLE OF TYP_BW,
        GS_BW  TYPE TYP_BW.

  GET TIME.
  CALL FUNCTION 'ZSYS_RPT_RUNRECORD'
    EXPORTING
      TCODE     = SY-TCODE
      PROGRAMM  = SY-CPROG
      DATUMRST  = STDATUM
      UZEITRST  = STUZEIT
      BATCH     = SY-BATCH
      DATUMREND = SY-datum
      UZEITREND = sy-UZEIT
      DATUMC    = '20220510'
      RUNNER    = SY-UNAME
      RPTSRC    = 'SD 王建国'.

ENDFORM.                    "WRITERPTRUNRECORD

*&---------------------------------------------------------------------*
*&      FORM  DISPLAY_DATA
*&---------------------------------------------------------------------*
*       显示数据
*----------------------------------------------------------------------*
FORM DISPLAY_DATA.
  PERFORM BUILD_FIELDCAT USING 'KONZS' '' '' '' '' '' '' '组代码' 'X'.
  PERFORM BUILD_FIELDCAT USING 'KUNNR' '' '' '' '' '' '' '客户号' 'X'.
  PERFORM BUILD_FIELDCAT USING 'NAME1' '' '' '' '' '' '' '客户名称' 'X'.
  PERFORM BUILD_FIELDCAT USING 'SKFOR' '' '' '' '' '' '' '应收总额' 'X'.
  PERFORM BUILD_FIELDCAT USING 'SAUFT' '' '' '' '' '' '' '销售额' 'X'.
  PERFORM BUILD_FIELDCAT USING 'OBLIG' '' '' '' '' '' '' '信贷风险' 'X'.
  PERFORM BUILD_FIELDCAT USING 'KLIMK' '' '' '' '' '' '' '信贷限额' 'X'.
  PERFORM BUILD_FIELDCAT USING 'CTLPC' '' '' '' '' '' '' '信贷风险' 'X'.
  PERFORM BUILD_FIELDCAT USING 'KNKLI' '' '' '' '' '' '' '信贷账户' 'X'.
  PERFORM BUILD_FIELDCAT USING 'KKBER' '' '' '' '' '' '' '信贷范围' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WAERB' '' '' '' '' '' '' '信贷币种' 'X'.

  PERFORM BUILD_FIELDCAT USING 'WRBTR' '' '' '' '' '' '' '超账期总金额' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WRBTR1' '' '' '' '' '' '' '账龄1' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WRBTR2' '' '' '' '' '' '' '账龄2' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WRBTR3' '' '' '' '' '' '' '账龄3' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WRBTR4' '' '' '' '' '' '' '账龄4' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WRBTR5' '' '' '' '' '' '' '账龄5' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WRBTR6' '' '' '' '' '' '' '账龄6' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WRBTR7' '' '' '' '' '' '' '账龄7' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WRBTR8' '' '' '' '' '' '' '账龄8' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WRBTR9' '' '' '' '' '' '' '账龄9' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WAERS' '' '' '' '' '' '' '凭证货币' 'X'.
  gs_layout-cwidth_opt = 'X'.
  gs_layout-zebra = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      I_CALLBACK_PROGRAM      = SY-REPID
                                                                                "      I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_ALV'
      I_CALLBACK_USER_COMMAND = 'USER_COMMAND_ALV'
      IT_FIELDCAT_LVC         = GT_FIELDCAT
      IS_LAYOUT_LVC           = GS_LAYOUT
      I_DEFAULT               = 'X'
      I_SAVE                  = 'A'
    TABLES
      T_OUTTAB                = GT_DATA
    EXCEPTIONS
      OTHERS                  = 1.

  CLEAR GT_DATA[].
ENDFORM.                    "DISPLAY_DATA

*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
FORM BUILD_FIELDCAT USING P_FIELDNAME   TYPE FIELDNAME
      P_QFIELDNAME  TYPE LVC_QFNAME
      P_CFIELDNAME  TYPE LVC_CFNAME
      P_REF_TABLE   TYPE LVC_RTNAME
      P_REF_FIELD   TYPE LVC_RFNAME
      P_CONVEXIT    TYPE CONVEXIT
      P_EMPHASIZE   TYPE LVC_EMPHSZ
      P_SCRTEXT_L   TYPE SCRTEXT_L
      P_NO_ZERO     TYPE XFLAG.
  GS_FIELDCAT-FIELDNAME     = P_FIELDNAME.
  GS_FIELDCAT-QFIELDNAME    = P_QFIELDNAME.
  GS_FIELDCAT-CFIELDNAME    = P_CFIELDNAME.
  GS_FIELDCAT-REF_TABLE     = P_REF_TABLE.
  GS_FIELDCAT-REF_FIELD     = P_REF_FIELD.
  GS_FIELDCAT-CONVEXIT      = P_CONVEXIT.
  GS_FIELDCAT-EMPHASIZE     = P_EMPHASIZE.
  GS_FIELDCAT-SCRTEXT_L     = P_SCRTEXT_L.
  GS_FIELDCAT-NO_ZERO   = P_NO_ZERO.
  GS_FIELDCAT-COLDDICTXT    = 'L'.
  APPEND GS_FIELDCAT TO GT_FIELDCAT.
  CLEAR: GS_FIELDCAT.
ENDFORM.                    "BUILD_FIELDCAT

**&---------------------------------------------------------------------*
**&      FORM  PF_STATUS_ALV
**&---------------------------------------------------------------------*
**       TEXT
**----------------------------------------------------------------------*
*FORM PF_STATUS_ALV USING RT_EXTAB TYPE SLIS_T_EXTAB .
*  SET PF-STATUS 'STATUS_ALV' EXCLUDING RT_EXTAB.
*ENDFORM.                    "PF_STATUS_ALV
*&---------------------------------------------------------------------*
*&      FORM  USER_COMMAND_ALV
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
FORM USER_COMMAND_ALV USING R_UCOMM     LIKE SY-UCOMM
      RS_SELFIELD TYPE SLIS_SELFIELD.
  CASE R_UCOMM.
    WHEN '&IC1'.
      CASE RS_SELFIELD-FIELDNAME.
        WHEN ''.
*          CHECK RS_SELFIELD-VALUE IS NOT INITIAL.
*          SET PARAMETER ID 'MBN' FIELD RS_SELFIELD-VALUE.
*          CALL TRANSACTION 'MB03' AND SKIP FIRST SCREEN.
      ENDCASE.
  ENDCASE.
ENDFORM.                    "USER_COMMAND_ALV


*&---------------------------------------------------------------------*
*&      FORM  GETCON
*&---------------------------------------------------------------------*
*       TEXT 调用外部数据库
*----------------------------------------------------------------------*
FORM GETCON USING P_DBNAME LIKE DBCON-CON_NAME.
  EXEC SQL.
    CONNECT TO :P_DBNAME
  ENDEXEC.
  IF SY-SUBRC NE 0.
    WRITE:/ '连接数据库失败'.
  ENDIF.
  EXEC SQL.
    SET CONNECTION :P_DBNAME
  ENDEXEC.
ENDFORM.                    "GETCON

*&---------------------------------------------------------------------*
*&      FORM  CLOSECON
*&---------------------------------------------------------------------*
*       TEXT  关闭外部数据库
*----------------------------------------------------------------------*

FORM CLOSECON USING P_DBNAME LIKE DBCON-CON_NAME.
  COMMIT CONNECTION (P_DBNAME).
  EXEC SQL.
    DISCONNECT :P_DBNAME
  ENDEXEC.
ENDFORM.                    "CLOSECON

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gavin_gxh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值