MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Amigos Abap - Consulta (foro/showthread.php?t=34701)

braschilester 19/01/10 13:13:50

Amigos Abap - Consulta
 
TENGO UN Z-DESARROLLO.
QUE ACTUALIZA UNOS ARCHIVOS, PERO EN UNO DE ELLOS NO HACE NADA
ES DECIR DEJA VACIO EL ARCHIVO SIN DATOS..
ENVIO EL CODIGO HABER SI ME AYUDAN POR FAVOR:

FORM CARGA_PEDIDOS.
DATA : NETPR TYPE P,
NETWR TYPE P.
DATA VALOR(13).

*'Ojo solo prov. nacionales
*---------- Captura de los PEDIDOS
*-------------------------------------------------------------
LOOP AT TABPROI.
SELECT * FROM EKKO WHERE BUKRS IN S_BUKRS
AND LIFNR EQ TABPROI-LIFNR
AND BSART IN ('NB','ZI','ZM')
AND EKORG IN S_EKORG
AND LOEKZ = ' '
AND AEDAT BETWEEN FEC_INI AND SY-DATUM.
MOVE-CORRESPONDING EKKO TO TABPED.
C_PEDIDO = C_PEDIDO + 1.
*{ REPLACE DEVK900641 1
*\ PERFORM FILE_TABPED.

*} REPLACE
*-------- Subrutina de Items para el pedido.
SELECT * FROM EKPO WHERE EBELN = EKKO-EBELN
AND LOEKZ = ' '.
MOVE-CORRESPONDING EKPO TO TABITE.
******** Cambia Unidad de Medida (ea --> c/u ,...) *********03052000
CLEAR SY-SUBRC.
SELECT SINGLE * FROM T006A WHERE SPRAS = 'S'
AND MSEHI = EKPO-LMEIN.
IF SY-SUBRC = 0.
MOVE T006A-MSEH3 TO TABITE-LMEIN.
ENDIF.
CLEAR SY-SUBRC.
SELECT SINGLE * FROM T006A WHERE SPRAS = 'S'
AND MSEHI = EKPO-MEINS.
IF SY-SUBRC = 0.
MOVE T006A-MSEH3 TO TABITE-MEINS.
ENDIF.
CLEAR SY-SUBRC.
SELECT SINGLE * FROM T006A WHERE SPRAS = 'S'
AND MSEHI = EKPO-BPRME.
IF SY-SUBRC = 0.
MOVE T006A-MSEH3 TO TABITE-BPRME.
ENDIF.
*******
SELECT SINGLE * FROM TCURX WHERE CURRKEY EQ EKKO-WAERS.
NETPR = EKPO-NETPR * 100.
NETWR = EKPO-NETWR * 100.
TABITE-IDNLF = EKPO-IDNLF(22).
DO TCURX-CURRDEC TIMES.
NETPR = NETPR / 10.
NETWR = NETWR / 10.
ENDDO.
TABITE-NETPR = NETPR.
TABITE-NETWR = NETWR.
C_ITEM = C_ITEM + 1.

MOVE TABITE-TXZ01 TO I_TEXTO_DEPURADO.
PERFORM DEPURA_TEXTO.
MOVE I_TEXTO_DEPURADO TO TABITE-TXZ01.

PERFORM FILE_TABITE.
*-------- Subrutina de Items para Historial de entregas.
SELECT * FROM EKBE WHERE EBELN = EKPO-EBELN
AND EBELP = EKPO-EBELP
AND VGABE = '1'
AND BEWTP = 'E'
AND BWART IN ('101','102').
MOVE-CORRESPONDING EKBE TO TABHIS.
** valor = ekbe-dmbtr * 100.
* IF EKBE-SHKZG EQ 'H'.
** CONCATENATE '-' valor INTO tabhis-dmbtr.
* TABHIS-DMBTR = EKBE-DMBTR * -100.
* ELSE.
** tabhis-dmbtr = valor.
* TABHIS-DMBTR = EKBE-DMBTR * 100.
* ENDIF.
TABHIS-DMBTR = EKBE-DMBTR * 100.
C_HISTO = C_HISTO + 1.
PERFORM FILE_TABHIS.
ENDSELECT. " Fin recuperación historial de entrega
*---------Fin Historial de entregas

*-------- Subrutina de Items para facturas de costos indirectos .
IF F_CI EQ 'X'.
SELECT * FROM EKBZ WHERE EBELN = EKPO-EBELN
AND EBELP = EKPO-EBELP
AND VGABE = '2'.
SELECT * FROM BSEG WHERE BUKRS EQ EKPO-BUKRS
AND BELNR EQ EKBZ-BELNR
AND GJAHR EQ EKBZ-GJAHR
AND BUZID EQ 'K'.
IF SY-SUBRC EQ 0 AND NOT BSEG-LIFNR IS INITIAL
AND BSEG-LIFNR NE EKKO-LIFNR.
PERFORM AGREGA_PROVEEDOR USING BSEG-LIFNR
EKPO-BUKRS
EKKO-EKORG.
ENDIF.
ENDSELECT.
ENDSELECT.
ENDIF.
*---------Fin Costos indirectos
ENDSELECT.
ENDSELECT. " Fin recuperacion de los pedidos
ENDLOOP.
ENDFORM. "carga_pedidos

VLozano 19/01/10 13:53:30

Busca a quien hizo ese programa y exígele que te devuelva lo que cobró, junto con una indemnización por daños morales. Tu servidor no merece un código como ése, aunque haya tenido una infancia agresiva y le haya robado el almuerzo a los servidores de su alrededor.

Y esto te lo digo sin acritud, y sólo habiendo leído esto:

El resto del mensaje no lo he querido leer porque:

1- en el asunto del hilo no nos explicas nada, yo he entrado por curiosidad
2- escribes en mayúsculas, con lo que mis ojos se quejan
3- copias una sarta de código así, a lo crudo, sin molestarte en usar el botón para pegar código, que lo hace todo más legible... eso sin indentar y todo en mayúsculas sólo da dolor de cabeza
4- y lo peor de todo, es que en realidad NO nos has explicado tu problema.

¿Qué archivos actualiza? ¿Cuál de ellos NO actualiza? ¿Has debugado? ¿Dónde se supone que tendría que actualizar lo que NO se actualiza?

Tienes un montón de trabajo, seguro que con un montón de presión encima, y con un montón de prisa. Pero "vístete despacio, que tienes prisa". Si escribes los mensajes
1- resumiendo el problema en el asunto
2- en minúsculas para que no nos duela la cabeza
3- poniendo el código de forma legible
4- explicando cuál es el problema y lo que has intentado hacer para resolverlo

A todos nos será más fácil seguir tu trabajo y darte ideas/pistas/soluciones si las tenemos.

braschilester 19/01/10 14:34:05

Gracias-ya Solucione-el Code Nose Quien Lo Creo Soy New En La Empresa
 
Form File_tabped.
If P_unix Ne Space.
Transfer Tabped To P_pedid Length 39.
Endif.
Append Tabped.
Endform. " File_tabped

VLozano 19/01/10 14:53:53

Ahora intenta encontrar ese trozo de código en tu mensaje original. Luego edita el mensaje original, selecciona todo el código y dale al botón con el dibujo #

Cuando lo guardes, el mensaje habrá cambiado un montón, será legible, y probablemente el código esté indentado, con lo que los bloques se diferenciarán mejor.

Felicidades por la solución, y mis condolencias por la herencia. Espero que te paguen bien (aunque tal como está el mercado, sólo que te paguen ya vale la pena ;))

braschilester 19/01/10 16:26:43

Amigo Vlozano
 
Te puedo enviar el Codigo Completo del Desarrollo.

Me correre el programa pero el Archivo CI_PEDID

queda vacio no se cargan datos y en los otros si

todo correcto.-

ayudame pls


Husos Horarios son GMT. La hora en este momento es 18:17:20.

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