Look at the string your code assembles:
INSERT INTO dbo.H_WhsTrans
SELECT (SELECT dbo.f_GetNewTransID(substring(convert(varchar,getdate(),112),3,6)) as ID)
1
,InvID
,DivNo
,SectionID
,ItemID
,ProcessID
,LineID
,[Location]
,LotNo
,RefNo1
,RefNo2
,RefNo3
,Qty
,Pcs
,Unit
,WIP
,StartingDate
,[ExpireDate]
,SADate
,SANote
,Reservation1
,Reservation2
,Reservation3
,[Status]
,''
,0
,'NURMAN'
,0
,convert(varchar,GETDATE(),120)
,' & Setting.SettingHelper.HostName & '
,convert(varchar,GETDATE(),120)
,' & Setting.SettingHelper.HostName & ')
FROM dbo.R_Warehouse WHERE InvID = @InvID AND InvDate = HMCS.dbo.f_GetInvDate()
DELETE FROM dbo.R_Warehouse
WHERE InvDate = HMCS.dbo.f_GetInvDate()
AND InvID = @InvID AND DivNo = @DivNo
The first bit is ... odd ...
INSERT INTO dbo.H_WhsTrans
SELECT (SELECT ... as ID)
1
,InvID
...
Why is there a "1" sitting there all alone?