SIH Soap webservice call

SOLVED

Hi
Im doing a soap webservice call to object SIH that i published. Im entering the price (GROPRI)in the line of the sales invoice, but the webservice is defaulting the price to zero. I have no price lists and when i go to the saved invoice and check the price explanation it says standard price. All my standard prices are zero. If i go to the general parameters and disallow null prices: SIVNULL =NO , then i get an error saying null prices not allowed and the invoice doesnt save. Why doesnt the webservice pick up the GROPRI that im passing?
(im searching for entry points, but i wanted to do all in one go)

Code:

Subprog CRE_INV(ZSFNUM)
Local INTEGER ZLIN
GBATCH = 1
GSERVEUR = 1

If clalev ([F:ZSIH]) = 0 : Local File ZSIHFORCE[F:ZSIH] : Endif
If clalev ([F:ZSID]) = 0 : Local File ZSIDFORCE[F:ZSID] : Endif
If clalev ([F:ZSIU]) = 0 : Local File ZSIHFORCE[F:ZSIU] : Endif

FOR [F:ZSIH] WHERE [F:ZSIH]INVREF = ZSFNUM
if [F:ZSIH]STA = 1
Update [F:ZSIU] Where [F:ZSIU]INVREF = [F:ZSIH]INVREF With [F:ZSIU]STA = 6

ZLIN = 0
Gosub DEFVAR From WJZSIH
Onerrgo ERREURWS From WJZSIH
Gosub INITMAJ From WJZSIH

WW_ACTION = "CREATE"

SALFCY_A = [F:ZSIH]SALFCY
SIVTYP_A = [F:ZSIH]SIVTYP
INVREF_A = [F:ZSIH]INVREF
INVDAT_A = [F:ZSIH]ACCDAT
BPCINV_A = [F:ZSIH]BPCINV
CUR_A = [F:ZSIH]CUR
PTE_A = [F:ZSIH]PTE

FOR [F:ZSID] WHERE [F:ZSID]INVREF = [F:ZSIH]INVREF
ITMREF_3(ZLIN) = [F:ZSID]ITMREF
QTY_3(ZLIN) = [F:ZSID]QTY
VACITM1_3(ZLIN) = "NIL"
ITMDES_3(ZLIN) = [F:ZSID]ITMDES
ITMDES1_3(ZLIN) = [F:ZSID]ITMDES
SAU_3(ZLIN) = [F:ZSID]SAU
GROPRI_3(ZLIN) = [F:ZSID]GROPRI
#CPRPRI_3(ZLIN) = [F:ZSID]GROPRI
#NETPRI_3(ZLIN) = [F:ZSID]GROPRI
DISCRGVAL1_3(ZLIN) = [F:ZSID]DISCRGVAL1
DISCRGVAL2_3(ZLIN) = [F:ZSID]DISCRGVAL2
DISCRGVAL3_3(ZLIN) = [F:ZSID]DISCRGVAL3

ZLIN = ZLIN + 1
NEXT
NBLIG_3 = ZLIN


Gosub WEBSERV From WJZSIH


If NUM_A = ''

ZERROR = ''
For X = 1 To len(WW_MESS)
If WW_MESS(X) "" : ZERROR -= WW_MESS(X) : Endif
Next
#INFBOX "ERROR MESSAGE - " + [F:ZSIH]INVREF
Update [F:ZSIU] Where [F:ZSIU]INVREF = [F:ZSIH]INVREF With [F:ZSIU]STA = 5, [F:ZSIU]STATEXT = ZERROR
Call ECR_TRACE("Error Creating Sales invoice for reference " + INVREF_A,1) From GESECRAN
Gosub ANALRESOBJ From WJZSIH
Else
Update [F:ZSIU] Where [F:ZSIU]INVREF = [F:ZSIH]INVREF With [F:ZSIU]NUM = NUM_A, [F:ZSIU]STATEXT = '', [F:ZSIU]STA = 2
Call ECR_TRACE("Sales Invoice created " + NUM_A + " - " + NUM$(TIME$) ,0) From GESECRAN
Gosub ANALRESOBJ From WJZSIH
Endif
endif
NEXT


If clalev ([F:ZSIH]) 0 : CLOSE Local File [F:ZSIH] : Endif
If clalev ([F:ZSID]) 0 : CLOSE Local File [F:ZSID] : Endif
If clalev ([F:ZSIU]) 0 : CLOSE Local File [F:ZSIU] : Endif

GBATCH = 0 # Batch set to no
GSERVEUR = 0
END