批次特性值 日期讀取
阿新 • • 發佈:2019-01-04
使用者有一需求:
有一道工序庫存完工後,需要停放兩天才能使用;
考慮到這停放中不需要計劃人工干預,只要上道工序完工後存放兩天即可;
計劃員需要查詢這種型別庫存, 使用者提出,中間不需要計劃員下單專門 做一個存放工序;
該型別產品已經用了批次,我提議用批次特性來解決;建立一個類:包括日期、時間特性;
使用者可以根據這個特性去查庫存的時間;
一切很順利,可是在我常用報表中(自己開發的報表),需要體現這個日期,時間時,發現特性值的數值,按正規模式讀取來根本不是正確的數值;
搞了一天,還是不行; 後來查閱資料一個功能QSS0_FLTP_TO_CHAR_CONVERSION'
form
using matnr type matnr
charg type charg_d
werks type werks_d
charact type char30
changing ntime like mkpf-CPUTM .
data:r_e_objek type objnum,
r_e_obtab type tabelle,
r_e_klart type klassenart,
r_e_class type klasse_d.
data: allocvaluesnum type
with header line,
allocvalueschar type standard table of
bapi1003_alloc_values_char with header line,
allocvaluescurr type standard table of
bapi1003_alloc_values_curr with header line,
return type standard table of bapiret2.
data
call function 'VB_BATCH_2_CLASS_OBJECT'
exporting
i_matnr = matnr
i_charg = charg
i_werks = werks
importing
e_objek = r_e_objek
e_obtab = r_e_obtab
e_klart = r_e_klart
e_class = r_e_class.
call function 'BAPI_OBJCL_GETDETAIL'
exporting
objectkey = r_e_objek
objecttable = r_e_obtab
classnum = r_e_class
classtype = r_e_klart
* KEYDATE = SY-DATUM
* UNVALUATED_CHARS = ’ ’
* LANGUAGE = SY-LANGU
* IMPORTING
* STATUS =
* STANDARDCLASS =
tables
allocvaluesnum = allocvaluesnum
allocvalueschar = allocvalueschar
allocvaluescurr = allocvaluescurr
return = return
.
loop at allocvaluesnum.
if allocvaluesnum-CHARACT = 'I_TIME'.
" ntime = allocvaluesnum-VALUE_FROM.
CALL FUNCTION 'QSS0_FLTP_TO_CHAR_CONVERSION'
EXPORTING
i_number_of_digits = 0
i_fltp_value = allocvaluesnum-VALUE_FROM
i_value_not_initial_flag = 'X'
i_screen_fieldlength = 16
IMPORTING
e_char_field = s.
endif.
endloop.
CONDENSE s.
ntime = s.
endform.