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




 
 
 
Herramientas Buscar en Tema Desplegado
Prev Mensaje Previo   Próximo Mensaje Próx
  #1  
Viejo 28/07/16, 13:48:43
fagarcia fagarcia is offline
Junior Member
 
Fecha de Ingreso: jul 2014
Mensajes: 4
Ayuda en creacion de programa.

Hola, he seguido mucho este foro con las diferentes dudas que se me han presentado y encontrado la mayoria de respuesta. En el caso actual estoy aprendiendo un poco de abap y creando un programa el cual no podido lograr resolver el problema.

Estoy tratando de realizar un programa que busque los datos y lo inserte en una tabla interna y luego de buscar los datos de la función spell_amount actualizar en la tabla interna en su campo correspondiente.

El problema esta en llenar el campo ITAB01-IMPORTE_TEXTO

Ver codigo del progama:
*&---------------------------------------------------------------------*
*& Report Z_IMPRESION_ORDEN_PAGO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT Z_IMPRESION_ORDEN_PAGO.

TABLES : RBKP, LFA1, LFBK, BNKA.

DATA: monto_en_letras TYPE spell, "VARIABLES PARA FUNCIONES"
texto type string. "VARIABLES PARA FUNCIONES"

DATA: BEGIN OF ITAB01 OCCURS 0,
BELNR LIKE RBKP-BELNR , " Numero de Factura
XBLNR LIKE RBKP-XBLNR , " Referencia
RMWWR LIKE RBKP-RMWWR, " IMPORTE EN MONEDA BRUTO"
WAERS LIKE RBKP-WAERS, "MONEDA DE DOCUMENTO
ZZNUMFISC LIKE RBKP-ZZNUMFISC, " NUMERO DE COMPROBANTES FISCALES
LIFNR LIKE LFA1-LIFNR, "NO DE ACREEDOR
NAME1 LIKE LFA1-NAME1, " NOMBRE DE ACREEDOR
STCD1 LIKE LFA1-STCD1," RNC O CEDULA
ORT01 like LFA1-ORT01, " POBLACION
ORT02 LIKE LFA1-ORT02, " DISTRITO
STRAS LIKE LFA1-STRAS, "CALLE
KOINH like LFBK-KOINH, " TITULAR DE LA CUENTA
BANKN LIKE LFBK-BANKN, " CUENTA CONTABLE
BANKA LIKE BNKA-BANKA, "NOMBRE DE BANCO
ZZPERSONAFISICA LIKE BUT000-ZZPERSONAFISICA, " TIPO DE EMPRESA
TIPO_PROPIEDAD LIKE ZBP_PERSONAFISIC-TIPO_PROPIEDAD,
SOLICT LIKE LFA1-NAME1, "SOLICITADOR
APROBA LIKE LFA1-NAME1, "APROBADO
IMPORTE_TEXTO TYPE string, " IMPORTE EN VERSION TEXTO
END OF ITAB01.

DATA ITAB01_wa LIKE ITAB01.

SELECTION-SCREEN BEGIN OF BLOCK blk1.


PARAMETERS: P_FACT TYPE RBKP-BELNR OBLIGATORY,
P_EJE TYPE RBKP-GJAHR OBLIGATORY,
P_SOC TYPE RBKP-BUKRS OBLIGATORY,
P_CONC TYPE BUT000-ZZDESC_ACTIV OBLIGATORY,
P_SOLT TYPE LFA1-NAME1 OBLIGATORY,
P_APR TYPE LFA1-NAME1 OBLIGATORY.

SELECTION-SCREEN END OF BLOCK blk1.



START-OF-SELECTION.


SELECT SINGLE
RBKP~BELNR
RBKP~XBLNR
RBKP~RMWWR
RBKP~WAERS
RBKP~ZZNUMFISC
LFA1~LIFNR
LFA1~NAME1
LFA1~STCD1
LFA1~ORT01
LFA1~ORT02
LFBK~KOINH
LFBK~BANKN
BNKA~BANKA
but000~ZZPERSONAFISICA
INTO CORRESPONDING FIELDS OF ITAB01
from RBKP LEFT JOIN LFA1 ON RBKP~LIFNR = LFA1~LIFNR JOIN BUT000 ON LFA1~LIFNR = BUT000~PARTNER JOIN LFBK ON BUT000~PARTNER = LFBK~LIFNR JOIN BNKA ON BNKA~BANKL = LFBK~BANKL
WHERE RBKP~BELNR = P_FACT AND RBKP~GJAHR = P_EJE AND RBKP~BUKRS = P_SOC.


SELECT SINGLE TIPO_PROPIEDAD INTO ITAB01-TIPO_PROPIEDAD FROM ZBP_PERSONAFISIC
WHERE COD_PERSONAFISICA = ITAB01-ZZPERSONAFISICA.

CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = ITAB01-RMWWR "Importe (valor) a convertir
currency = 'X'
filler = ' '
language = sy-langu
IMPORTING
in_words = monto_en_letras. "Cantidad o importe en letras

"Ejemplo de como leer el importe en letras
concatenate monto_en_letras-word 'con'
monto_en_letras-decimal(2) '/100' " 'decimales'
into texto separated by space.


loop at itab01.
CASE ITAB01-BELNR.
WHEN P_FACT.
ITAB01-IMPORTE_TEXTO = texto.
WHEN OTHERS.
ENDCASE.
MODIFY ITAB01.
ENDLOOP.


WRITE: / 'IMPORTE' , ITAB01-RMWWR.
WRITE: / 'REFERENCIA:' , ITAB01-XBLNR.
WRITE: / 'MONEDA:' , ITAB01-WAERS.
WRITE: / 'COMPROBANTE' , ITAB01-ZZNUMFISC.
WRITE: / 'ACREEDOR' , ITAB01-LIFNR.
WRITE: / 'NOMBRE' , ITAB01-NAME1.
WRITE: / 'RNC' , ITAB01-STCD1.
WRITE: / 'DISTRITO' , ITAB01-ORT01.
WRITE: / 'POBLACION' , ITAB01-ORT02.
WRITE: / 'CALLE ' , ITAB01-STRAS.
WRITE: / 'TITULAR' , ITAB01-KOINH.
WRITE: / 'NUMERO DE CUENTA',ITAB01-BANKN.
WRITE: / 'BANCO', ITAB01-BANKA.
WRITE: / 'PERSONA FISICA', ITAB01-ZZPERSONAFISICA.
WRITE: / 'TIPO DE PROPIEDAD', ITAB01-TIPO_PROPIEDAD.
WRITE: / 'IMPORTE TEXTO: ', ITAB01-IMPORTE_TEXTO.
WRITE: / 'IMPORTE TEXTO: ', texto .
Responder Con Cita
 


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 12:00:37.


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