MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 02/04/08, 20:07:24
vcoll vcoll is offline
Junior Member
 
Fecha de Ingreso: feb 2006
Localización: Lima - Peru
Mensajes: 3
Post Bapi_po_create1

Hola Foro aca una consulta sobre esta bapi que me esta matando.

Resulta que necesito crear ordenes de servicio, los datos que ingreso me generan la orden de servicio pero necesito que ademas me cree una distribucion porcentual (tx me21n) por cuenta/orden este es el codigo que uso y me funciona pero necesito que me cree la distribucion porcentual con los datos que le doy(la tabla en la que la graba es ESKL).

FORM CREAR_ORDEN_SERVICIO.
DATA: w_poheader LIKE bapimepoheader,
w_poheaderx LIKE bapimepoheaderx.

DATA: gv_pedido LIKE bapimepoheader-po_number.

DATA: poaccount LIKE bapimepoaccount OCCURS 0 WITH HEADER LINE,
poaccountx LIKE bapimepoaccountx OCCURS 0 WITH HEADER LINE,
po_item LIKE bapimepoitem OCCURS 0 WITH HEADER LINE,
po_itemx LIKE bapimepoitemx OCCURS 0 WITH HEADER LINE,
service LIKE bapiesllc OCCURS 0 WITH HEADER LINE,
srvaccessvalues LIKE bapiesklc OCCURS 0 WITH HEADER LINE.

W_TOTAL = 212.

* Carga datos de Cabecera del pedido de Compra
CLEAR w_poheader.
w_poheader-doc_type = 'SV'.
w_poheader-vendor = '2035639373'. "P_LIFNR.
w_poheader-langu = 'EN'.
w_poheader-purch_org = '2405'. "'101'.
w_poheader-pur_group = '153'. "'043'.
w_poheader-currency = 'PEN'.
w_poheader-comp_code = '153'. "P_BUKRS.
w_poheader-creat_date = sy-datum.
w_poheader-created_by = 'STEFANINI'.

* Marca los campos para que se tomen.
CLEAR w_poheaderx.
w_poheaderx-doc_type = 'X'.
w_poheaderx-vendor = 'X'.
w_poheaderx-purch_org = 'X'.
w_poheaderx-pur_group = 'X'.
w_poheaderx-currency = 'X'.
w_poheaderx-comp_code = 'X'.
w_poheaderx-creat_date = 'X'.
w_poheaderx-created_by = 'X'.

*Posiciones de pedido
po_item-po_item = '10'.
po_item-quantity = '1'.
po_item-short_text = 'TEXTO TAXI'.
po_item-acctasscat = 'F'.
po_item-item_cat = 'F'.
po_item-po_unit = 'EA'.
po_item-matl_group = '774'. "'768'.
po_item-plant = '3202'. "'0690'.
po_item-quantity = '1' .
po_item-conv_num1 = '1'.
po_item-conv_den1 = '1'.
po_item-price_unit = '1'.
po_item-prnt_price = 'X'.
po_item-unlimited_dlv = 'X'.
po_item-gr_ind = 'X' .
po_item-ir_ind = 'X' .
po_item-gr_basediv = 'X'.
po_item-pckg_no = '2748'.
po_item-preq_name = sy-uname.
APPEND po_item. CLEAR po_item.

*Flags de Posiciones de pedido
po_itemx-po_item = '10'.
po_itemx-quantity = 'X'.
po_itemx-short_text = 'X'.
po_itemx-acctasscat = 'X'.
po_itemx-item_cat = 'X'.
po_itemX-po_unit = 'X'.
po_itemx-matl_group = 'X'.
po_itemx-plant = 'X'.
po_itemx-quantity = 'X' .
po_itemx-conv_num1 = 'X'.
po_itemx-conv_den1 = 'X'.
po_itemx-price_unit = 'X'.
po_itemx-prnt_price = 'X'.
po_itemx-unlimited_dlv = 'X'.
po_itemx-gr_ind = 'X' .
po_itemx-ir_ind = 'X' .
po_itemx-gr_basediv = 'X'.
po_itemx-pckg_no = 'X'.
po_itemx-preq_name = 'X'.
APPEND po_itemx. CLEAR po_itemx.

*Imputacion de pedido
poaccount-po_item = '10'.
poaccount-serial_no = '01'.
poaccount-creat_date = sy-datum .
poaccount-gl_account = '0068101009'.
poaccount-orderid = '000711000001'.
APPEND poaccount. CLEAR poaccount.

*Flags de imputacion
poaccountx-po_item = '10'.
poaccountx-po_itemx = 'X' .
poaccountx-serial_no = 'X'.
poaccountx-creat_date = 'X' .
poaccountx-gl_account = 'X'.
poaccountx-orderid = 'X'.
APPEND poaccountx. CLEAR poaccountx.

* Distribucion de imputacion
srvaccessvalues-pckg_no = '0000002748'.
srvaccessvalues-line_no = '0000000001' .
srvaccessvalues-serno_line = '01'.
srvaccessvalues-percentage = '50'.
srvaccessvalues-serial_no = '01'.
srvaccessvalues-NET_VALUE = '106'.
srvaccessvalues-quantity = '106'.
APPEND srvaccessvalues. CLEAR srvaccessvalues.

srvaccessvalues-pckg_no = '0000002749'.
srvaccessvalues-line_no = '0000000002' .
srvaccessvalues-serno_line = '01'.
srvaccessvalues-percentage = '25'.
srvaccessvalues-serial_no = '01'.
srvaccessvalues-NET_VALUE = '53'.
srvaccessvalues-quantity = '53'.
APPEND srvaccessvalues. CLEAR srvaccessvalues.

srvaccessvalues-pckg_no = '0000002750'.
srvaccessvalues-line_no = '0000000003' .
srvaccessvalues-serno_line = '01'.
srvaccessvalues-percentage = '25'.
srvaccessvalues-serial_no = '01'.
srvaccessvalues-NET_VALUE = '53'.
srvaccessvalues-quantity = '53'.
APPEND srvaccessvalues. CLEAR srvaccessvalues.


* Servicios encabezado
service-pckg_no = '2748'.
service-line_no = '0000000001' .
service-ext_line = '0000000000' .
service-outl_level = '0'.
service-outl_no = ' '.
service-outl_ind = 'X'.
service-subpckg_no = '2749'.
service-edition = '0000' .
service-ovf_tol = '0'.
service-gr_price = '0'.
service-from_line = '1'.
service-DISTRIB = '2'.
service-short_text = 'texto taxiXX'.
APPEND service. CLEAR service.

* servicio 1 asociado al encabezado
service-pckg_no = '2749'.
service-line_no = '0000000002' .
service-ext_line = '10' .
service-outl_level = '0'.
service-subpckg_no = '0000000000'.
service-edition = '0000' .
service-base_uom = 'EA' .
service-quantity = '1' .
service-price_unit = '1' .
service-ovf_tol = '0' .
service-short_text = 'TEXTO TAXIAA'.
service-gr_price = 212.
service-matl_group = '768'.
APPEND service. CLEAR service .


DATA: return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
DATA: purchaseorder LIKE BAPIMEPOHEADER-PO_NUMBER.
*Creamos el Pedido de Servicio
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = w_poheader
poheaderx = w_poheaderx
no_price_from_po = 'X'
IMPORTING
exppurchaseorder = purchaseorder
TABLES
return = return
poitem = po_item
poitemx = po_itemx
poaccount = poaccount
poaccountx = poaccountx
poservices = service
posrvaccessvalues = srvaccessvalues.
IF NOT purchaseorder IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.
ENDFORM.
Responder Con Cita
  #2  
Viejo 12/10/10, 16:26:27
vstarke vstarke is offline
Member
 
Fecha de Ingreso: feb 2010
Mensajes: 60
consulta

buenas, tu ejemplo cae preciso para lo que necesito, pero resulta que al ejecutarlo me indica como error que no hay código de material y no crea nada.... sabes por qué razón sucede esto?...
Responder Con Cita
  #3  
Viejo 13/10/10, 00:57:02
K-MUS K-MUS is offline
Member
 
Fecha de Ingreso: feb 2006
Localización: Capital Federal
Mensajes: 87
donde esta el matnr ??? o sea el codigo de material ?
Responder Con Cita
  #4  
Viejo 13/10/10, 20:05:45
vstarke vstarke is offline
Member
 
Fecha de Ingreso: feb 2010
Mensajes: 60
buenas tardes señores... logré encontrarle solución al error... era referente al grupo de material de la línea de servicio, se estaba enviando mal a la BAPI, se mandaba el grupo de material de la cabecera... gracias!...
Responder Con Cita
  #5  
Viejo 26/04/12, 23:52:22
vamp_01 vamp_01 is offline
Senior Member
 
Fecha de Ingreso: jun 2006
Mensajes: 109
Pregunta de donde sacas el pck-no?

gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:54:11.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web