BAPI_PO_CHANGE service order error
I am trying to use the BAPI_PO_CHANGE routine to add new lines to an existing service order but it always returns error 518
3 Instance 4700073564 of object type PurchaseOrder could not be changed 0 Purchase order still contains faulty items 518 No account assignment exists for service line 0000000000
This is my data structure, any help will be much appreciated as I am totally stuck.
SAP is R6 and the interface is via PHP5
[name] => BAPI_PO_CHANGE [POACCOUNT] => SAPTable Object [PO_ITEM] => 20 [QUANTITY] => 1 [GL_ACCOUNT] => 0060010000 [GR_RCPT] => gnm [CO_AREA] => TD00 [WBS_ELEMENT] => 3413PF115.6 [POACCOUNTX] => SAPTable Object [PO_ITEM] => 20 [PO_ITEMX] => X [QUANTITY] => X [GL_ACCOUNT] => X [GR_RCPT] => X [CO_AREA] => X [WBS_ELEMENT] => X [POADDRDELIVERY] => SAPTable Object [PO_ITEM] => 20 [NAME] => confirmation [COUNTRY] => GB [POITEM] => SAPTable Object [PO_ITEM] => 20 [SHORT_TEXT] => test2 [PLANT] => 3413 [MATL_GROUP] => YZ900 [QUANTITY] => 1 [PO_UNIT] => LE [PO_UNIT_ISO] => C62 [ORDERPR_UN] => LE [ORDERPR_UN_ISO] => C62 [CONV_NUM1] => 1 [CONV_DEN1] => 1 [NET_PRICE] => 1.000000 [PRICE_UNIT] => 1 [ITEM_CAT] => 1 [ACCTASSCAT] => P [PREQ_NAME] => Gavin Miller [PCKG_NO] => 20 [POITEMX] => SAPTable Object [PO_ITEM] => 20 [PO_ITEMX] => X [SHORT_TEXT] => X [PLANT] => X [MATL_GROUP] => X [QUANTITY] => X [PO_UNIT] => X [PO_UNIT_ISO] => X [ORDERPR_UN] => X [ORDERPR_UN_ISO] => X [CONV_NUM1] => X [CONV_DEN1] => X [NET_PRICE] => X [PRICE_UNIT] => X [TAX_CODE] => X [ITEM_CAT] => X [ACCTASSCAT] => X [PREQ_NAME] => X [PCKG_NO] => X [POLIMITS] => SAPTable Object [PCKG_NO] => 20 [LIMIT] => 1.000000 [EXP_VALUE] => 1.000000 [POSCHEDULE] => SAPTable Object [PO_ITEM] => 20 [DELIVERY_DATE] => 20081031 [QUANTITY] => 1 [POSCHEDULEX] => SAPTable Object [PO_ITEM] => 20 [PO_ITEMX] => X [DELIVERY_DATE] => X [QUANTITY] => X [POSERVICES] => SAPTable Object [PCKG_NO] => 20 [LINE_NO] => 20 [QUANTITY] => 1 [GR_PRICE] => 1.000000 [RETURN] => SAPTable Object [TYPE] => E [ID] => SE [NUMBER] => 518 [MESSAGE] => No account assignment exists for service line 0000000000 [LOG_MSG_NO] => 0 [MESSAGE_V1] => 0000000000 [PARAMETER] => POITEM [ROW] => 2 [SYSTEM] => IT2_400