Application Development and Automation 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: 
Read only

BDC

Former Member
0 Likes
936

Can anyone help me i have created BDC its working fine but now my problem is i want to skip initial screen where we need to select call transaction or Generate Session & instead of this i want a screen where i can provide a file name.

use meaningful subject for your future questions

Edited by: Vijay Babu Dudla on Apr 29, 2009 1:58 AM

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
885

Hi,

Transaction SHDB will genarate the code with the options call transaction or session...

copy the code to another program and delete the current selection screen and maintain your selection screen

Kiran

11 REPLIES 11
Read only

Former Member
0 Likes
886

Hi,

Transaction SHDB will genarate the code with the options call transaction or session...

copy the code to another program and delete the current selection screen and maintain your selection screen

Kiran

Read only

Former Member
0 Likes
885

Try:

CALL TRANSACTION '<t-code>' AND SKIP FIRST SCREEN.

Regards.

Read only

Former Member
0 Likes
885

Hello,

use CALL TRANSACTION ta { [AND SKIP FIRST SCREEN]

| [USING bdc_tab [bdc_options]] }.

Thanks,

Gunjan

Read only

Former Member
0 Likes
885

Hi,

You can use CALL TRANSACTION 'XXXXX' AND SKIP FIRST SCREEN. But in this case also you have to fill in Mandatory fields with the corresponding values.You may use SET PARAMETER ID for this.

Regards,

Anil

Read only

Former Member
0 Likes
885

Hi,

Do the recording through 'SHDB' transaction.

and code like this

call transaction 'TCODE' and skip first screen. Then it will skip initial screen.

Regards,

Jyothi CH.

Read only

Former Member
0 Likes
885

Hi,

For providing The file on selection screen you must call event At selection-screen on value request. in that event you can call function module some thing like F4FILEGET* (Search in Se37). For skipping initial screen better to Start with second screen by identifying it in Recording.

Read only

Former Member
0 Likes
885

Hi,

Just put selection option for filename in the program generated by the shdb. and also comment the open group and close group perform statements from the program. and remove the perform bdc_transaction statement and instead of that write foloowing code

CALL TRANSACTION <your-TCODE> USING BDCDATA
                     MODE   {A/E/N}
                     UPDATE {A/S}
                     MESSAGES INTO MESSTAB.

Read only

Former Member
0 Likes
885

Hi,

Try like below,

CALL TRANSACTION 'CA01' USING gt_bdcdata

OPTIONS FROM gs_ctu_params

MESSAGES INTO gt_messtab AND SKIP FIRST SCREEN.

Hope it helps!!

Rgds,

Pavan

Read only

0 Likes
885

Hi,

Plz follow like below code:

COMMENT the INCLUDE bdcrecx1 and just copy the declartion part from the include and paste it in ur program, also comment PERFORMS 'OPEN_GROUP, CLOSE_GROUP'.

define PARAMETERS like below for giving the file name..

REPORT ztest_bdc

NO STANDARD PAGE HEADING LINE-SIZE 255.

include bdcrecx1.

PARAMETERS : p_fanme LIKE rlgrap-filename.

----


  • data definition

----


  • Batchinputdata of single transaction

DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.

  • messages of call transaction

DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.

  • error session opened (' ' or 'X')

DATA: e_group_opened.

  • message texts

TABLES: t100.

START-OF-SELECTION.

perform open_group.

PERFORM bdc_dynpro USING 'SAPMM06E' '0205'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RM06E-EVRTN'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RM06E-EVRTN'

'5500000000'.

PERFORM bdc_dynpro USING 'SAPMM06E' '0222'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RM06E-EVRTP(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ET'.

PERFORM bdc_field USING 'RM06E-EBELP'

'10'.

PERFORM bdc_field USING 'RM06E-TCSELFLAG(01)'

'X'.

PERFORM bdc_dynpro USING 'SAPMM06E' '1117'.

PERFORM bdc_field USING 'BDC_CURSOR'

'EKET-SLFDT(04)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RM06E-ETNR1'

' 1'.

PERFORM bdc_field USING 'RM06E-LPEIN(04)'

'D'.

PERFORM bdc_field USING 'RM06E-EEIND(04)'

'17.02.2009'.

PERFORM bdc_field USING 'EKET-MENGE(04)'

' 500'.

PERFORM bdc_field USING 'EKET-SLFDT(04)'

'20.02.2009'.

PERFORM bdc_dynpro USING 'SAPMM06E' '1117'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RM06E-ETNR1'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BU'.

PERFORM bdc_field USING 'RM06E-ETNR1'

' 1'.

perform bdc_transaction using 'ME38'.

CALL TRANSACTION 'ME38' USING bdcdata.

perform close_group.

----


  • Start new screen *

----


FORM bdc_dynpro USING program dynpro.

CLEAR bdcdata.

bdcdata-program = program.

bdcdata-dynpro = dynpro.

bdcdata-dynbegin = 'X'.

APPEND bdcdata.

ENDFORM. "BDC_DYNPRO

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

IF fval <> space.

CLEAR bdcdata.

bdcdata-fnam = fnam.

bdcdata-fval = fval.

APPEND bdcdata.

ENDIF.

ENDFORM. "BDC_FIELD

Rgds,

Pavan

Read only

0 Likes
885

perform bdc_transaction using 'ME38'.

CALL TRANSACTION 'ME38' USING bdcdata.

This perform is not working i.e. bdc_transaction can you please provide alternate solution or anything else that i can do

Read only

0 Likes
885

Hi,

Comment perform bdc_transaction using 'ME38' statement.

Insted of use following code in your main program itself and

CALL TRANSACTION 'ME38' USING BDCDATA
                     MODE   {A/E/N} "A= All screen vissible E=Screen visible only at error N=No screen visible
                     UPDATE {A/S} "A=asynchronous S = Synchronous
                     MESSAGES INTO MESSTAB.