首页 > 解决方案 > ** 数字输入 / 中的无效字符。(76) - 进步 4GL

问题描述

我面临以下功能的问题。我将其导出到 .xml 文件,在日志文件中我收到错误“** 数字输入 /.(76) 中的无效字符”。请帮我解决这个问题。

CLASS JITS.BE.ANDON.DataItems :

    CONSTRUCTOR PUBLIC DataItems():        
    END.

    DEFINE PUBLIC VARIABLE cValue               AS LONGCHAR NO-UNDO.

    DEFINE TEMP-TABLE AlertList NO-UNDO 
           FIELD Item AS CLASS Progress.Lang.Object.
     /* Method for storing alerts against an item instance */
    METHOD PUBLIC VOID AddAlerts(INPUT alert AS CLASS JITS.BE.ANDON.Alerts):
        CREATE AlertList.
        AlertList.Item = alert.
    END.

    /* Method to retrieve alerts against an instance */
    METHOD PUBLIC VOID GetAlerts(OUTPUT TABLE  AlertList):
    END.    

END CLASS.



FUNCTION GETLASTSEQDATETIME RETURNS CHARACTER (INPUT mYObj AS CLASS JITS.BE.ANDON.DataItems):

  ASSIGN mYObj:cValue = '99/99/9999 00:00:00'.

  FIND FIRST sfcf_au where sfcf_au.assu_id = ENTRY(2,mYObj:CPARAMETER,"|") NO-LOCK NO-ERROR.
  FIND FIRST sfcf_au_ship OF sfcf_au NO-LOCK NO-ERROR. 

  FOR LAST comh_corder_version_head NO-LOCK:
      ASSIGN 
           mYObj:cValue = STRING(comh_corder_version_head.covh_received_date) + " " + STRING(comh_corder_version_head.covh_received_time,"HH:MM:SS"). 

      LEAVE.
  END.

    RETURN ''.
END FUNCTION.

标签: openedgeprogress-4gl

解决方案


我很难理解你的代码片段。例如,我看不到 myObj:CPARAMETER 来自哪里,或者它的值是什么。你也没有告诉我们错误来自哪里,所以我不得不猜测并做出假设。如果您想知道错误来自哪里,那么您需要在代码中添加调试消息。

但我认为是使用 myObj:CPARAMETER 导致了错误。而且我还假设在某种程度上它有一个日期。我假设 assu_id 是一个整数值,并且 ABL 正在将 ENTRY (2,...) 运行时转换为 INT 失败,因为 ENTRY 是一个字符值,然后将其转换为一个 INT。

不过,所有这些都是基于假设。


推荐阅读