原文地址:https://www.cnblogs.com/MyshoWJ/p/11068764.html
第一步:azzi900新建作业名称
第二步:adzp050规格中 签出规格,画面产生器adzp168设置画面
字段设置所需要的表和字段
第四步:签出程序,下载规格和程序
调整规格画面
其中:
规格添加栏目时,有些会自动带出字段,比如添加料号编号会自动带出品名。
这种情况品名就不需要写sql的where条件了,只要在sql对应位置添加’’占位就行。
因为代码下图位置自动生成了,可以手动更改代码。
其中g_sfeb_d[l_ac].oobxl003中的oobxl003对应规格中自动带出的栏目编号
代码如下:
#add-point:show段單身reference name=”detail_show.body.reference”
INITIALIZE g_ref_fields TO NULL
LET g_ref_fields[1] = g_sfeb_d[l_ac].sfeadocno
LET ls_sql = “SELECT oobxl003 FROM oobxl_t WHERE oobxlent='”||g_enterprise||“‘ AND oobxl001=’0641’ AND oobxl002='”||g_dlang||“‘”
LET ls_sql = cl_sql_add_mask(ls_sql) #遮蔽特定資料
CALL ap_ref_array2(g_ref_fields,ls_sql,“”) RETURNING g_rtn_fields
LET g_sfeb_d[l_ac].oobxl003 = ”, g_rtn_fields[1] , ”
DISPLAY BY NAME g_sfeb_d[l_ac].oobxl003
第五步:下载程序,编写程序
在b_fill中编写SQL
代码示例:
LET g_sql = ” select distinct ‘N’,sfebseq,sfeadocno,”,sfeadocdt,sfea001,sfeastus,sfea002,”,
sfea003,”,sfea004,sfea005,sfeb008,sfeb027,sfeb007,imaal004,sfeb004,” FROM sfeb_t”,
” INNER JOIN sfea_t on sfeaent=” ||g_enterprise|| ” and sfebsite=sfeasite and sfebdocno=sfeadocno”,
” LEFT JOIN oobxl_t on oobxlent=” ||g_enterprise|| ” and oobxl002='”||g_dlang||“‘ and oobxl001=’0641′”,
” LEFT JOIN imaal_t on imaalent=” ||g_enterprise|| ” and sfeb004=imaal001″,–料号
” WHERE sfebent=? AND sfebsite=’001′”,
–” order by sfeadocno”
” AND “,ls_wc CLIPPED
第六步 在ui_dialog的construct段落中填写需要做QBE条件的字段。并填写开窗
注意一:
开窗作业的回传代表return,会把开窗SQL查询出来的的字段的值return到CONSTRUCT BY NAME ON后面对应的字段(DISPLAY xx.return1 TO sfeadocno),有几个参数回传,DISPLAY 就要加几个return,主SQL的where就会加几个字段条件,然后会把字段加入到主SQL的where条件中,字段值等于return的值
注意二:
where sfebent=? 中的?要和 打开游标USING后面跟的变量对应
注意三:注意有时捞出来的SQL字段有数据,GDC对应字段却没有数据,有可能是规格设计器字段控件类型的问题
转载请注明:赫非域 » T100新建Q查询作业