Trigger Beas script after Work Order Receipt
Hi
Hope someone can assist here.
I have the following scenario.
On the work order, i receive a finished product, SKU is A001. This is serial number managed. On the OSRN table, i have some udfs that are populated for this serial number.
Now i take a sample from the finished product. The sample SKU is SM-A001. This is also serial number managed. When i receipt the sample code, i give it the same serial number that was given for the finished product. This is done to make it easier for the user to identify which finished goods serial number the sample was taken from.
What i want it to do is that when we go to record the receipt for the sample, i want it to copy the values in the udfs that is on the finished goods serial number and update them in the sample items serial number record.
i have written the following script.
sqlca=SELECT T0."LotNumber", T0."MnfSerial", T0."U_Heat", T0."U_Weight" FROM OSRN T0 WHERE T0."DistNumber" ='<dw_1.item.serialnumber.value>' and T0."ItemCode" = '<is_ftpositemcode>'
setvar=ls_LotNumber=<sqlca.result.1>
setvar=ls_MnfSerial=<sqlca.result.2>
setvar=ls_Heat=<sqlca.result.3>
setvar=ls_Weight=<sqlca.result.4>
sqlca=SELECT T0."LotNumber", T0."MnfSerial", T0."U_Heat", T0."U_Weight", T0."SysNumber",T0."ItemCode", T0."DistNumber" FROM OSRN T0 WHERE T0."DistNumber" ='<dw_1.item.serialnumber.value>' and T0."ItemCode" ='<str_parm.s_parm1>'
setvar=ls_sysnumber=<sqlca.result.5>
setvar=ls_Item=<str_parm.s_parm1>
setvar=ls_DistNumber=<dw_1.item.serialnumber.value>
instance bsl b
b.put=SerialNumber('<str_parm.s_parm1>',<ls_sysnumber>) {"BatchAttribute1":"<ls_MnfSerial>","U_Heat":"<ls_Heat>","U_Weight":"<ls_Weight>"}
Currently, once i press F2 on receipt screen, i get the following error.
"Serial Number with ItemCode SM-A001 SysNumber 0 not found".
Which i understand because beas hasn't completed the receipt yet and the serial number for that item doesnt exist. The script is getting executed FIRST before the receipt is completed.
Can someone please advise how to execute this script, AFTER beas receipt has been done?
Thank you
Kind Regards
Ashvin
-
sqlca=SELECT T0."LotNumber", T0."MnfSerial", T0."U_Heat", T0."U_Weight", T0."SysNumber",T0."ItemCode", T0."DistNumber" FROM OSRN T0 WHERE T0."DistNumber" ='<dw_1.item.serialnumber.value>' and T0."ItemCode" ='<str_parm.s_parm1>'
i think, this sql statement return "0" or empty for SysNumber
Check in debug log, if all entries are correct.
Trick
sqlca=SELECT T0."LotNumber", T0."MnfSerial", T0."U_Heat", T0."U_Weight" FROM OSRN T0 WHERE T0."DistNumber" ='<dw_1.item.serialnumber.value>' and T0."ItemCode" = '<is_ftpositemcode>'
setvar=ls_LotNumber=<sqlca.result.1>you can write
select To."LotNumber", t0."MnfSerial" into ls_LotNumber, ls_MnfSerial FROM "OSRN" T0 where T0."DistNumber=<dw_1.item.serialnumber.value,dbstring> and ....
The format "dbstring" support UniCode.
Iniciar sesión para dejar un comentario.
Comentarios
1 comentario