cancel
Showing results for 
Search instead for 
Did you mean: 

Sending parameters among pages

Former Member
0 Kudos

Hello forum!..

I am doing a page with some parameters i introduce by screen.

Well, with this parameters and a function (bapi_bupa_create_from_data) in the oninputprocessing event generate a business partner (number)..

I know how to send that parameters (lastname, phone...) to another page with:

 navigation->set_parameter( 'phone' ).

but i cant send the business partner..because it is generated on the eventa and not in the display..i dont know how to send it and receive in the another page..

Thanks in advance and best regards,

Mon

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

HI Mon

Then I dont understand, Whats the Problem is...

Once you get the Business Partner Number Generated, Just after that in the same event inside OnInputProcessing You can set that Parameter

Using the ...

navigation->set_parameter( 'Busniess_partner_number' ).

Hope Its Solve your Problem, Otherwise do revert back...

RGDS

Mithlesh

Answers (5)

Answers (5)

Former Member
0 Kudos

HI Mon

Store that Business Number generated by ur BAPI into a string type data,and then transfer this String data to other page.

Later on You can convert the same Number on the other page into Number in the same Way..

It Might solve ur Problem

Regards

Mithlesh

eddy_declercq
Active Contributor
0 Kudos

Hi Mon,

As mentioned in http://help.sap.com/saphelp_webas610/helpdata/en/c2/231779c53011d4990400508b6b8b11/frameset.htm

the get_parameter is not advisable.

What is wrong about using page attributes?

Btw are you stateful or stateless?

Eddy

Former Member
0 Kudos

Hello folk,

Finally i can send the bu_partner. I use cookies to do it.

In the page A on <i>oninputprocessing</i>:

      CALL METHOD cl_bsp_server_side_cookie=>set_server_cookie
            EXPORTING
              name                  = 'bu_partner'
              application_name      = runtime->application_name
              application_namespace = runtime->application_namespace
              username              = sy-uname
              session_id            = runtime->session_id
              data_value            = bu_partner
              data_name             = 'bu_partner'
              expiry_date_abs       = sy-datum.

In page B on <i>initialization</i>:

define get_cookie.
    CALL METHOD cl_bsp_server_side_cookie=>get_server_cookie
      EXPORTING
        name                  = '&1'
        application_name      = runtime->application_name
        application_namespace = runtime->application_namespace
        username              = sy-uname
        session_id            = runtime->session_id
        data_name             = '&1'
      IMPORTING
        expiry_date           = sy-datum
      CHANGING
        data_value            = &1.
end-of-definition.

************************************************************************
get_cookie bu_partner.

And only in the layout write: <%=bu_partner%>

Thanks for ur help, i have to try to declare bu_partner as string to check if it works...

Regards, Mon.

eddy_declercq
Active Contributor
0 Kudos

Hi,

Pls don't forget to reward points if the answers where helpful.

Eddy

Former Member
0 Kudos

HI Mon

Whats seems to me is that, you might be navigating to the next page either before calling the BAPI and before Setting that business partner (number)..generated by your BAPI....BCOZ Whatever i have advised works in most of the cases...

Do this ..

First call the BAPI then Set the No Generated by Your BAPI through set Parameter and After that Only Navigate to Another Paage...

Regards

Mithlesh

Former Member
0 Kudos

Hi again guys...

It doesnt work yet..

PAGE A:

- Layout:

Input fields: Name, Surname, Phone....

Button to call event on inputprocessing (bapi) and go to another page..

- Oninputprocessing:

I defined the date i need

Call to the bapi

I have the bussiness partner

Send the parameters i insert in the screen:

      navigation->set_parameter( 'name' ).
      navigation->set_parameter( 'surname' ).
      navigation->set_parameter( 'bu_partner' ).
      navigation->goto_page( 'page_B.htm' )

I think that the problem is this:

navigation->set_parameter( 'bu_partner' ).

because the bu_partner is not exactly a parameter like others and is is created in the event..and not in the layout..

- Attribute pages:

I define all of them like automatic.

PAGE B:

Only i want to write them in a simple html table..so :

<%=name%>...<%=bu_partner%>

All of them are shown but bu_partner..

I think that maybe i have to get_paramater or do something in the initialization event..but i dont know the exactly way..

Regards

Mon

guillaume-hrc
Active Contributor
0 Kudos

Hi,

Try passing your business Partner variable as a type STRING.

Best regards,

Guillaume

athavanraja
Active Contributor
0 Kudos

you dont need server side cookie for this,

just try the following code it will work. (i have tested it)

data: bu_partner type string. (it can be type of the actual field as well)

navigation->set_parameter( name = 'bu_partner' value = bu_partner ).

navigation->goto_page( 'page_B.htm' ) .

(when the parameter to be passed is not a form field specify name value pair explicitly in navigation->set_parameter() method.

Regards

Raja

athavanraja
Active Contributor
0 Kudos

Hi Mon,

did you try the changes i have suggested.

Regards

Raja

Former Member
0 Kudos

Hello Raja,

Sorry for the delayed...

As u said when i set the Partner as string type it works..Finally I use the cokkies to pass the parameter among pages in this case..

Thanks man!

Regads, Mon

eddy_declercq
Active Contributor
0 Kudos

Hi,

What if you only pass the params in the first screen, pass them to the second screen and call bapi_bupa_create_from_data in the oninitialization of the secodn screen?

Eddy

Former Member
0 Kudos

Hello guys...

I am going to explain the problem better.

I have in page with some input fields: name, surname, phone, and more...well, when i click the button on this page, i call to oninputprocessing event, and with this parameters and the bapi i create the business partner number..At the same time (clicking the button) i am going to another page like a way to show the data, when all the parameters i have set on the input fields and the business partner generated on the event...

The problem is: OK, i can send all the parameters but the business partner because it is created on the event..and i dont know how to send once created...on the event..

Reply to me if it nos clear enough....Thanks guys for ur help...

Regards,

Mon

Former Member
0 Kudos

Hi Mon

If you can give the coding part that You did in the Page Layout as well as in the OnInputProcessing <b>for that Button</b>, Then Probably I could help you easily...

Regards

Mithlesh

eddy_declercq
Active Contributor
0 Kudos

Hi,

Let call input page, PAGE A and the second PAGE B.

On PAGE A you've the input fields and when you press on submit the form, the oninputprocessing you call the the BAPI. It'll generate the partner number. Everything is sequential, so the rest of the code will wait.

After that, you set all the params with

navigation->set_parameter( 'phone' ).

etc.

This also includes the partner number you've retrieved.

Then you do

navigation->goto_page( 'PAGEB.htm' ).

In PAGE B you set all your variables you need to pass in the page attributes. Don't forget to set the Auto on.

There is nothing more to it.

Alternatively you could work with cookies. See http://help.sap.com/saphelp_nw04/helpdata/en/2a/31b97b35a111d5992100508b6b8b11/frameset.htm for help on this.

Eddy

Former Member
0 Kudos

HI Mon

You can also use that auto check option in the attribute tab....

Define the business partner (number) as an attribute and make sure that its auto check option is checked...

Now on the other page Where you want to retrive that value, define the same name attribute in the same way...

Now once you navigate from the first page to second, Whatever the value set in that attribute on the first, it will holds the same value on the second page also.

Hope its solve your problem, Otherwise do revert Back

Regards

Mithles

Former Member
0 Kudos

Hi Mon,

Try using script to send the variable which u cannot. If you are opening another page from the current page,You can use something like this:

s = window.opener;

document.<openedpage form>.<field id>.value = s.document.getElementById("partner_no").value

Hope this is what you are looking.

Regards,

Shailaja