【实习之T100开发】T100 单档程序开发,java面试常问的面试题

这篇博客详细介绍了T100单档程序的开发过程,包括修改逻辑、函数调用和事务处理。作者强调了在Java面试中常见的问题,并提供了在oozyuc表中进行数据操作的示例代码,如cooi666_modify_sfz()函数的实现。文章还提到了在整单操作中新增【产生单据】按钮的步骤,涉及数据复制和事务管理。此外,博主分享了自己的职业经历,包括在大厂的工作经验。
摘要由CSDN通过智能技术生成

5、程序中修改逻辑***


设计器中新增函数

在这里插入图片描述

在这里插入图片描述

不要忘记在 ui_dialog 里定义变量:

DEFINE l_success LIKE type_t.num10

ON ACTION modify_sfz 处添加代码:

#應用 a43 樣板自動產生(Version:4)

ON ACTION modify_sfz

LET g_action_choice=“modify_sfz”

IF cl_auth_chk_act(“modify_sfz”) THEN

#add-point:ON ACTION modify_sfz name=“menu2.modify_sfz”

#单据必须是审核状态才能执行这个功能

IF g_oozyuc_m.oozyucstus = ‘Y’ THEN

#因为修改画面上的身份证需要异动到数据表,所以需要开启事务

CALL s_transaction_begin()

#通过下面函数返回的l_success,判断事务是提交还是回滚

CALL cooi666_modify_sfz() RETURNING l_success

IF NOT l_success THEN

CALL s_transaction_end(‘N’, ‘0’) #回滚

ELSE

CALL s_transaction_end(‘Y’, ‘0’) #提交

END IF

ELSE #报错,单据状态不是审核,不能点此按钮

INITIALIZE g_errparam TO NULL

LET g_errparam.extend = “”

LET g_errparam.code = “coo-00667” #azzi920维护错误代码

LET g_errparam.popup = TRUE

CALL cl_err()

EXIT MENU #报错后退出MENU

END IF

#END add-point

END IF

然后去写 cooi666_modify_sfz() 函数的代码:

PRIVATE FUNCTION cooi666_modify_sfz()

DEFINE l_success LIKE type_t.num10 #返回值

#将返回值默认为TRUE,在下面如果有报错就默认为false,表示事务会执行回滚

LET l_success = TRUE

#先开启游标,找的是MAIN函数里面的for update的游标,目的是为了锁住这边资料不被其他人修改

OPEN cooi666_cl USING g_enterprise,g_oozyuc_m.oozyuc00

#这里是判断cooi123_cl这个游标对应得SQL语句有无报错

IF STATUS THEN #若报错,走下面的报错信息,并且关闭游标,直接返回FALSE

INITIALIZE g_errparam TO NULL

LET g_errparam.extend = “OPEN cooi666_cl:”

LET g_errparam.code = STATUS

LET g_errparam.popup = TRUE

CALL cl_err()

CLOSE cooi666_cl #关闭游标

LET l_success = FALSE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值