Spool y concatenar
Buenas,
código:
SELECT LTRIM(\'01\' -- edo cliente 2
||\'1\' -- # de cred a imprimir 1
||\'ABF \' -- identificador del prosesador 4
||\' \' -- numero de familia 10
||\' \' -- uso informatica 7
||\' \' -- uso informatica 3
||\'00\' -- codigo beneficiario 2
||\'1\' -- codigo de parentesco 1
||RPAD(b.CUSTOMER_LAST_NAME1,20,\' \')-- app paterno 20
||RPAD(b.CUSTOMER_LAST_NAME2,15,\' \')-- app materno 15
||RPAD(b.CUSTOMER_NAME,15,\' \') -- nombre 15
||\'LGNC\' -- codigo del plan 4
||\' \' -- nombre de la institucion patrocinante 30
||\'*\' -- impresion de cred. 1
||\' \' -- inicial segundo nombre 1
||\'20010101\' -- fecha de nacimiento 8
||\'M\' -- sexo 1
||\' \' -- dir 30
||\' \' -- uso informatica 10
||\' \' -- dir comenrcual 30
||\' \' -- rfc 20
||\' \' -- uso informatica 90
||\' \' -- deducible a la fecha 10
||\' \' -- uso informatica 10
||\' \' -- pagado a la fecha 10
||\' \' -- uso informatica 7
||\' \' -- uso informatica 18
||\' \' -- codigo interno poliza en gpo 15
||\' \' -- ciudad 20
||\' \' -- envio de cred. 30
||\' \' -- region 2
||\' \' -- codigo postal 9
||\' \' -- uso informatica 12
||RPAD(TO_CHAR(TO_DATE((SELECT \'01/\'||FECHA_INI FROM ATARI_POS.POS_CUSTOMERS_GC WHERE GOLD_CARD = a.GOLD_CARD and Organization_id = a.ORGANIZATION_ID and Customer_id = a.CUSTOMER_ID),\'DD-MM-YYYY\'),\'YYYYMMDD\'),8,\' \') --fecha ini 8
||RPAD(TO_CHAR(LAST_DAY(TO_DATE((SELECT \'01/\'||FECHA_FIN FROM ATARI_POS.POS_CUSTOMERS_GC WHERE GOLD_CARD = a.GOLD_CARD and Organization_id = a.ORGANIZATION_ID and Customer_id = a.CUSTOMER_ID),\'DD-MM-YYYY\')),\'YYYYMMDD\'),8,\' \')-- fecha fin 8
||\' \' -- uso informatica 10
||\' \' -- uso informatica 9
||\' \') --nombre de grupo39
GNC
FROM CUSTOMERS a
WHERE a.CUSTOMER_ID > = 1
al momento de mandarlo al Spool, se come los últimos 58 caracteres, pero yo necesito la cadena asi, con esos caracteres bacios al final,
de que forma puedo hacerle?
Saludos y Gracias
código:
SELECT LTRIM(\'01\' -- edo cliente 2
||\'1\' -- # de cred a imprimir 1
||\'ABF \' -- identificador del prosesador 4
||\' \' -- numero de familia 10
||\' \' -- uso informatica 7
||\' \' -- uso informatica 3
||\'00\' -- codigo beneficiario 2
||\'1\' -- codigo de parentesco 1
||RPAD(b.CUSTOMER_LAST_NAME1,20,\' \')-- app paterno 20
||RPAD(b.CUSTOMER_LAST_NAME2,15,\' \')-- app materno 15
||RPAD(b.CUSTOMER_NAME,15,\' \') -- nombre 15
||\'LGNC\' -- codigo del plan 4
||\' \' -- nombre de la institucion patrocinante 30
||\'*\' -- impresion de cred. 1
||\' \' -- inicial segundo nombre 1
||\'20010101\' -- fecha de nacimiento 8
||\'M\' -- sexo 1
||\' \' -- dir 30
||\' \' -- uso informatica 10
||\' \' -- dir comenrcual 30
||\' \' -- rfc 20
||\' \' -- uso informatica 90
||\' \' -- deducible a la fecha 10
||\' \' -- uso informatica 10
||\' \' -- pagado a la fecha 10
||\' \' -- uso informatica 7
||\' \' -- uso informatica 18
||\' \' -- codigo interno poliza en gpo 15
||\' \' -- ciudad 20
||\' \' -- envio de cred. 30
||\' \' -- region 2
||\' \' -- codigo postal 9
||\' \' -- uso informatica 12
||RPAD(TO_CHAR(TO_DATE((SELECT \'01/\'||FECHA_INI FROM ATARI_POS.POS_CUSTOMERS_GC WHERE GOLD_CARD = a.GOLD_CARD and Organization_id = a.ORGANIZATION_ID and Customer_id = a.CUSTOMER_ID),\'DD-MM-YYYY\'),\'YYYYMMDD\'),8,\' \') --fecha ini 8
||RPAD(TO_CHAR(LAST_DAY(TO_DATE((SELECT \'01/\'||FECHA_FIN FROM ATARI_POS.POS_CUSTOMERS_GC WHERE GOLD_CARD = a.GOLD_CARD and Organization_id = a.ORGANIZATION_ID and Customer_id = a.CUSTOMER_ID),\'DD-MM-YYYY\')),\'YYYYMMDD\'),8,\' \')-- fecha fin 8
||\' \' -- uso informatica 10
||\' \' -- uso informatica 9
||\' \') --nombre de grupo39
GNC
FROM CUSTOMERS a
WHERE a.CUSTOMER_ID > = 1
al momento de mandarlo al Spool, se come los últimos 58 caracteres, pero yo necesito la cadena asi, con esos caracteres bacios al final,
de que forma puedo hacerle?
Saludos y Gracias
Encontré la solución.
es esta.
setlocal enabledelayedexpansion
:reader
set c=0
for /f "tokens=*" %%a in (_arch_1.txt) do (
set /a c+=1
call set lin!c!=%%a
rem set /a c= C-C +1
)
echo Archivo Leido
pause
set variable=%lin1:~1,570%
echo !variable!>>D:\pos_admin\interfases\files\arch_1.txt
for /l %%n in (2,1,!c!) do (
set variable=lin%%n
echo !variable!
echo %variable:~0,570% >>fet.txt)
del _arch_1.txt
pause
endlocal
espero a alguien mas le sirva.
Saludos.
es esta.
setlocal enabledelayedexpansion
:reader
set c=0
for /f "tokens=*" %%a in (_arch_1.txt) do (
set /a c+=1
call set lin!c!=%%a
rem set /a c= C-C +1
)
echo Archivo Leido
pause
set variable=%lin1:~1,570%
echo !variable!>>D:\pos_admin\interfases\files\arch_1.txt
for /l %%n in (2,1,!c!) do (
set variable=lin%%n
echo !variable!
echo %variable:~0,570% >>fet.txt)
del _arch_1.txt
pause
endlocal
espero a alguien mas le sirva.
Saludos.