Bapi Para Crear Pedido
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?
__________________
LAURA CAROLINA VASQUEZ NOVOA-ING INFORMATICA
Consultora ABAP
|