ABAP代码

ABAP 技能

  • 1 日期时间格式(YYYY-MM-DD HH:MM:SS)
  • 2 DBCO 链接
  • 3获取登录的PC账户

1 日期时间格式(YYYY-MM-DD HH:MM:SS)

data: lv_date type string,
        lv_DATe2 like TZONREF-TSTAMPS.
        
CALL FUNCTION 'IB_CONVERT_INTO_TIMESTAMP'
    EXPORTING
      I_DATLO     = SY-DATUM
      I_TIMLO     = SY-UZeit
      I_TZONE     = SY-ZONLO
    IMPORTING
      E_TIMESTAMP = lv_date2.

  CALL FUNCTION 'CONVERSION_EXIT_TSTLC_OUTPUT'
    EXPORTING
      INPUT  = lv_date2
    IMPORTING
      OUTPUT = lv_date.

2 DBCO 链接


FORM FRM_CONDB USING PV_CON.
TRY.
      " 连接到DBS并将其置为当前连接,其后所有的SQL命令都通过其执行。如果到DBS的连接已经存在,复用此连接,否则新建连接。
      EXEC SQL.
        connect to :PV_CON
      ENDEXEC.

      IF SY-SUBRC = 0.

      ENDIF.

      "设置当前连接。可以是DBCON列CON_NAME值,或建连接用的con。
      EXEC SQL.
        set connection :PV_CON
      ENDEXEC.

      IF SY-SUBRC = 0.

      ENDIF.
  ENDTRY.
  ENDFORM.   

传输数据:
form  frm_tran_data.
 DATA: ICX_SY_NATIVE_SQL_ERROR TYPE REF TO    CX_SY_NATIVE_SQL_ERROR.
  DATA: ERRO_TEXT TYPE STRING.
 LOOP AT Z_HEAD.
    TRY.
      EXEC SQL.
        INSERT INTO SAPPackingListHeader
                      (PackingListNum,
                       datetime,
                       ref_str,
                       PackingListType
                       )
               VALUES (:Z_HEAD-PackingListNum,
                       :Z_HEAD-z_DATE,
                       :Z_HEAD-REF_STR,
                       :Z_HEAD-PackingListType
                      )
      ENDEXEC.

      CATCH cx_sy_native_sql_error INTO icx_sy_native_sql_error.
        erro_text = icx_sy_native_sql_error->get_text( ).
    ENDTRY.

      IF NOT erro_text IS INITIAL.
      CLEAR erro_text.
      EXEC SQL.
        rollback
      ENDEXEC.
      ELSE.
      EXEC SQL.
        commit
      ENDEXEC.
    ENDIF.
endform.

断开链接:
FORM FRM_DISCONDB USING PV_CON.
  EXEC SQL.
    DISCONNECT :PV_CON
  ENDEXEC.
ENDFORM.     

3获取登录的PC账户

DATA: username TYPE string.
CALL METHOD cl_gui_frontend_services=>get_user_name
      CHANGING
        user_name            = username
      EXCEPTIONS
        cntl_error           = 1
        error_no_gui         = 2
        not_supported_by_gui = 3
        OTHERS               = 4.

    CALL METHOD cl_gui_cfw=>flush
      EXCEPTIONS
        cntl_system_error = 1
        cntl_error        = 2
        OTHERS            = 3.


    TRANSLATE username TO UPPER CASE.

你可能感兴趣的:(ABAP)