Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

set parameter not working for VL33N with call transaction

0 Kudos

appropriate points will be awarded

i have ALV grid output screen from which with hotspot i should be able to navigate to outbound/inbound delivery document

the outbound is working fine its calling VL03n with correct outbound no

but inbound document is either stopping with initial screen VL33n not using the inbound delivery we provide with parameter id

or opening some other inbound document

i verified with "get parameter" to compare the values provided and they look good but somehow when they goto screen its not correct inbound document

IF gt_outdel IS NOT INITIAL and E_COLUMN_ID-FIELDNAME = lc_outdel.

      clear gv_outdel.

         READ TABLE gt_outdel INDEX  e_row_id INTO gv_outdel.

         IF sy-subrc EQ 0.

           SET PARAMETER ID 'VL' FIELD gv_outdel-outdel.

           CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.

         ENDIF.

     ENDIF.

     IF gt_indel IS NOT INITIAL and E_COLUMN_ID-FIELDNAME = lc_indel.

       clear gv_indel.

         READ TABLE gt_indel INDEX  e_row_id INTO gv_indel.

         IF sy-subrc EQ 0.

           SET PARAMETER ID 'VL' FIELD gv_indel-indel.

           get parameter id 'VL' field lv_parid.

           CALL TRANSACTION 'VL33N' AND SKIP FIRST SCREEN.

         ENDIF.

     ENDIF.

1 ACCEPTED SOLUTION

Former Member

Hi,

Instead of using  parameter 'VL' just use 'VLM'.

I hope this helps,

Regards

Raju Chitale

9 REPLIES 9

Former Member
0 Kudos

Check that some numbers are link with outbound and some of them link with Inbound delivery...

For say some 180000067 value is linked as Inbound delivery

document for the same number the VL03N will not works.

So before making a call to the transaction check the entry is

properly linking to the Tcode.

see the code..

if <del.number> is valid with VL03N.

     call transaction VL03N.

else <del.number> is valid with VL33N.

     call transaction VL33N.

else

     display a error message.

endif.

0 Kudos

sudheer,

appreciate your response

1. the validation is not a problem because the value i am passing to the parameter is correct (either inbound/outbound delivery no) and to conform in debug, i am also using GET PARAMETER to verify

and lv_parid is showing the correct inbound del no

2. my concern was para id has correct value but it goes either missing or goes to wrong no when calling tcode VL33N

SET PARAMETER ID 'VL' FIELD gv_indel-indel. """""(assigning new inbound del to para id)

           get parameter id 'VL' field lv_parid.          """""""(verifying if the correct inbound del is in para id)                 CALL TRANSACTION 'VL33N' AND SKIP FIRST SCREEN.

thank you

0 Kudos

Hi sridhar the values for both transactions are differently saved in the database, but the parameter IDs for both the transactions are same.

may be VL03 N will saves the <del.number> in table X and VL33N will save the <del.number in different table.

Do the following steps.

1. Go to transaction VL03N.

2. Press F4 to get the values for the input field of <del.number>

3. copy the value

4. Go to the transaction VL33N.

5. Use the copied value for this transaction and try to execute it, definitely it'll not works

6. Because the check entry of transactions comes form different tables or else there may be a condition for the entry in same table , ie. the condition represents the inbound or outbound delivery number.

7. So before making a call transaction check that entry with SELECT Single statement with corresponding table .

8. If sy-subrc =0. then make a call transaction to the relevant T.code eigther VL03N or VL33N.

hope this will helps you....

Former Member

Hi,

Instead of using  parameter 'VL' just use 'VLM'.

I hope this helps,

Regards

Raju Chitale

0 Kudos

Hi Raju,

I got same issue and found answer here.

Thank you.

0 Kudos

Hi,

Hats of to your honesty & sincerity !

Regards

Raju

0 Kudos

Super! thx a lot!

solution:

1. you can get the Parameter IDs from table TPARA.


2. Debug the program for the Screen where you are trying to set the Parameter ID and then only you would be able to know the Parameter ID that SAP is using.

You need to look for the Statement GET and that will tell you that exact Parameter ID.

You can go to the Debug Mode from the PBO of the Selection Screen and put a BreakPOint at the word GET and you will get to know.


thread closed

0 Kudos

Thanks 
When we press the F1 key and go to the technical part, why do we use 'VLM' when writing 'VL' in the 'parameter definition'? There are many other areas with such exceptions that we don't know about 😞