Ver Mensaje Individual
  #6  
Viejo 21/09/12, 15:31:31
hramirezpa hramirezpa is offline
Junior Member
 
Fecha de Ingreso: jul 2006
Mensajes: 17
Esto sirve para confirmar, que toca escarbar el codigo para verificar si el programa tiene las funciones escondidas:


Si les sirve de algo, para la trx MB1C, cargue de materiales con seriales utilice el siguiente codigo:

PERFORM bdc_dynpro USING 'SAPMM07M' '0400'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BDC_CURSOR' 'MKPF-BUDAT'.

CONCATENATE s_matnr-bldat+6(2) s_matnr-bldat+4(2) s_matnr-bldat(4)
INTO zc_date.
PERFORM bdc_field USING 'MKPF-BLDAT' zc_date.

CONCATENATE s_matnr-budat+6(2) s_matnr-budat+4(2) s_matnr-budat(4)
INTO zc_date.
PERFORM bdc_field USING 'MKPF-BUDAT' zc_date.
PERFORM bdc_field USING 'RM07M-BWARTWA' s_matnr-bwart.
PERFORM bdc_field USING 'RM07M-WERKS' s_matnr-werks_d.
PERFORM bdc_field USING 'RM07M-LGORT' s_matnr-lgort_d.
PERFORM bdc_field USING 'XFULL' 'X'.
PERFORM bdc_field USING 'RM07M-XNAPR' ' '.
PERFORM bdc_field USING 'RM07M-WVERS2' 'X'.

PERFORM bdc_dynpro USING 'SAPMM07M' '0421'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BDC_CURSOR' 'MSEG-ERFMG(01)'.

PERFORM bdc_field USING 'MSEG-MATNR(01)' s_matnr-matnr.
PERFORM bdc_field USING 'MSEG-ERFME(01)' s_matnr-unidad.
PERFORM bdc_field USING 'MSEG-ERFMG(01)' s_matnr-menge_bi.

PERFORM bdc_field USING 'BDC_SUBSCR'
'SAPMM07M 2400BLOCK1'.
PERFORM bdc_field USING 'BDC_SUBSCR'
'SAPLKACB 0001BLOCK'.
PERFORM bdc_field USING 'DKACB-FMORE' 'X'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
PERFORM bdc_field USING 'BDC_SUBSCR'
'SAPLKACB 0003BLOCK1'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
PERFORM bdc_field USING 'BDC_SUBSCR'
'SAPLKACB 0003BLOCK1'.

PERFORM bdc_dynpro USING 'SAPLIPW1' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RIPW0-SERNR(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' 'PNPG'.

**********
zn_menge_bi = s_objpd-menge_bi.
CLEAR: cont, zn_nro_seriales.
LOOP AT t_objpd_serial INTO s_objpd_serial WHERE matnr = s_objpd-matnr.
ADD 1 TO cont.
ADD 1 TO zn_nro_seriales.
IF cont > 20.
PERFORM bdc_dynpro USING 'SAPLIPW1' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RIPW0-SERNR(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' 'PNPG'.
MOVE 1 TO cont.
ENDIF.
CLEAR: val.
CONCATENATE 'RIPW0-SERNR(' cont ')' INTO val.
CONDENSE val.
PERFORM bdc_field USING val s_objpd_serial-sernr.
IF zn_menge_bi = zn_nro_seriales.
PERFORM bdc_field USING 'BDC_OKCODE' '=RWS'.
ENDIF.
ENDLOOP.
*************

PERFORM bdc_dynpro USING 'SAPMM07M' '0421'.
PERFORM bdc_field USING 'BDC_CURSOR' 'MSEG-ERFMG(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
PERFORM bdc_field USING 'BDC_SUBSCR'
'SAPMM07M 2400BLOCK1'.
PERFORM bdc_field USING 'BDC_SUBSCR'
'SAPLKACB 0001BLOCK'.
PERFORM bdc_field USING 'DKACB-FMORE' 'X'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
PERFORM bdc_field USING 'BDC_SUBSCR'
'SAPLKACB 0003BLOCK1'.

PERFORM bdc_transaction USING 'MB1C'.
REFRESH bdcdata.

Saludos
Responder Con Cita