04 T100手册 双档adet400Word文档格式.docx

上传人:b****2 文档编号:1492483 上传时间:2023-04-30 格式:DOCX 页数:53 大小:182.42KB
下载 相关 举报
04 T100手册 双档adet400Word文档格式.docx_第1页
第1页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第2页
第2页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第3页
第3页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第4页
第4页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第5页
第5页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第6页
第6页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第7页
第7页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第8页
第8页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第9页
第9页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第10页
第10页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第11页
第11页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第12页
第12页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第13页
第13页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第14页
第14页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第15页
第15页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第16页
第16页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第17页
第17页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第18页
第18页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第19页
第19页 / 共53页
04 T100手册 双档adet400Word文档格式.docx_第20页
第20页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

04 T100手册 双档adet400Word文档格式.docx

《04 T100手册 双档adet400Word文档格式.docx》由会员分享,可在线阅读,更多相关《04 T100手册 双档adet400Word文档格式.docx(53页珍藏版)》请在冰点文库上搜索。

04 T100手册 双档adet400Word文档格式.docx

19)

13IMPORTos

14IMPORTutil

15IMPORTFGLlib_cl_dlg

16#add-point:

增加汇入项目

17程序中若需要使用JAVA或Genero原生lib均须在此处设置IMPORT

18#endadd-point

19SCHEMAds

20GLOBALS"

../../cfg/top_global.inc"

21

22#add-point:

增加汇入变量文件

23部分大型程序需要拥有自己的inc参数配置文件,可以自行于此处汇入

24#endadd-point

25

程式需使用的全域變數,變數資料從畫面欄位取出,不可增減

26#单头type宣告

27PRIVATEtypetype_g_deaq_mRECORD

62#add-point:

传入参数说明(global.argv)

Form和currentwindow都有指定全域物件,因此可以直接使用物件操作

63程序中若需要自行增加要用的全局变量则可于此处设定

64#endadd-point

65#add-point:

66自动补入azzi900的参数定义说明特别写法

67#argv[1]imaa_t.imaa002

68#argv[2]type_t.chr1#测试用参数

69#endadd-point

70{<

/section>

4.4.2主程序

adet400.main"

02#+此段落由子样板a26产生

03#OPTIONSSHORTCIRCUIT

04#+作业开始

05MAIN

同单档

68ENDMAIN

69{<

4.4.3_init初始化

adet400.init"

02#+浏览页签数据初始化

03PRIVATEFUNCTIONadet400_init()

22ENDFUNCTION

23{<

4.4.4_default_search执行后首次查询数据

adet400.default_search"

02#+外部参数搜寻

03PRIVATEFUNCTIONadet400_default_search()

31ENDFUNCTION

32{<

4.4.5_ui_dialog操作功能选单

adet400.ui_dialog"

02#+功能选单

03PRIVATEFUNCTIONadet400_ui_dialog()

04DEFINEli_exitLIKEtype_t.num5#判别是否为离开作业

05DEFINEls_wcSTRING#wc用

06DEFINEla_paramRECORD#程序串查用变量

07progSTRING,#串查程序名称

08paramDYNAMICARRAYOFSTRING#传递变数

09ENDRECORD

10DEFINEls_jsSTRING#转换后的json字符串

11CALLcl_set_act_visible("

accept,cancel"

FALSE)

12

13#因应查询方案进行处理

程式開啟時顯示的頁面為瀏覽頁籤,此處先隱藏單頭/單身資訊頁,只顯示瀏覽頁

14CALLgfrm_curr.setElementImage("

logo"

"

logo/applogo.png"

15IFg_defaultTHEN

16CALLgfrm_curr.setElementHidden("

mainlayout"

0)

17CALLgfrm_curr.setElementHidden("

worksheet"

1)

18LETg_main_hidden=0

19ELSE

20CALLgfrm_curr.setElementHidden("

21CALLgfrm_curr.setElementHidden("

22LETg_main_hidden=1

23ENDIF

若程式有預設行為,則在進入此段時會先直接該動作

24

25#actiondefault动作

同单档

40LETlb_first=TRUE

41WHILETRUE

42

當使用者進行營運據點切換時會離開dialog並重新進入,視同重啟程式,清空畫面上已經查詢條件等資訊

43IFg_action_choice="

logistics"

THEN

44#清除画面及相关资料

45CLEARFORM

46CALLg_browser.clear()

47INITIALIZEg_deaq_m.*TONULL

48CALLg_dear_d.clear()

49LETg_wc='

1=2'

50LETg_wc2='

1=1'

51LETg_action_choice="

"

52CALLadet400_init()

53ENDIF

54

55#先填充browser数据

56CALLlib_cl_dlg.cl_dlg_before_display()

57CALLcl_notice()

58

59DIALOGATTRIBUTES(UNBUFFERED,FIELDORDERFORM)

60

61#左侧浏览页签

62DISPLAYARRAYg_browserTOs_browse.*ATTRIBUTES(COUNT=g_header_cnt)

69ENDDISPLAY

70

71DISPLAYARRAYg_dear_dTOs_detail1.*ATTRIBUTES(COUNT=g_rec_b)#page1

72BEFOREROW

73#显示单身笔数

74CALLadet400_idx_chk()

75#确定当下选择的笔数

76LETl_ac=DIALOG.getCurrentRow("

s_detail1"

77LETg_detail_idx=l_ac

78

此樣板同時支援第一階單身及第二階單身,此處的控制段是當資料停留在第一階單身時筆數的控制

79BEFOREDISPLAY

80#如果一直都在第一阶则控制笔数位置

81IFg_loc='

m'

82CALLFGL_SET_ARR_CURR(g_detail_idx)

83ENDIF

84LETg_loc='

85LETl_ac=DIALOG.getCurrentRow("

根據當下所停留的頁面,顯示該頁面的筆數資訊

86LETg_current_page=1

87#显示单身笔数

88CALLadet400_idx_chk()

89ENDDISPLAY

此處採用subdialog寫法,引入額外的兩個dialog資訊

90

91SUBDIALOGlib_cl_dlg.cl_dlg_qryplan

92SUBDIALOGlib_cl_dlg.cl_dlg_relateapps

93

94BEFOREDIALOG

95#先填充browser数据

96CALLadet400_browser_fill("

97CALLcl_navigator_setting(g_current_idx,g_detail_cnt)

98LETg_curr_diag=ui.DIALOG.getCurrent()

99LETg_current_sw=FALSE

100#回归旧笔数位置(回到当时异动的笔数)

110LETg_current_sw=TRUE

111LETg_current_row=g_current_idx#目前指标

112

113#有数据才进行fetch

114IFg_current_idx<

>

0THEN

115CALLadet400_fetch('

'

)#reloaddata

116ENDIF

117#LETg_detail_idx=1

118CALLadet400_ui_detailshow()#Settingthecurrentrow

119

120#笔数显示

121LETg_current_page=1

122CALLadet400_idx_chk()

123

124#状态代码切换action

134

135#+此段落由子样板a43产生

當使用者直接雙點擊單身進入修改段落時會先經過此action,並判定當下所選擇的單身,直接進入到該單身的第一個欄位

136ONACTIONmodify_detail

137LETg_action_choice="

modify_detail"

138IFcl_auth_chk_act("

modify"

)THEN

139LETg_aw=g_curr_diag.getCurrentItem()

140CALLadet400_modify()

141EXITDIALOG

142ENDIF

154CONTINUEDIALOG

155ENDDIALOG

156

157IFg_action_choice="

exit"

ANDNOTcl_null(g_action_choice)THEN

158EXITWHILE

159ENDIF

160

161ENDWHILE

162

163CALLcl_set_act_visible("

TRUE)

164

165ENDFUNCTION

166{<

4.4.6_browser_fill浏览页签数据填充

瀏覽頁資料填充的段落大致上與單檔相同,差異僅在於統計資料筆數與搜尋資料時會納入單身的搜尋條件(g_wc2)

adet400.browser_fill"

02#+浏览页签数据填充

03PRIVATEFUNCTIONadet400_browser_fill(ps_page_action)

12IFg_wc2<

"

1=1"

13#单身有输入搜寻条件

14LETl_sub_sql="

SELECTUNIQUEdeaqdocno,..."

15ELSE

16#单身未输入搜寻条件

17LETl_sub_sql="

18ENDIF

34LETg_sql="

SELECTDISTINCTt0.deaqstus,t0.deaqsite,..."

35"

WHEREt0.deaqent='

||g_enterprise||"

AND"

76ENDFUNCTION

77{<

根據當下所選擇的單頭資料,重新從資料庫撈取最新的資料內容

4.4.7_ui_headershow刷新单头数据内容

adet400.ui_headershow"

02#+单头数据重新显示

03PRIVATEFUNCTIONadet400_ui_headershow()

04LETg_deaq_m.deaqdocno=g_browser[g_current_idx].b_deaqdocno

05EXECUTEadet400_master_refereshUSINGg_deaq_m.deaqdocnoINTOg_deaq_m.deaqsite,...

06CALLadet400_show()

07ENDFUNCTION

08{<

4.4.8_ui_detailshow刷新单身数据内容

此處僅刷新單身筆數的位置,若需要重刷新單身資料可於add-point自行撰寫

adet400.ui_detailshow"

02#+单身数据重新显示

03PRIVATEFUNCTIONadet400_ui_detailshow()

04#add-point:

ui_detailshow段before

05于此段落定义单身刷新前的行为

06#endadd-point

07IFg_curr_diagISNOTNULLTHEN

08CALLg_curr_diag.setCurrentRow("

g_detail_idx)

抓取單頭資料的段落同單檔,但須額外呼叫show段進行填充單身的動作

09ENDIF

10#add-point:

ui_detailshow段after

11于此段落定义单身刷新后所需处理的相关段落

12#endadd-pointENDFUNCTION

13{<

4.4.9_fetch数据笔数查询与数据抓取

adet400.fetch"

02#+指定PK后抓取单头其他数据

03PRIVATEFUNCTIONadet400_fetch(p_flag)

34#重新显示

35CALLadet400_show()

36

37#+此段落由子样板a56产生

此段落僅針對有簽核功能的程式,根據該單據的資訊,判定是否顯示BPM簽核狀況的按鈕

38#检查此单据是否需显示BPM签核状况按钮

39IFcl_bpm_chk()THEN

40CALLcl_set_act_visible("

bpm_status"

TRUE)

41ELSE

42CALLcl_set_act_visible("

FALSE)

43ENDIF

44ENDFUNCTION

45{<

4.4.10_b_fill单身数据笔数查询与数据抓取

adet400.b_fill"

02#+单身数组填充

判斷該單身是否進行填充,會依據fill_chk所取得的資訊決定填充與否,並且根據當下執行的動作確定是否需重重組SQL,切換上下筆資料時不重組SQL

03PRIVATEFUNCTIONadet400_b_fill()

09CALLg_dear_d.clear()#g_dear_d单头及单身

10#判断是否填充

11IFadet400_fill_chk

(1)THEN

12#切换上下笔时不重组SQL

13IFg_action_choice<

'

fetch'

ORcl_null(g_action_choice)THEN

14LETg_sql="

SELECTUNIQUE..."

15LETg_sql=cl_sql_add_mask(g_sql)#遮蔽特定资料

16IFNOTcl_null(g_wc2_table1)THEN

17LETg_sql=g_sqlCLIPPED,"

g_wc2_table1CLIPPED

19LETg_sql=g_sql,"

ORDERBYdear_t.dearseq"

20

21LETg_sql=cl_sql_add_mask(g_sql)#遮蔽特定资料

22PREPAREadet400_pbFROMg_sql

23DECLAREb_fill_csCURSORFORadet400_pb

24ENDIF

25LETg_cnt=l_ac

26LETl_ac=1

27OPENb_fill_csUSINGg_enterprise,g_deaq_m.deaqdocno

28FOREACHb_fill_csINTOg_dear_d[l_ac].dearseq,...

29IFSQLCA.sqlcodeTHEN

35ENDIF

36

37LETl_ac=l_ac+1

38IFl_ac>

g_max_recTHEN

39EXITFOREACH

40ENDIF

41ENDFOREACH

42IFl_ac>

g_max_recANDg_error_show=1THEN

當資料筆數超出上限時會提示錯誤訊息

51ENDIF

52LETg_error_show=0

55CALLg_dear_d.deleteElement(g_dear_d.getLength())

56

57#屏蔽相关处理

將所有取得的資料進行備份,接著遮罩處理,最後備份遮罩後資料

58FORl_ac=1TOg_dear_d.getLength()

59LETg_dear_d_mask_o[l_ac].*=g_dear_d[l_ac].*

60CALLadet400_dear_t_mask()

61LETg_dear_d_mask_n[l_ac].*=g_dear_d[l_ac].*

62ENDFOR

63LETl_ac=g_cnt

64LETg_cnt=0

65FREEadet400_pb

66FUNCTION

67{<

4.4.11_b_fill2第二阶单身数据笔数查询与数据抓取

第二階單身的資料填充段,此程式無第二階單身因此無作用

adet400.b_fill2"

02#+单身数组填充2

03PRIVATEFUNCTIONadet400_b_fill2(pi_idx)

19ENDFUNCTION

20{<

4.4.12_show数据显示

adet400.show"

02#+单头数据重新显示及单身数据重抓

03PRIVATEFUNCTIONadet400_show()

特定段落僅需刷新reference(單頭及單身)與顯示,利用g_bfill控制是否連同單身資料一同刷新

14IFg_bfill="

Y"

15CALLadet400_b_fill()#单身填充

16CALLadet400_b_fill2('

0'

)#单身填充

17ENDIF

18

19#显示followup图标

20#+此段落由子样板a48产生

21CALLadet400_set_pk_array()

一般的單頭帶值會在fetch段段一同帶出資料,若有比較特別需獨立處理的帶值則在此段的add-point中自行撰寫處理段,例如多語言的欄位的帶值處理皆會在此段落處理。

22CALLcl_user_overview_set_follow_pic()

23LETl_ac_t=l_ac

25#读入ref值(单头)

26#add-point:

show段reference

27若单头有自定义的参照字段或多语言字段,可于此处进行处理

28#endadd-point

29

30#将数据输出到画面上

31DISPLAYBYNAMEg_deaq_m.deaqsite,...

32#显示状态(stus)图片

33#此段落由子样板a21产生

34#根据状态代码显示对应图片

35CASEg_deaq_m.deaqstus

36WHEN"

N"

37CALLgfrm_curr.setElementImage("

statechange"

"

stus/32/unconfirmed.png"

一般單身帶值會在b_fill帶出資料,若有需獨立處理的帶值則在此段的add-point中自行撰寫段,例如自定義參照欄位,多語言欄位或是非主要單身表的欄位等等

47ENDCASE

48

49#读入ref值(单身)

50FORl_ac=1TOg_dear_d.getLength()

51#add-point:

show段单身reference

52自定义的参照字段,多语言字段或非主表的单身字段带值,可于此处进行处理

53#endadd-poin

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2