Cobol - Urgente, migrar datos

   
Vista:

Urgente, migrar datos

Publicado por Fredy Ayala (4 intervenciones) el 13/08/2008 14:36:42
Como están amigos desarrolladores?
Necesito migrar archivos planos de cobol a sql server, será que pueden darme una manito? Necesito pasar los archivos planos a archivos de texto con separadores por lo menos. Les agradecere la ayuda.

Atentamente,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Urgente, migrar datos

Publicado por Luis Salinas (4 intervenciones) el 14/08/2008 17:04:14
Que tal Fredy, No se con que cobol estes trabajando, para facilitarte en terminos generales podria enviarte un programa que te pase a exel obiamente de ahi podrias halar a tu estructura. Si eso crees que te vaya a servir, confirmame.

Cuidate.

Luis.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente, migrar datos

Publicado por Fredy Ayala (4 intervenciones) el 14/08/2008 17:11:25
Eso me sirve bastante amigo, te agradecere la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente, migrar datos

Publicado por Luis Salinas (83 intervenciones) el 16/08/2008 15:37:40
Estoy adjuntandote un programa ejemplo, Si tienes algun problema escribeme, puedo enviarte otro un poco mas primitivo, pero funciona.

Obviamente a este progeama tiene que incluir el archivo que vas a leer y convertir los registor aexcel.

Intente enviarte a tu correo, pero no fubca. Dado eso te acomode de alguna manera rapida un programilla que tenia por ahi, para enviarte por aqui. Si quieres ejecutarlo conviertelo a tu cobol y elimina las cosas que no requieres.

Saludos.

Luis.

*======================*
IDENTIFICATION DIVISION.
*======================*
PROGRAM-ID. EXL001.
AUTHOR. SALINAS LOPEZ LUIS & C¡a.
INSTALLATION. PROYECTOS & SISTEMAS (PROYSISTEM).
*SECURITY. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
* ³ SISTEMA : GESTIONES DE CONTROL INVENTARIOS. ³
* ³ OBJETIVO: GENERA UN REPORTS DEL ARCH./DIVISIONES³
* ³ FEC-INIC: 20 DE JULIO DEL 2006 ³
* ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄij
* ³ HISTORIA DE MODIFICACIONES ³
* ³--------Â------------Â------------Â--------------³
* ³FECH/MOD³ MODIFIC.POR³ AUTORIZADOS³ OBJETIVO ³
* ³--------Å------------Å------------Å--------------³
* ³ ³ ³ ³ ³
* ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
COPY "COPYBOOKENVIRONM.DIV".
*COPY "IDFILESDIVISION.IDF".
SELECT IDFILE ASSIGN TO RANDOM TAB-ALLOCAT
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS DV-CLAVE OF REG-DIVISION
FILE STATUS IS W-STATFL.
* COPY "IDFILESREPORTS.PRN".
SELECT REPORTS
ASSIGN TO PRINT "LISTADO.XLS"
ORGANIZATION IS LINE SEQUENTIAL.
***************** FILE STATUS IS PR-STATS.
*=============*
DATA DIVISION.
*=============*
FILE SECTION.
FD IDFILE LABEL RECORD IS STANDARD.
*COPY "DISENOSDIVISION.REG".
*--------------------------------------------------------------*
* DISE¥O DEL REGISTRO DE DIVISIONES DE LA EMPRESA. *
*--------------------------------------------------------------*
* ARCHIVO ..: DIVISION.DAT (LINEAS DE PRODUCTOS) *
* NUM/FILE..: ___ *
* BOOCK ....: DIVISION.REG *
* INSTALADO.: POR PROYECTOS & SISTEMAS *
* TIPO/FILE.: INDEXADO. *
* REG-LENGTH: 50 BYTES. *
* KEY-LENGTH: 02 BYTES. *
* KEY-POSIT.: (Longitud=02, Desplazamiento=0) DV-CLAVE. *
* CLAVE ALT.: (Longitud=00, Desplazamiento=0) *
* FECH/CREAC: MAYO-26-1995 *
* *
*--------------------------------------------------------------*
01 REG-DIVISION.
02 DV-CLAVE.
03 DV-CODSU PIC 9(01).
* C¢digo de la Sucursal.
03 DV-CODDV.
* C¢digo de la Divisi¢n.
05 DV-DIVIS PIC X(01).
05 DV-SUBDV PIC X(01).
02 DV-DETAL PIC X(20).
* Detalle.
02 DV-DETSB PIC X(25).
* Sub-Detalle.
02 DV-ABREV PIC X(10).
* Detalle.
02 DV-FCTOR PIC S9(03)V99 OCCURS 5.
* Factor/Precios/Sub-Div.
02 DV-IDFAC PIC X(01).
* û=Indic./Factores desde divisiones.
02 DV-FILER PIC X(19).
* Para uso posterior.

COPY "SUBRUTINFDREPORT. ".
01 REG-REPORTE PIC X(110).
*-----------------------*
WORKING-STORAGE SECTION.
*-----------------------*
01 Excel-App.
03 Filler Pic X(46) Value "START C:Archivos de programaOfficeExcel.exe".
*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*
* DEFINICION DE LA(S) LINEA(S) DETALLE PARA EL REPORTS DE IMPRES.*
*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*
01 LINE-DATA.
02 D-CLAVES.
03 D-TRINIC PIC X(008) VALUE "<TR><TH>".
03 D-SUCCOD PIC X(001) VALUE SPACES.
03 D-SPARA1 PIC X(004) VALUE "<TD>".
03 D-DIVCOD PIC X(002) VALUE SPACES.
03 D-SPARA2 PIC X(004) VALUE "<TD>".
02 D-DETALL PIC X(022) VALUE SPACES.
02 D-SPARA3 PIC X(004) VALUE "<TD>".
02 D-DETSUB PIC X(027) VALUE SPACES.
02 D-SPARA4 PIC X(004) VALUE "<TD>".
02 D-ABREVI PIC X(010) VALUE SPACES.
02 D-TBFACT OCCURS 05.
03 D-SPARAT PIC X(004).
03 D-FACTOR PIC ZZZZ9.99.
*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*
* PROGRAM VARIABLE DECLARATION SECTION *
*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*
*---------------*
* LINKAGE SECTION.
*---------------*
COPY "COPYBOOKCOMMAREA. ".
*=================================*
PROCEDURE DIVISION.
*=================================*
COPY "SUBRUTINDECLARAT.STP".
*---------------------------------------------------------------*
* INICIA PROGRAMA, DESDE AQUI ME DIRIJO A INICIAR,PROCESAR Y FIN*
*---------------------------------------------------------------*
010-START-PROGRAM.
PERFORM 100-INITIATION THRU 100-INITIATION-EXIT.
PERFORM 200-PROCESS THRU 200-PROCESS-EXIT.
PERFORM 900-TERMINATION THRU 900-TERMINATION-EXIT.
010-START-PROGRAM-EXIT.
EXIT.
*---------------------------------------------------------------*
* ESTA FACE ESTA DESTINADA A LA TERMINACION DEL PROCESO / PROG. *
*---------------------------------------------------------------*
020-EXIT-PROGRAM.
GOBACK.
020-EXIT-PROGRAM-EXIT.
EXIT.
*---------------------------------------------------------------*
* PARRAFO QUE ABRE LOS ARCHIVOS Y VERIFICA SU STATUS DE C/ARCH. *
*---------------------------------------------------------------*
100-INITIATION.
SET IND TO 1.
MOVE " " TO W-ALFN01.
MOVE ZEROES TO DV-CLAVE W-FLAG01 PR-TIPRP
W-EIBRES W-MOTIVO W-FIELDS PR-CONPG.
COPY "SUBRUTINWINDOWS.PRG".
100-INITIATION-EXIT.
EXIT.
*---------------------------------------------------------------*
* PARRAFO QUE ABRE EL CORRESPONDIENTE ARCHIVO DE TRABAJO *
*---------------------------------------------------------------*
110-OPEN-FILE.
110-OPEN-FILE-EXIT.
EXIT.
*---------------------------------------------------------------*
* ESTA FACE ESTA DESTINADA A TODO LO QUE ES EL PROCESO DEL PROG.*
*---------------------------------------------------------------*
200-PROCESS.
CALL "SYSTEM" USING Excel-App.

OPEN OUTPUT REPORTS.
WRITE REG-REPORTE FROM "<FONT SIZE=10 COLOR=3>"
WRITE REG-REPORTE FROM "<HTML>"
WRITE REG-REPORTE FROM "<BODY>"
WRITE REG-REPORTE FROM "<TABLE>"
WRITE REG-REPORTE FROM "<TR><TH>columna1<TH>columna2<TH>columna3".
WRITE REG-REPORTE FROM "<TR><TH>Sucursal<TH>Division<TH>Detalles<TH>Sub-det.<TH>Abrevit.<TH>Factores".

PERFORM VARYING K FROM 1 BY 1 UNTIL K > 5
MOVE 1 TO D-SUCCOD
MOVE K TO D-DIVCOD
MOVE "ESTO ES UNA PRUEBA" TO D-DETALL
MOVE "SUB-DETALLE" TO D-DETSUB
MOVE "ABREVIATURA" TO D-ABREVI
MOVE K TO D-FACTOR(K)
MOVE "<TD>" TO D-SPARAT(K)
WRITE REG-REPORTE FROM LINE-DATA
END-PERFORM.

WRITE REG-REPORTE FROM "</TABLE></BODY></HTML>"
CLOSE REPORTS.
CALL "C$SYSTEM" USING "START EXCEL.EXE LISTADO.XLS".

200-PROCESS-EXIT.
EXIT.
*---------------------------------------------------------------*
* REALIZA UN "COPY" DE LA SUBRUTIMNA QUE ENVIA LOS MENSAGES *
*---------------------------------------------------------------*
800-COPY-BOOK.
*** COPY "SUBRUTINSENDMSGS. ".
800-COPY-BOOK-EXIT.
EXIT.
*---------------------------------------------------------------*
* FASE DE FINALIZACION DEL PROGRAMA, LUEGO DE UN EXITOSO PROCESO*
*---------------------------------------------------------------*
900-TERMINATION.
* MOVE "DIVISION" TO W-FILNAM.
* COPY "SUBRUTINLOADADRS. ".
** IF W-STATFL NOT = "**"
CLOSE IDFILE REPORTS.
MOVE 27 TO EIBAID.
MOVE 00 TO W-EIBRES.
COPY "SUBRUTINCLOSWIND.PRG".
900-TERMINATION-EXIT.
EXIT.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar