PDA

Ver la Versión Completa : Bapi Para Crear Pedido


lauracarolina
11/08/08, 20:20:12
TNGO UN ERROR, TNGO Q CREAR UNA BAPI PAR PEDIDO DE VENTA Y ME SALE Q NO SE PÙEDE MODIFICAR EL DOCUMENTO DE VENTA..ESTE ES MI CODIGO:
*&---------------------------------------------------------------------*
*& Report ZPV_LVN *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

REPORT ZPV_LVN .
TABLES: VBAK, DPSOB_BP_ACC, BAPE_VBAK.


*DATA EXTENSIONIN TYPE BAPIPAREX occurs 0 WITH HEADER LINE.
DATA: BEGIN OF EXTENSIONIN OCCURS 1.
INCLUDE STRUCTURE BAPIPAREX.
DATA: END OF EXTENSIONIN.

DATA: BEGIN OF ORDER_ITEMS_IN OCCURS 1.
INCLUDE STRUCTURE BAPISDITM.
DATA: END OF ORDER_ITEMS_IN.

DATA: BEGIN OF ORDER_ITEMS_INX OCCURS 1.
INCLUDE STRUCTURE BAPISDITMX.
DATA: END OF ORDER_ITEMS_INX.

DATA: KUNNR LIKE VBAK-KUNNR.
data: ctacont like dpsob_bp_acc-partneracc.

DATA: SALESDOCUMENT LIKE BAPIVBELN-VBELN.

DATA: BEGIN OF ORDER_HEADER_IN OCCURS 1.
INCLUDE STRUCTURE BAPISDHD1.
DATA: END OF ORDER_HEADER_IN.

DATA: BEGIN OF ORDER_PARTNERS OCCURS 1.
INCLUDE STRUCTURE BAPIPARNR.
DATA: END OF ORDER_PARTNERS.

DATA: BEGIN OF RETURN OCCURS 1.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF RETURN.



SELECTION-SCREEN BEGIN OF BLOCK B10 WITH FRAME TITLE TEXT-100.
SELECTION-SCREEN SKIP.


Parameters: f_ent like BAPISDHD1-REQ_DATE_H,
F_DOC LIKE BAPISDHD1-DOC_DATE,
F_PREC LIKE BAPISDHD1-PRICE_DATE,
MATERIAL LIKE BAPISDITM-MATERIAL,
CANTIDAD LIKE BAPISDITM-TARGET_QTY,
NRO_OBJ LIKE VBAK-VTREF,
PERIODO LIKE VBAK-PERSL.

SELECTION-SCREEN END OF BLOCK B10.

*************************************************************
*****************PARA EL BP Y CUENTA DE CONTRATO Y OBT_CONT*************
start-of-selection.

SELECT SINGLE PARTNERACC INTO CTACONT
FROM DPSOB_BP_ACC
WHERE PARTNERACCTYP EQ '89' AND PSOBKEY EQ NRO_OBJ.

**********
*****LLENAMOS LOS VALORES EN LA TABLA PARA IMPORTARLA*****
ORDER_HEADER_IN-DOC_TYPE = 'ZIVU'.
ORDER_HEADER_IN-SALES_ORG = 'MC01'.
ORDER_HEADER_IN-DISTR_CHAN = 'Z5'.
ORDER_HEADER_IN-DIVISION = 'Z1'.
ORDER_HEADER_IN-REQ_DATE_H = F_ENT.
ORDER_HEADER_IN-DOC_DATE = F_DOC.
ORDER_HEADER_IN-PRICE_DATE = F_PREC.
ORDER_HEADER_IN-ORD_REASON = '022'.
ORDER_HEADER_IN-FKK_CONACCT = CTACONT.
ORDER_HEADER_IN-REFOBJKEY = NRO_OBJ.
append ORDER_HEADER_IN.


***********PARA LOS CAMPOS DE OBJ DE CONTRATO Y PERIODO******

extensionin-structure = 'BAPE_VBAK'.
BAPE_VBAK-VTREF = NRO_OBJ. " OBJETO
BAPE_VBAK-PERSL = PERIODO. " PERIODO
EXTENSIONIN-VALUEPART1 = BAPE_VBAK.
APPEND EXTENSIONIN.
*
*************************************************************
****************PARA LOS CAMPOS DE MATERIAL Y CANTIDAD*******
ORDER_ITEMS_IN-MATERIAL = MATERIAL.
ORDER_ITEMS_IN-TARGET_QTY = CANTIDAD.
APPEND ORDER_ITEMS_IN.

******
ORDER_ITEMS_INX-MATERIAL = 'X'.
ORDER_ITEMS_INX-TARGET_QTY = 'X'.
APPEND ORDER_ITEMS_INX.

*******************PONIENEDO EL BP***************************
ORDER_PARTNERS-PARTN_NUMB = KUNNR.
APPEND ORDER_PARTNERS.
**************************************************************

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

ORDER_HEADER_IN = order_header_in

IMPORTING
SALESDOCUMENT = SALESDOCUMENT

TABLES

RETURN = RETURN
ORDER_PARTNERS = ORDER_PARTNERS
ORDER_ITEMS_IN = ORDER_ITEMS_IN
ORDER_ITEMS_INX = ORDER_ITEMS_INX
EXTENSIONIN = EXTENSIONIN.


if sy-subrc = 0.
WRITE: / 'DOCUMENTO: ',SALESDOCUMENT.
WRITE: / 'SOLICITANTE: ', ORDER_PARTNERS-PARTN_NUMB.
write: / return-message.

endif.

***ALGUNA AYUDA?

lauracarolina
11/08/08, 21:02:40
ya encontre la solucion..gracias igualmente :p

diana_hm
03/11/08, 16:09:26
Hola,

Me sucede lo mismo, como lo resolviste?

herbert.leonn
08/02/11, 14:41:32
lauriña como lo resolviste, comenta pues XD

chivi82
10/02/11, 08:35:06
Laura te recomendaría a tí y a todo el mundo que una vez solucionado un problema se ponga la solución. He visto que otros hilos has hecho los mismo. Seguro que el resto de usuarios te lo agradeceremos.

Saludos,

purito20
24/04/12, 20:15:51
Pa Toda La Gente Pes