MUNDOSAP

Regresar   MUNDOSAP > TRABAJO Y FORMACION > RUEGOS Y PREGUNTAS
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 13/08/14, 20:47:15
AUSTRE_7083 AUSTRE_7083 is offline
Junior Member
 
Fecha de Ingreso: ago 2014
Mensajes: 1
Porque solo se actualiza un registro

Hola buen día, de favor me gustaría que me orientaran, al momento que hago una carga desde un txt, para actualizar fechas, solo me actualiza el primer registro de mi txt, como puedo hacer para que me actualice todos, o que es lo que tengo mal, (apenas empiezo en el mundo abap).
Agradeceria su tiempo prestado y ayuda!


TYPES: BEGIN OF TY_POSICIONES,
promo TYPE bbynr,
sel_dat TYPE datab,
ini_dat TYPE Datab,
fin_dat TYPE datab,
END OF TY_POSICIONES.

DATA: IT_POSICIONES TYPE STANDARD TABLE OF TY_POSICIONES,
WA_POSICIONES TYPE TY_POSICIONES.

DATA: IT_POSICIONES1 TYPE STANDARD TABLE OF TY_POSICIONES,
WA_POSICIONES1 TYPE TY_POSICIONES.

Data: sKWMENG(19) type c.
data skbetr(16) type c.
DATA: BEGIN OF BDC_TAB OCCURS 5.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDC_TAB.

DATA BEGIN OF TBI_XLS OCCURS 0.
INCLUDE STRUCTURE ALSMEX_TABLINE.
DATA END OF TBI_XLS.

data fecha_cons(8) type c.

data fecha_inidat(8) type c.


data fecha_findat(8) type c.

DATA INDICEC(6) TYPE C.

DATA INDICE TYPE I.
data opciones type CTU_PARAMS .
DATA: FECHA(10) TYPE C,
CONT(02) TYPE N,
CATALOGADOS(5) TYPE N,
ERROR(5) TYPE N,
LV_CENTRO TYPE WLK1-FILIA,
FLVON TYPE SY-DATUM,
LV_MENSAJE TYPE STRING.

DATA: MESS_TAB TYPE STANDARD TABLE OF BDCMSGCOLL WITH HEADER LINE.

DATA: W_TEXTOUT TYPE STRING.
DATA CAMPO TYPE STRING.

SELECTION-SCREEN BEGIN OF BLOCK BLK001 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN: BEGIN OF LINE, COMMENT (18) CM5.
PARAMETERS RUTA1(128) TYPE C DEFAULT 'C:\Carga\cambio_promos.xls' OBLIGATORY.
SELECTION-SCREEN: END OF LINE.

PARAMETERS MODO TYPE C DEFAULT 'N'.


SELECTION-SCREEN END OF BLOCK BLK001.

AT SELECTION-SCREEN OUTPUT.
CM5 = 'Seleccione Archivo'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR RUTA1.

CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = 'ZVA01'
DYNPRO_NUMBER = SY-DYNNR
IMPORTING
FILE_NAME = RUTA1
EXCEPTIONS
OTHERS = 1.

START-OF-SELECTION.

CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = RUTA1
FILETYPE = 'DAT'
TABLES
DATA_TAB = IT_POSICIONES[].
IF SY-SUBRC <> 0.
ENDIF.

CLEAR: BDC_TAB.



loop at it_posiciones into wa_posiciones.


clear : fecha_cons.


concatenate wa_posiciones-sel_dat+6(2) wa_posiciones-sel_dat+4(2) wa_posiciones-sel_dat+0(4) into fecha_cons.
concatenate wa_posiciones-ini_dat+6(2) wa_posiciones-ini_dat+4(2) wa_posiciones-ini_dat+0(4) into fecha_inidat.
concatenate wa_posiciones-fin_dat+6(2) wa_posiciones-fin_dat+4(2) wa_posiciones-fin_dat+0(4) into fecha_findat.

PERFORM DYNPRO
USING: 'X' 'SAPMV13N' '0100',
' ' 'BDC_CURSOR' 'KONBBY_KOMK-BBYNR',
' ' 'BDC_OKCODE' '=EXEC',
' ' 'KONBBY_KOMK-BBYNR' wa_posiciones-promo,
'X' 'SAPLV14A' '0100',
' ' 'BDC_CURSOR' 'RV130-SELKZ(03)',
' ' 'BDC_OKCODE' '=WEIT',
' ' 'RV130-SELKZ(01)' ' ',
' ' 'RV130-SELKZ(03)' 'X',
'X' 'RV13N201' '1000',
' ' 'BDC_CURSOR' 'SEL_DATE',
' ' 'BDC_OKCODE' '=ONLI',
' ' 'F001' 'OV01',
' ' 'F002' 'C1',
' ' 'F003' wa_posiciones-promo,
' ' 'SEL_DATE' fecha_cons,
'X' 'SAPMV13N' '3201',
' ' 'BDC_CURSOR' 'KONDN-BBYVAL(01)',
' ' 'BDC_OKCODE' '=TICH',
' ' 'RB_CATEG_MULTI' 'X',
' ' 'BDC_SUBSCR' 'SAPMV13N 0301PREREQ_SUB',
'X' 'SAPLV130' '0210',
' ' 'BDC_CURSOR' 'RV130-DATBI',
' ' 'BDC_OKCODE' '=WEIT',
' ' 'RV130-DATAB' fecha_inidat,
' ' 'RV130-DATBI' fecha_findat,
'X' 'SAPMV13N' '3201',
' ' 'BDC_CURSOR' 'KONDN-BBYVAL(01)',
' ' 'BDC_OKCODE' '=SICH',
' ' 'RB_CATEG_MULTI' 'X',
' ' 'BDC_SUBSCR' 'SAPMV13N 0301PREREQ_SUB'.


endloop.



opciones-DISMODE = MODO.
opciones-UPDMODE = 'S'.

CALL TRANSACTION 'VBK2'
USING BDC_TAB
MODE MODO
UPDATE 'S'
* OPTIONS FROM opciones
MESSAGES INTO MESS_TAB.
ADD 1 TO CATALOGADOS.
COMMIT WORK.
* CLEAR WA_COSTOS.


* WRITE: CATALOGADOS COLOR 1, 'NUMERO DE DOCUMENTO DE VENTA' COLOR 5.
SKIP 2.
WRITE: / 'LOG:'.
SKIP.
LOOP AT MESS_TAB ." WHERE MSGTYP = 'E' OR MSGTYP = 'I' or MSGTYP = 'S' .
CLEAR W_TEXTOUT.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
MSGID = MESS_TAB-MSGID
MSGNR = MESS_TAB-MSGNR
MSGV1 = MESS_TAB-MSGV1
MSGV2 = MESS_TAB-MSGV2
MSGV3 = MESS_TAB-MSGV3
MSGV4 = MESS_TAB-MSGV4
IMPORTING
MESSAGE_TEXT_OUTPUT = W_TEXTOUT.
ADD 1 TO ERROR.

WRITE: / ERROR COLOR 4, '-', W_TEXTOUT COLOR 6.

ENDLOOP.



*&---------------------------------------------------------------------*
*& Form dynpro
*&---------------------------------------------------------------------*
* llenado de campos para call transaction.
*----------------------------------------------------------------------*
* -->DYNBEGIN text
* -->NAME text
* -->VALUE text
*----------------------------------------------------------------------*
FORM DYNPRO USING DYNBEGIN
NAME
VALUE.
CLEAR BDC_TAB.

IF DYNBEGIN = 'X'.
MOVE: 'X' TO BDC_TAB-DYNBEGIN,
NAME TO BDC_TAB-PROGRAM,
VALUE TO BDC_TAB-DYNPRO.
ELSE.
MOVE: NAME TO BDC_TAB-FNAM,
VALUE TO BDC_TAB-FVAL.
ENDIF.
APPEND BDC_TAB.
ENDFORM. "DYNPRO[/size]
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 21:43:22.


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