• Sábado 4 de Mayo de 2024, 19:18

Autor Tema:  Bapi_goodsmvt_create  (Leído 11758 veces)

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Bapi_goodsmvt_create
« en: Sábado 26 de Agosto de 2006, 06:30 »
0
Hola estoy tratando de hacer una movimiento
351 --> Traspaso a stock en transito de stock de util. libre.
el cual se hace mediante la transaccion MB1B y yo trato de hacerlo mediante la siguiente bapi: BAPI_GOODSMVT_CREATE

Y me marca el siguiente mensaje:

Código: Text
  1.  
  2. La dimensión  no está disponible para el material OB-000006-1441    
  3. La dimensión  no está disponible para el material CZ-000010-1418    
  4.  
  5.  

El codigo de mi reporte es el siguiente:

Código: Text
  1.  
  2. goodsmvt_header-pstng_date = sy-datum.
  3. goodsmvt_header-doc_date = sy-datum.
  4. goodsmvt_code-gm_code = '04'.
  5.  
  6. *goodsmvt_item-material = 'OB-000006-1441'.
  7. goodsmvt_item-plant = 'Z001'.
  8. goodsmvt_item-stge_loc = 'A001'.
  9. goodsmvt_item-move_type = '351'.
  10. *goodsmvt_item-sales_ord = '4300002609'.
  11. *goodsmvt_item-s_ord_item ='10'.
  12. *goodsmvt_item-sched_line ='0001'.
  13. *goodsmvt_item-spec_stock ='E'.
  14. goodsmvt_item-entry_qnt ='5'.
  15. *goodsmvt_item-batch ='0000156779'. " Si dejo esto marca error interno.
  16. goodsmvt_item-po_number = '4300002609'.
  17. goodsmvt_item-po_item = '10'.
  18.  
  19. APPEND goodsmvt_item.
  20.  
  21. goodsmvt_item-plant = 'Z001'.
  22. goodsmvt_item-stge_loc = 'A001'.
  23. goodsmvt_item-move_type = '351'.
  24. goodsmvt_item-entry_qnt ='5'.
  25. goodsmvt_item-po_number = '4300002609'.
  26. goodsmvt_item-po_item = '20'.
  27.  
  28. APPEND goodsmvt_item.
  29.  
  30. CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
  31.   EXPORTING
  32.     goodsmvt_header       = goodsmvt_header
  33.     goodsmvt_code         = goodsmvt_code
  34.     testrun               = testrun
  35.   IMPORTING
  36.     goodsmvt_headret      = goodsmvt_headret
  37.     materialdocument      = materialdocument
  38.     matdocumentyear       = matdocumentyear
  39.   TABLES
  40.     goodsmvt_item         = goodsmvt_item
  41.     goodsmvt_serialnumber = goodsmvt_serialnumber
  42.     return                = return
  43.     afs_goodsmvt_sku      = afs_goodsmvt_sku.
  44.  
  45.  
  46. IF sy-subrc EQ 0.
  47.   CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  48.     EXPORTING
  49.       wait = 'X'.
  50. ELSE.
  51.   CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  52. ENDIF.
  53.  
  54. LOOP AT return.
  55.   WRITE / return-message.
  56. ENDLOOP.
  57.  
  58.  

Creen que me falta algun parametro o sabran mas o menos que pasa ???
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Bapi_goodsmvt_create
« Respuesta #1 en: Martes 29 de Agosto de 2006, 22:46 »
0
La verdad es que nunca he utilizado esa BAPI  :unsure:

Saludos,

Blag  :smartass:

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Bapi_goodsmvt_create
« Respuesta #2 en: Miércoles 22 de Noviembre de 2006, 20:35 »
0
Hola....

Cues con la novedad de que no pude hacer jalar la BAPI BAPI_GOODSMVT_CREATE

ahora estoy tratando de usar la bapi

/AFS/BAPI_GOODSMVT_CREATE

Algun ejemplo.. estoy llenandola de la siguiente manera....

Código: Text
  1.  
  2.  
  3. * Completo Cabecera
  4. CLEAR: s_goodsmvt_header.
  5. s_goodsmvt_header-pstng_date = sy-datum. " Fecha del sistema
  6. s_goodsmvt_header-doc_date = sy-datum. " Fecha del sistema
  7. s_goodsmvt_header-pr_uname = sy-uname. " Usuario ejecutante
  8.  
  9. * Detalle.
  10. it_afs_goodsmvt_item-po_number = '4300002736'. "Numero de Pedido de traslado (ME21N)
  11. it_afs_goodsmvt_item-po_item = 10. "Posicion (EKPO)
  12. it_afs_goodsmvt_item-sched_line_sku = 1. "Reparto (EKET)
  13. it_afs_goodsmvt_item-material = 'LT-G05989-5801'. "Material (EKPO)
  14. it_afs_goodsmvt_item-plant = 'Z001'. "Centro suministrador (EKKO)
  15. it_afs_goodsmvt_item-stge_loc = 'A001'. "Almacen (EKKO)
  16. it_afs_goodsmvt_item-grid_value = '27.5'. "Talla (EKET)
  17. it_afs_goodsmvt_item-move_type = '351'. " Tipo de Movimiento : Transfer posting to stock in transit from unrestricted-use
  18. it_afs_goodsmvt_item-entry_qnt = 1. "Cantidad.
  19.  
  20.  
  21.  
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

veronikbv

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Bapi_goodsmvt_create
« Respuesta #3 en: Viernes 11 de Mayo de 2007, 16:11 »
0
:hola: .. soy nueva en ste foro... anteriormente he hexo algunas preguntas en otro foro... y desfortunadamente muy pocas veces me han respondido... necesito usar la mb1b mov 351 ... no puedo usar batch xq hay una especie de pop up q me interrumpe la grabacion... veo q senzao uso bapis... he stado tratando d usar dixa bapi BAPI_GOODSMVT_CREATE .. le stoy pasando.. fechas en la cabecera... el valor de 04 (MB1B) en GOODSMVT_CODE .. le stoy pasando el numero d orden d compra y su posicion, el centro y el almacen... ademas d la cantidad, material, y unidad de medida porsiacaso.. pero con ninguna de las combinaciones de informacion q le paso me sale bien.. es decir me devuelve un numero d documento como si lo hubiera creado correctamente.. pero cuando lo reviso en la mb1b opcion visualizar me dice q no existe.. y en la tabla MSEG tampoco aparece... x favor quisiera q me dijeran q parametros exactamente le debo pasar.. xq ayer he estado intentando toda la tarde.. y no se que puedo estar haciendo mal .. dispongo de la orden d compra su posicion, centro y almacen.. supuestmente el resto d informacion lo deberia jalar d la misma orden d compra..... gracias.. :ayuda:

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Bapi_goodsmvt_create
« Respuesta #4 en: Viernes 11 de Mayo de 2007, 16:41 »
0
Podrias pasarme la implemetacion de la BAPI, yo no pude lograr hacer que funcione :(.....

Y creo que tu problema esta en hacerle un commit manda llamar la funcion
BAPI_TRANSACTION_COMMIT

Espero y me puedas pasar tu codigo para hecharle un ojo.

Gracias.
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

veronikbv

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Bapi_goodsmvt_create
« Respuesta #5 en: Viernes 11 de Mayo de 2007, 16:53 »
0
x el momento lo stoy probando desde la se37 ... porque sino sale ahi supongo que menos desde codigo... o tu crees que probandolo desde el programa si saldra?? .. bueno voy a implementarlo en mi programa.. y luego t lo copio...

veronikbv

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Bapi_goodsmvt_create
« Respuesta #6 en: Viernes 11 de Mayo de 2007, 18:10 »
0
ia lo implemente en mi programa.. y sale todo bien... :P .. gracias x el dato d commit.. si seguia probandolo en la se37 me iba a volver loca :blink:

*declaracion de variables
*BAPI_GOODSMVT_CREATE

DATA: GOODSMVT_HEADER    LIKE  BAPI2017_GM_HEAD_01,
      GOODSMVT_CODE      LIKE  BAPI2017_GM_CODE,
      TESTRUN            LIKE  BAPI2017_GM_GEN-TESTRUN,
      GOODSMVT_ITEM      LIKE  BAPI2017_GM_ITEM_CREATE
                               OCCURS 0 WITH HEADER LINE,
      RETURN2            LIKE  BAPIRET2
                               OCCURS 0 WITH HEADER LINE.

DATA: MATERIALDOCUMENT   TYPE  BAPI2017_GM_HEAD_RET-MAT_DOC,
      MATDOCUMENTYEAR    TYPE  BAPI2017_GM_HEAD_RET-DOC_YEAR.


*---------------------------------------------------------------------*
*       FORM F_INICIALIZAR_ESTRUCTURAS                                
*---------------------------------------------------------------------*

FORM F_INICIALIZAR_ESTRUCTURAS.

  CLEAR  :  MATERIALDOCUMENT, MATDOCUMENTYEAR.
  CLEAR  :  GOODSMVT_HEADER,
            GOODSMVT_CODE.
  REFRESH:  GOODSMVT_ITEM,
            RETURN2.

ENDFORM.


*---------------------------------------------------------------------*
*      Form  F_BAPI2
*---------------------------------------------------------------------*

FORM F_BAPI2.

  PERFORM F_GOODSMVT_HEADER.
  PERFORM F_GOODSMVT_CODE.
  PERFORM F_GOODSMVT_ITEM.
  PERFORM F_CARGAR_BAPI2.

ENDFORM.


*---------------------------------------------------------------------*
*       FORM F_GOODSMVT_HEADER                                        *
*---------------------------------------------------------------------*

FORM F_GOODSMVT_HEADER.

  CLEAR GOODSMVT_HEADER.

* Fecha de contabilización en el documento
  GOODSMVT_HEADER-PSTNG_DATE = SY-DATUM.

* Fecha de documento en documento
  GOODSMVT_HEADER-DOC_DATE   = SY-DATUM.

* Nombre de usuario
  GOODSMVT_HEADER-DOC_DATE   = SY-UNAME.

ENDFORM.


*---------------------------------------------------------------------*
*       FORM F_GOODSMVT_CODE                                          *
*---------------------------------------------------------------------*

FORM F_GOODSMVT_CODE.

  SELECT SINGLE GMCODE INTO GOODSMVT_CODE
         FROM T158G    WHERE TCODE = 'MB1B'.

ENDFORM.


*---------------------------------------------------------------------*
*       FORM F_GOODSMVT_ITEM                                          *
*---------------------------------------------------------------------*

FORM F_GOODSMVT_ITEM.

  GOODSMVT_ITEM-PLANT  =  TZMM_COMPINT-WERKSA. "centro origen
  GOODSMVT_ITEM-STGE_LOC = TZMM_COMPINT-LGORTA. "almacen origen
  GOODSMVT_ITEM-MOVE_TYPE = '351'.

  SELECT SINGLE MENGE INTO GOODSMVT_ITEM-ENTRY_QNT
         FROM EKPO WHERE EBELN = G_DOC
                     AND EBELP = C_POS. "cantidad

  GOODSMVT_ITEM-PO_NUMBER = G_DOC. "orden d compra
  GOODSMVT_ITEM-PO_ITEM   = C_POS. "posicion

  APPEND GOODSMVT_ITEM.

ENDFORM.


*---------------------------------------------------------------------*
*       F_FORM CARGAR_BAPI2                                            *
*---------------------------------------------------------------------*

FORM F_CARGAR_BAPI2.

* Registrar traspaso
  CLEAR   RETURN2.
  REFRESH RETURN2.
  CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
           GOODSMVT_HEADER       = GOODSMVT_HEADER
           GOODSMVT_CODE         = GOODSMVT_CODE
      IMPORTING
           MATERIALDOCUMENT      = MATERIALDOCUMENT
           MATDOCUMENTYEAR       = MATDOCUMENTYEAR
      TABLES
           GOODSMVT_ITEM         = GOODSMVT_ITEM
           RETURN                = RETURN2
           .

  COMMIT WORK.

  IF NOT RETURN2 IS INITIAL.
*   Log
    LOOP AT RETURN2.
      CLEAR T_LOG.
      MOVE-CORRESPONDING TZMM_COMPINT TO T_LOG.
      T_LOG-TIPO    = RETURN2-TYPE.
      T_LOG-MSG     = RETURN2-MESSAGE.
      APPEND T_LOG.
    ENDLOOP.
  ENDIF.

ENDFORM.