项目中遇到的function

本文介绍了一系列ABAP GUI操作与数据处理的方法,包括文件上传下载、字符串检查、日期验证、数值编辑等实用功能,并通过进度条示例展示了如何在ABAP中实现动态更新界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ファイルをアップロード

GUI_UPLOAD  

ファイルをダウンロード

GUI_DOWNLOAD 

前0を埋める

CONVERSION_EXIT_ALPHA_INPUT

前0を捨てる

CONVERSION_EXIT_ALPHA_OUTPUT

文字列チェック半角 (INPUT)

CONVERSION_EXIT_ZCHR2_INPUT

日付妥当性チェック

DATE_CHECK_PLAUSIBILITY

数値項目の編集とチェック

NUMERIC_CHECK

番号範囲: 次自由番号の割当

NUMBER_GET_NEXT

ポップアップ画面表示

POPUP_TO_INFORM

メッセージ取得(Tr-cd:SE93 メッセージを照会)

RS_MSG_TEXT

負号が前に置く (123- ⇒ -123)

CLOI_PUT_SIGN_IN_FRONT

進度条

SAPGUI_PROGRESS_INDICATOR

計画長さ、又は字符で割って内部に格納する

RKD_WORD_WRAP

入力日付より、該当月の最後日を取得

RP_LAST_DAY_OF_MONTHS

時刻の計算

C14B_ADD_TIME

通貨額換算(テーブル TCURR による換算レート決定)

READ_EXCHANGE_RATE

通貨額換算(金額、通貨コード、日付を基準としたレート検索)

CALCULATE_EXCHANGE_RATE


关于進度条,为了便于理解,自己做了个小例子

DATA: A LIKE SY-UCOMM.
DO 100 TIMES.
  DO 300 TIMES.
    GET TIME.
  ENDDO.
  A(3) = SY-INDEX.A+3 = '%'.
  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
       EXPORTING
            PERCENTAGE = SY-INDEX
            TEXT       = A.
ENDDO.






在 Vue 项目中遇到 `crypto.hash is not a function` 错误,通常是因为项目运行在不支持该 API 的 Node.js 版本上,或者在浏览器环境中错误地使用了 Node.js 的 `crypto` 模块。 ### Node.js 版本不兼容 `crypto.hash` 是 Node.js 的 `crypto` 模块中的一个函数,用于生成哈希值。然而,该函数仅在 **Node.js 20.12.0** 或 **Node.js 21.7.0** 及以上版本中可用。如果使用较旧版本的 Node.js,例如 Node.js 16 或 18,该函数将不可用,从而导致 `TypeError: crypto.hash is not a function` 错误。 解决此问题的最直接方法是升级 Node.js 到支持该 API 的版本。可以使用 `nvm`(Node Version Manager)来切换 Node.js 版本,例如: ```bash nvm install 20.12.0 nvm use 20.12.0 ``` 这样可以确保项目运行在兼容的 Node.js 版本上,从而避免此类错误 [^1]。 ### 在浏览器中使用 `crypto` 模块 如果在 Vue 项目的前端代码中尝试使用 `crypto.hash`,则会遇到错误,因为浏览器环境不支持 Node.js 的内置模块,如 `crypto`。在这种情况下,需要使用适用于浏览器的加密库,例如 [`crypto-js`](https://www.npmjs.com/package/crypto-js) 或 [`forge`](https://www.npmjs.com/package/node-forge)。 例如,使用 `crypto-js` 实现 SHA-256 哈希: ```bash npm install crypto-js ``` 然后在 Vue 组件中使用: ```javascript import CryptoJS from 'crypto-js'; const hash = CryptoJS.SHA256('Hello, world!'); console.log(hash.toString()); ``` 这种方式可以确保在浏览器环境中正确执行加密操作 [^2]。 ### 使用 Webpack 或 Vite 配置 Polyfill 如果项目依赖某些 Node.js 内置模块(如 `crypto`),并且需要在浏览器中运行这些代码,可以考虑通过构建工具(如 Webpack 或 Vite)配置 Polyfill。例如,在 Vite 项目中可以通过安装 `vite-plugin-node-polyfills` 来实现: ```bash npm install vite-plugin-node-polyfills ``` 然后在 `vite.config.js` 中添加: ```javascript import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import { nodePolyfills } from 'vite-plugin-node-polyfills'; export default defineConfig({ plugins: [ vue(), nodePolyfills(), ], optimizeDeps: { include: ['crypto'], }, }); ``` 这样可以在浏览器中模拟部分 Node.js 环境功能,从而支持 `crypto` 模块的部分 API [^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值