• Viernes 15 de Noviembre de 2024, 02:59

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - veronikbv

Páginas: [1]
1
ABAP / Re: Bapi_po_create
« en: Sábado 12 de Mayo de 2007, 02:09 »
hola.. tngo un ejemplo pero con solicitud de pedidos... t lo copio..

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

FORM F_INICIALIZAR_ESTRUCTURAS.

  CLEAR     PURCHASEORDER.
  CLEAR  :  PO_HEADER,
            PO_ITEMS,
            PO_ITEM_SCHEDULES,
            RETURN.
  REFRESH:  PO_ITEMS,
            PO_ITEM_SCHEDULES,
            RETURN.

*---------------------------------------------------------------------*
*      Form  F_BAPI1
*---------------------------------------------------------------------*

FORM F_BAPI1.

  SELECT SINGLE * INTO CORRESPONDING FIELDS OF T_SOLPED
                  FROM EBAN
                  WHERE BANFN = G_BANFN
                    AND BNFPO = TZMM_COMPINT-BNFPO.

  G_SUBRC = SY-SUBRC.
  PERFORM F_LLENAR_POHEADER.
  PERFORM F_LLENAR_POITEMS USING C_POS.
  PERFORM F_LLENAR_PO_ITEM_SCHEDULES USING C_POS.
  PERFORM F_CARGAR_BAPI1.

ENDFORM.


*---------------------------------------------------------------------*
*       FORM F_LLENAR_POHEADER                                        *
*---------------------------------------------------------------------*

FORM F_LLENAR_POHEADER.

  CLEAR PO_HEADER.

* Clase de documento de compras
  PO_HEADER-DOC_TYPE = C_BSART.  "UB

  IF G_SUBRC EQ 0.
*   Organización de Compras
    PO_HEADER-PURCH_ORG = T_SOLPED-EKORG.                   "FPU1
*   Grupo de Compras
    PO_HEADER-PUR_GROUP = T_SOLPED-EKGRP.
  ENDIF.

* Centro suministrador
  PO_HEADER-SUPPL_PLNT = TZMM_COMPINT-WERKSA.

* Lenguaje
  PO_HEADER-LANGU = SY-LANGU.

ENDFORM.


*---------------------------------------------------------------------*
*       FORM F_LLENAR_POITEMS                                         *
*---------------------------------------------------------------------*

FORM F_LLENAR_POITEMS USING P_POS.

* Posición
  PO_ITEMS-PO_ITEM = P_POS.

* Tipo de posición
  IF G_SUBRC EQ 0.
    PO_ITEMS-ITEM_CAT = T_SOLPED-PSTYP.
  ENDIF.

* Centro
  PO_ITEMS-PLANT = TZMM_COMPINT-WERKS.

* Almacén
  PO_ITEMS-STORE_LOC = TZMM_COMPINT-LGORT.

*   Clase de valoración
    PO_ITEMS-VAL_TYPE = TZMM_COMPINT-BWTAR.

  APPEND PO_ITEMS.

ENDFORM.


*---------------------------------------------------------------------*
*       FORM F_LLENAR_PO_ITEM_SCHEDULES                               *
*---------------------------------------------------------------------*

FORM F_LLENAR_PO_ITEM_SCHEDULES USING P_POS.

  PO_ITEM_SCHEDULES-PO_ITEM = P_POS.
  PO_ITEM_SCHEDULES-PREQ_NO = G_BANFN.
  PO_ITEM_SCHEDULES-PREQ_ITEM = TZMM_COMPINT-BNFPO.

  APPEND PO_ITEM_SCHEDULES.

ENDFORM.


*---------------------------------------------------------------------*
*       F_FORM CARGAR_BAPI1                                            *
*---------------------------------------------------------------------*

FORM F_CARGAR_BAPI1.

  CLEAR   RETURN.
  REFRESH RETURN.
  CALL FUNCTION 'BAPI_PO_CREATE'
       EXPORTING
            PO_HEADER             = PO_HEADER
            SKIP_ITEMS_WITH_ERROR = 'X'
       IMPORTING
            PURCHASEORDER         = PURCHASEORDER
       TABLES
            PO_ITEMS              = PO_ITEMS
            PO_ITEM_SCHEDULES     = PO_ITEM_SCHEDULES
            RETURN                = RETURN
       EXCEPTIONS
            OTHERS                = 1.

  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
       EXPORTING
            WAIT    = 'X'.

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

 ENDFORM.

tngo otro ejemplo con servicios... pero creo q el q t copie t servira mas...
tal vez t falta habilitar SKIP_ITEMS_WITH_ERROR = 'X' :lightsabre:

2
ABAP / Re: Bapi_goodsmvt_create
« en: Viernes 11 de Mayo de 2007, 18:10 »
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.

3
ABAP / Re: Bapi_goodsmvt_create
« en: Viernes 11 de Mayo de 2007, 16:53 »
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...

4
ABAP / Re: Bapi_goodsmvt_create
« en: Viernes 11 de Mayo de 2007, 16:11 »
: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:

Páginas: [1]