Un Usuario hizo la siguiente pregunta
Hola,
¿Alguien puede ayudar con una ordenada expulsión paso a paso? Cómo hacer BDC para el control de la mesa. Una foto me ayudará a comprender más. Muchos enlaces aquí realmente no me ayudan.
Por favor, avíseme también qué hace que el control Table / Step Loop sea diferente de la forma normal de tener BDC en una pantalla normal si se usa SHDB para grabar.
9 respuestas
Hola,
Sí, para el control de tabla, si desea obtener un número de registro N, debe especificar el NOMBRE DE CAMPO (NÚMERO DE FILA) en BDC, pero para la pantalla normal, solo necesita ejecutar el Nombre de campo.
RV45A-MABNR (01) = 1000
RV45A-MABNR (02) = 2000
RV45A-MABNR (03) = 3000
RV45A-MABNR (04) = 4000.
Lo anterior sería un ejemplo de cuatro registros en el control de tabla para el campo MABNR.
Todo lo mejor,
Prashant
Ex miembro
Hola seguro,
compruebe que el enlace a continuación puede serle útil
Control de tabla en BDC
http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
También revise el enlace a continuación, puede obtener respuestas para todas sus preguntas.
http://help.sap.com/saphelp_webas630/helpdata/en/9f/dbac1d35c111d1829f0000e829fbfe/content.htm
si es útil por favor marque los puntos
Sobre,
Naveen
Ex miembro
Hola
bien
según tu pregunta hay dos cosas
uno es la grabación BDC usando SDDB
el segundo es reenviar esos datos al control de la tabla que diseñó usando se51.
porque se le ha pedido que obtenga la foto, no se la puede entregar aquí, y no tengo un ejemplo que pueda resolver su problema de esta manera.
sigue este proceso->
1-Repetir usando el código td
2-pase esa grabación a un informe
3- escriba el informe de acuerdo a su requerimiento
4-diseño del control de mesa en se51
5-llame a esa pantalla en su informe usando
PANTALLA DE LLAMADA
6-pase los datos a la tabla de control
Ya he respondido una segunda pregunta.
gracias
mrutyun
Ex miembro
Hola seguro,
prueba este código. en este código usé txn’ZCMAT ‘en este txn usé control de tabla.
bdcrecx1 incluido.
selección de inicio.
hacer open_group.
haga bdc_dynpro usando ‘SAPMZCMAT’ ‘0100’.
hacer bdc_field usando ‘BDC_CURSOR’
‘W_R3’.
hacer bdc_field usando ‘BDC_OKCODE’
‘= OK1’.
hacer bdc_field usando ‘W_R1’
».
hacer bdc_field usando ‘W_R3’
‘X’.
haga bdc_dynpro usando ‘SAPMZCMAT’ ‘0200’.
hacer bdc_field usando ‘BDC_CURSOR’
‘ZMRO_MATDATA-MATNR’.
hacer bdc_field usando ‘BDC_OKCODE’
‘= ENTRAR’.
hacer bdc_field usando ‘ZMRO_MATDATA-MATNR’
‘100-100’.
haga bdc_dynpro usando ‘SAPMZCMAT’ ‘0200’.
hacer bdc_field usando ‘BDC_CURSOR’
‘ZMRO_MATDATA-MATNR’.
hacer bdc_field usando ‘BDC_OKCODE’
‘= TABSTRIP1_FC1’.
hacer bdc_field usando ‘ZMRO_MATDATA-MATNR’
‘100-100’.
hacer bdc_field usando ‘ZMRO_MATDATA-ERSDA’
’19 .07.2005 ‘.
hacer bdc_field usando ‘ZMRO_MATDATA-ERNAM’
‘CHETAN’.
hacer bdc_field usando ‘ZMRO_MATDATA-PSTAT’
‘BIEN’.
hacer bdc_field usando ‘ZMRO_MATDATA-LAEDA’
’19 .07.2005 ‘.
hacer bdc_field usando ‘ZMRO_MATDATA-AENAM’
‘VISHNOI’.
hacer bdc_field usando ‘ZMRO_MATDATA-VPSTA’
‘BIEN’.
hacer bdc_field usando ‘ZMRO_STORAGE-LGORT’
‘X001’.
hacer bdc_field usando ‘ZMRO_STORAGE-VMUML’
‘142.000’.
hacer bdc_field usando ‘ZMRO_STORAGE-LFGJA’
‘2006’.
hacer bdc_field usando ‘ZMRO_STORAGE-LABST’
’14 .000 ‘.
hacer bdc_field usando ‘ZMRO_STORAGE-LFMON’
’10’.
hacer bdc_field usando ‘ZMRO_STORAGE-VMLAB’
‘150.000’.
haga bdc_dynpro usando ‘SAPMZCMAT’ ‘0200’.
hacer bdc_field usando ‘BDC_CURSOR’
‘ZMRO_MATDATA-MATNR’.
hacer bdc_field usando ‘BDC_OKCODE’
‘= TC_PLANT_INSR’.
hacer bdc_field usando ‘ZMRO_MATDATA-MATNR’
‘100-100’.
hacer bdc_field usando ‘ZMRO_MATDATA-ERSDA’
’19 .07.2005 ‘.
hacer bdc_field usando ‘ZMRO_MATDATA-ERNAM’
‘CHETAN’.
hacer bdc_field usando ‘ZMRO_MATDATA-PSTAT’
‘BIEN’.
hacer bdc_field usando ‘ZMRO_MATDATA-LAEDA’
’19 .07.2005 ‘.
hacer bdc_field usando ‘ZMRO_MATDATA-AENAM’
‘VISHNOI’.
hacer bdc_field usando ‘ZMRO_MATDATA-VPSTA’
‘BIEN’.
haga bdc_dynpro usando ‘SAPMZCMAT’ ‘0200’.
hacer bdc_field usando ‘BDC_OKCODE’
‘= MOD’.
hacer bdc_field usando ‘ZMRO_MATDATA-MATNR’
‘100-100’.
hacer bdc_field usando ‘ZMRO_MATDATA-ERSDA’
’19 .07.2005 ‘.
hacer bdc_field usando ‘ZMRO_MATDATA-ERNAM’
‘CHETAN’.
hacer bdc_field usando ‘ZMRO_MATDATA-PSTAT’
‘BIEN’.
hacer bdc_field usando ‘ZMRO_MATDATA-LAEDA’
’19 .07.2005 ‘.
hacer bdc_field usando ‘ZMRO_MATDATA-AENAM’
‘VISHNOI’.
hacer bdc_field usando ‘ZMRO_MATDATA-VPSTA’
‘BIEN’.
hacer bdc_field usando ‘BDC_CURSOR’
‘T_PLANT-KZDIE (04)’.
hacer bdc_field usando ‘T_PLANT-WERKS (04)’
‘004’.
hacer bdc_field usando ‘T_PLANT-XCHAR (04)’
‘t’.
hacer bdc_field usando ‘T_PLANT-EKGRP (04)’
‘102’.
hacer bdc_field usando ‘T_PLANT-DISMM (04)’
’14’.
hacer bdc_field usando ‘T_PLANT-DISPO (04)’
’20’.
hacer bdc_field usando ‘T_PLANT-KZDIE (04)’
‘t’.
haga bdc_dynpro usando ‘SAPMZCMAT’ ‘0200’.
hacer bdc_field usando ‘BDC_OKCODE’
‘/ EBACK’.
hacer bdc_field usando ‘BDC_CURSOR’
‘ZMRO_MATDATA-MATNR’.
haga bdc_dynpro usando ‘SAPMZCMAT’ ‘0200’.
hacer bdc_field usando ‘BDC_CURSOR’
‘ZMRO_MATDATA-MATNR’.
hacer bdc_field usando ‘BDC_OKCODE’
‘= ENTRAR’.
hacer bdc_field usando ‘ZMRO_MATDATA-MATNR’
‘100-100’.
haga bdc_dynpro usando ‘SAPMZCMAT’ ‘0200’.
hacer bdc_field usando ‘BDC_CURSOR’
‘ZMRO_MATDATA-MATNR’.
hacer bdc_field usando ‘BDC_OKCODE’
‘= TABSTRIP1_FC2’.
hacer bdc_field usando ‘ZMRO_MATDATA-MATNR’
‘100-100’.
haga bdc_dynpro usando ‘SAPMZCMAT’ ‘0200’.
hacer bdc_field usando ‘BDC_OKCODE’
‘/ EBACK’.
hacer bdc_field usando ‘BDC_CURSOR’
‘ZMRO_MATDATA-MATNR’.
haga bdc_dynpro usando ‘SAPMZCMAT’ ‘0100’.
hacer bdc_field usando ‘BDC_OKCODE’
‘/ EBACK’.
hacer bdc_field usando ‘BDC_CURSOR’
‘% # AUTOTEXT003’.
* realizar bdc_transaction usando ‘ZCMAT’.
TRANSPORTE DE LA APLICACIÓN ‘ZCMAT’ UTILIZANDO BDCDATA
MODO ‘A’
Actualizar ‘A’
MENSAJES EN MESSTAB.
hacer close_group.
Espero que te ayude.
si es así, no otorgue puntos.
con todos los buenos deseos
Chetan Vishnoi
Ex miembro
Hola
Consulte el siguiente fragmento de código
REPORT Y730_BDC5 . *HANDLING TABLE CONTROL IN BDC DATA : BEGIN OF IT_DUMMY OCCURS 0, DUMMY(100) TYPE C, END OF IT_DUMMY. DATA : BEGIN OF IT_XK01 OCCURS 0, LIFNR(10) TYPE C, BUKRS(4) TYPE C, EKORG(4) TYPE C, KTOKK(4) TYPE C, NAME1(30) TYPE C, SORTL(10) TYPE C, LAND1(3) TYPE C, SPRAS(2) TYPE C, AKONT(6) TYPE C, FDGRV(2) TYPE C, WAERS(3) TYPE C, END OF IT_XK01, BEGIN OF IT_BANK OCCURS 0, BANKS(3) TYPE C, BANKL(10) TYPE C, BANKN(10) TYPE C, KOINH(30) TYPE C, LIFNR(10) TYPE C, END OF IT_BANK. DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE, IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE. CALL FUNCTION 'WS_UPLOAD' EXPORTING FILENAME = 'C:VENDOR.TXT' FILETYPE = 'ASC' TABLES DATA_TAB = IT_DUMMY. LOOP AT IT_DUMMY. IF IT_DUMMY-DUMMY+0(2) = '11'. IT_XK01-LIFNR = IT_DUMMY-DUMMY+2(10). IT_XK01-BUKRS = IT_DUMMY-DUMMY+12(4). IT_XK01-EKORG = IT_DUMMY-DUMMY+16(4). IT_XK01-KTOKK = IT_DUMMY-DUMMY+20(4). IT_XK01-NAME1 = IT_DUMMY-DUMMY+24(30). IT_XK01-SORTL = IT_DUMMY-DUMMY+54(10). IT_XK01-LAND1 = IT_DUMMY-DUMMY+64(3). IT_XK01-SPRAS = IT_DUMMY-DUMMY+67(2). IT_XK01-AKONT = IT_DUMMY-DUMMY+69(6). IT_XK01-FDGRV = IT_DUMMY-DUMMY+75(2). IT_XK01-WAERS = IT_DUMMY-DUMMY+77(3). APPEND IT_XK01. ELSE. IT_BANK-BANKS = IT_DUMMY-DUMMY+2(3). IT_BANK-BANKL = IT_DUMMY-DUMMY+5(10). IT_BANK-BANKN = IT_DUMMY-DUMMY+15(10). IT_BANK-KOINH = IT_DUMMY-DUMMY+25(30). IT_BANK-LIFNR = IT_DUMMY-DUMMY+55(10). APPEND IT_BANK. ENDIF. ENDLOOP. LOOP AT IT_XK01. REFRESH IT_BDCDATA. perform bdc_dynpro using 'SAPMF02K' '0100'. perform bdc_field using 'BDC_CURSOR' 'RF02K-REF_LIFNR'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'RF02K-LIFNR' IT_XK01-LIFNR. perform bdc_field using 'RF02K-BUKRS' IT_XK01-BUKRS. perform bdc_field using 'RF02K-EKORG' IT_XK01-EKORG. perform bdc_field using 'RF02K-KTOKK' IT_XK01-KTOKK. perform bdc_dynpro using 'SAPMF02K' '0110'. perform bdc_field using 'BDC_CURSOR' 'LFA1-TELX1'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'LFA1-NAME1' IT_XK01-NAME1. perform bdc_field using 'LFA1-SORTL' IT_XK01-SORTL. perform bdc_field using 'LFA1-LAND1' IT_XK01-LAND1. perform bdc_field using 'LFA1-SPRAS' IT_XK01-SPRAS. perform bdc_dynpro using 'SAPMF02K' '0120'. perform bdc_field using 'BDC_CURSOR' 'LFA1-KUNNR'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_dynpro using 'SAPMF02K' '0130'. perform bdc_field using 'BDC_CURSOR' 'LFBK-KOINH(02)'. perform bdc_field using 'BDC_OKCODE' '=ENTR'. DATA : FNAM(20) TYPE C, IDX TYPE C. MOVE 1 TO IDX. LOOP AT IT_BANK WHERE LIFNR = IT_XK01-LIFNR. CONCATENATE 'LFBK-BANKS(' IDX ')' INTO FNAM. perform bdc_field using FNAM IT_BANK-BANKS. CONCATENATE 'LFBK-BANKL(' IDX ')' INTO FNAM. perform bdc_field using FNAM IT_BANK-BANKL. CONCATENATE 'LFBK-BANKN(' IDX ')' INTO FNAM. perform bdc_field using FNAM IT_BANK-BANKN. CONCATENATE 'LFBK-KOINH(' IDX ')' INTO FNAM. perform bdc_field using FNAM IT_BANK-KOINH. IDX = IDX + 1. ENDLOOP. perform bdc_dynpro using 'SAPMF02K' '0130'. perform bdc_field using 'BDC_CURSOR' 'LFBK-BANKS(01)'. perform bdc_field using 'BDC_OKCODE' '=ENTR'. perform bdc_dynpro using 'SAPMF02K' '0210'. perform bdc_field using 'BDC_CURSOR' 'LFB1-FDGRV'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'LFB1-AKONT' IT_XK01-AKONT. perform bdc_field using 'LFB1-FDGRV' IT_XK01-FDGRV. perform bdc_dynpro using 'SAPMF02K' '0215'. perform bdc_field using 'BDC_CURSOR' 'LFB1-ZTERM'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_dynpro using 'SAPMF02K' '0220'. perform bdc_field using 'BDC_CURSOR' 'LFB5-MAHNA'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_dynpro using 'SAPMF02K' '0310'. perform bdc_field using 'BDC_CURSOR' 'LFM1-WAERS'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'LFM1-WAERS' IT_XK01-WAERS. perform bdc_dynpro using 'SAPMF02K' '0320'. perform bdc_field using 'BDC_CURSOR' 'WYT3-PARVW(01)'. perform bdc_field using 'BDC_OKCODE' '=ENTR'. perform bdc_dynpro using 'SAPLSPO1' '0300'. perform bdc_field using 'BDC_OKCODE' '=YES'. CALL TRANSACTION 'XK01' USING IT_BDCDATA MODE 'A' UPDATE 'S' MESSAGES INTO IT_BDCMSGCOLL. ENDLOOP. FORM BDC_DYNPRO USING PROG SCR. CLEAR IT_BDCDATA. IT_BDCDATA-PROGRAM = PROG. IT_BDCDATA-DYNPRO = SCR. IT_BDCDATA-DYNBEGIN = 'X'. APPEND IT_BDCDATA. ENDFORM. FORM BDC_FIELD USING FNAM FVAL. CLEAR IT_BDCDATA. IT_BDCDATA-FNAM = FNAM. IT_BDCDATA-FVAL = FVAL. APPEND IT_BDCDATA. ENDFORM.
espero que esto ayude
Anirban
Ex miembro
Hola,
Vea estos buenos enlaces
Control de tabla en BDC
http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
BDC
http://www.sap-img.com/bdc.htm
www.sappoint.com/abap/bdcconcept.pdf
www.sap-img.com/abap/learning-bdc-programming.htm
www.sap-img.com/abap/question-about-bdc-program.htm
www.sapdevelopment.co.uk/bdc/bdchome.htm
www.planetsap.com/bdc_main_page.htm
bdc-mm01
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
Marque las respuestas útiles.
Sobre,
Tanuja.
Ex miembro
naveen,
Permítanme plantear mi pregunta de forma más directa. ¿Qué hace que el control BDC en la mesa sea diferente al BDC en la pantalla normal?
¿Es la grabación de desplazamiento hacia la izquierda / derecha y la página hacia arriba / abajo algo diferente en los controles de la tabla
Ex miembro
Además de lo anterior, recuerde siempre que el desplazamiento horizontal no afecta la grabación, pero el desplazamiento vertical sí grabará.
Por lo tanto, si necesita incluir 10 filas de datos en el control de la tabla y solo aparecen 5 filas en la pantalla, asegúrese de que su registro tenga una página hacia abajo después de completar 5 conjuntos de datos y luego incluya otras 5 filas.
Sería una mejor idea registrar un retroceso de página después de cada conjunto de datos que se va a completar (esto es aplicable si el número de conjuntos que se va a completar es dinámico)
Ex miembro
Hola Suresh,
Mira lo siguiente,
Bdc
BDChttp: //www.sap-img.com/bdc.htm «> BDC>
Sobre,
Arun Sambargi.