cancel
Showing results for 
Search instead for 
Did you mean: 

error in inboung abap proxy

Former Member
0 Kudos

hi gurus,

I was writing the code for abap inbound proxy.I am getting error in the below code

constants: c_name(10) type c value 'NAMESTRING',

c_forname(8) type c value 'FORNAME',

c_surname(7) type c value 'SURNAME'.

data: wf_user type SY-UNAME value 'NIDHI',

wf_task type SWW_TASK value 'workflow name',

l_container type SWR_CONT,

t_container like table of l_container.

refresh t_container.

clear l_container.

l_container-ELEMENT = c_name.

l_container-VALUE = INPUT-USER-name.

append l_container to t_container.

l_container-ELEMENT = c_forname.

l_container-VALUE = input-USER-forname.

ERROR

field INPUT-USER-name is unknown.it is neither in one of thespecified tables nor defined bu 'DATA' stmt.

whereas my proxy structure is shown as

interface > method > importing > USER > USERDETAILS > USER_ITEMS > NAME. and field INPUT is there in parameters.

please provide me some help regarding this error.

Thanks.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

HI Nidhi,

Can you provide me what type you have used for parameter declaration.

If you have used it as USER_ITEMS then you need to pass INPUT--> NAME and if you have used it as Name then I think you need to pass only INPUT.

Let me know about it'

Thanks

Swarup

Former Member
0 Kudos

hi swarup I did not get ur question.

Former Member
0 Kudos

Hi Nidhi,

You have mentioned about "field INPUT is there in parameters"

Thus I wish to know what type you have used to define the INPUT as parameter. (can send the Syntax used for INPUT field)

Former Member
0 Kudos

in the methods tab of my interface it is showing as

parameter input

type importing

associated type ZUSER.

am I suppose to define it some where else also?

Former Member
0 Kudos

Hi,

Just verify the structure of ZUSER,

and where the name field comes in the ZUSER.

I think similar way you need to use it for INPUT.

For e.g if ZUSER-->USERDETAILS > USER_ITEMS > NAME

Then for INPUT also you need INPUT->>USERDETAILS > USER_ITEMS > NAME

The value to be passed INPUT-->name will not work because there is no such data available in declarations

Thanks

Swarup

Former Member
0 Kudos

I tried it in that way also but it does not work

one more thing my user_iteams is of line type.

pls suggest

Former Member
0 Kudos

Hi,

I am lookin into your problem.

Meanwhile can you please go through attached link to veirfy the declaraions

http://help.sap.com/saphelp_nw04s/helpdata/en/2b/f49b21674e8c44940bb3beafd83d5c/frameset.htm

http://help.sap.com/saphelp_nw04s/helpdata/en/2b/f49b21674e8c44940bb3beafd83d5c/frameset.htm

To send a message using the ABAP proxy runtime, call the corresponding client proxy in your application program.

You can select a client proxy in the Object Navigator and drag it to the editor by using Drag&Drop.

...

1. Declare the following variables:

DATA:

  • Reference variables for proxy and exception class

lo_clientProxy TYPE REF TO [Generated proxy class],

lo_sys_exception TYPE REF TO cx_ai_system_fault,

  • Structures to set and get message content

ls_request TYPE [Output message type],

ls_response TYPE [Input message type].

2. Complete the structure ls_request for the request message.

3. Instantiate your client proxy.

TRY.

  • create proxy client

CREATE OBJECT lo_clientProxy

EXPORTING LOGICAL_PORT_NAME = ‘LOGICAL_PORT_NAME’.

LOGICAL_PORT_NAME is the name of the logical port that you want to use, which is used to define the receiver. You can omit this parameter if you are using a default port or the XI runtime (see runtime configuration).

4. To send a message, call the corresponding client proxy method. WSDL allows several such methods (specified by the element <operation>). In XI, there is only one method, with the default name EXECUTE_SYNCHRONOUS or EXECUTE_ASYNCHRONOUS. Catch at least the exception cx_ai_system_fault:

  • do synchronous client proxy call

CALL METHOD lo_clientProxy->execute_synchronous

EXPORTING output = ls_request

IMPORTING input = ls_response.

CATCH cx_ai_system_fault INTO lo_sys_exception.

  • Error handling

ENDTRY.

Thanks

Swarup

Edited by: Swarup Sawant on Jan 25, 2008 3:46 PM