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: 

BDC Scroll not getting recorded for tcode "/SAPAPO/MSDP_FCST1" Profile Assignment

Sijin_Chandran
Active Contributor
0 Kudos

Hi All,

I have to write a BDC program for tcode /SAPAPO/MSDP_FCST1.

In this code I have a table control to be handled, shown below,

The problem here is the scroll is not getting captured in sdhb.

Even after recording in SHDB ( with scrolling event done while recording ) and after that when I try to replay the recorded session using button , the scroll operation is not getting replayed.

If anyone has ever faced a similar situation would be very helpful if you can share the workaround for tackling this.

Helpful points much appreciated.

Thanks,

Sijin

1 ACCEPTED SOLUTION

Sijin_Chandran
Active Contributor
0 Kudos

Hello All,

I got a workaround

By default ( i.e. without scrolling ) the Table control accommodates 20 lines.

So if my line items exceeds 20 say by 3 i.e. 23.

Then I will be deleting the first 20 line items which will make the remaining 3 to take the the Indexes from 1,2,3 ( so this will fill up the Indexes from beginning again ). So I will repeat this process based on the Counts of 20.

I had to do this for Deletion operation, which I am able to do this using this workaround.

Rest I have to check for Addition operation. So for that am keeping this thread open.

11 REPLIES 11

Sandra_Rossi
Active Contributor
0 Kudos

Please SEARCH the forum (few days ago, and many times in the forum): http://scn.sap.com/thread/3938659 :

  • As said in the note 11788 - Batch input, variable step loop or table control : "Please note that scrolling in a table control with the vertical scroll bar cannot be used in batch input. In the batch input you can only scroll in a table control if the application specifically provides and processes OK codes for this."
  • It means that when you record the batch input (SHDB), you have to NOT use the scroll keys, and find a work around to reach the 11th line : this may be achieved in some transactions by filling all the lines and pressing Enter (may automatically display a new page i.e. next empty lines), by using a "position" button, or by using a hidden function code (sometimes documented in SAP notes, or in SCN, or by looking directly at the dynpro flow logic).
  • Moreover, it is highly recommended to record (and play if CTU used with GUI connection) using the "standard screen size" to avoid having a different number of lines according to the user.

0 Kudos

Very thanks for your prompt reply.

Must say that I had searched for this but I was not able to find any relevant with this much details you have mentioned.

And in the thread you have referred you can see the subject ( BDC Program for J1IG ) has nothing related to Scroll mentioned in it. That's why I could have missed.

former_member393665
Discoverer
0 Kudos

Hi Sijin,

You could use

perform bdc_field       using 'BDC_OKCODE'

                              '=ENTR', 'P--','P-','P+','P++'

for more controls.

In side by side you can try calling the /00 and then same screen again from bdc.

This will scroll down to hide filled values.

Thanks Regards,

Romi Bagga

0 Kudos

Hi Romi,

I have tried all these.

The event which its capturing is '/00' which won't serve.

Very strange situation I am facing.

I guess Sandra's reply is correct and we can have a BDC session for this.

Thanks,

Sijin

0 Kudos

It's not what I said, it won't work (batch input is the name of the technology behind both CTU and batch input session). You must investigate as I indicated in the second paragraph.

0 Kudos

Sorry it was a typo, actually I mean't

I guess Sandra's reply is correct and we can't have a BDC session for this.

Sijin_Chandran
Active Contributor
0 Kudos

Hello All,

I got a workaround

By default ( i.e. without scrolling ) the Table control accommodates 20 lines.

So if my line items exceeds 20 say by 3 i.e. 23.

Then I will be deleting the first 20 line items which will make the remaining 3 to take the the Indexes from 1,2,3 ( so this will fill up the Indexes from beginning again ). So I will repeat this process based on the Counts of 20.

I had to do this for Deletion operation, which I am able to do this using this workaround.

Rest I have to check for Addition operation. So for that am keeping this thread open.

0 Kudos

Will it not have affects if the screen size changes?

0 Kudos

To avoid the screen size to change, the batch input must be run with the "standard screen size" (22 lines * 84 columns) setting.

0 Kudos

Valid question!

To be on a safer side I am deleting in the sets of 10.

Considering as an example say I have 43 entries to be deleted.

I have written a logic in such a way that will calculate the sets of 10s first , so in this it would be 4 sets of 10, and also I will calculate the remaining ones ( here its 3 ).

Now FIrst DO ENDO on the sets of 10 i.e 4 , inside this loop the above code will execute till G_LC_MARK(10).

And for the remaining counts.

DO ENDO remainingcounts times.

G_LC_MARK(sy-index).

This is working perfectly all right!!!

Hoping I was able to explain my solution.

Sijin_Chandran
Active Contributor
0 Kudos

Thanks everyone for their valuable suggestions and precious time