Anda di halaman 1dari 43

Implementation Paper

ndice
NDICE ............................................................................................................................................................................................1 OBJETIVO.......................................................................................................................................................................................2 PROBLEMA....................................................................................................................................................................................2 DESCRIPCIN BREVE ...................................................................................................................................................................2 CLAVE DE BSQUEDA..................................................................................................................................................................2 DESCRIPCIN DETALLADA............................................................................................................................................................2 PANTALLAS................................................................................................................................................................................2 SOLUCIN......................................................................................................................................................................................3 DESCRIPCIN.............................................................................................................................................................................3 Parametrizacin de las vas de pago de emisin y cada para cheques de pago diferido...........................................3 Sustitucin para va de pago CPD-cada por pago automtico................................................................................11 Creacin de job para ZRFCHKU00_CME (asigna nro cheque en el campo asignacin del documento de pago)estndar modificado para que tenga en cuenta los Cheques de pago diferido (CME).............................................12 Explicacin de la utilizacin de la tr. F110 para generar la cada de los CPD y su utilizacin con el reporte ZFIBIASIG (carga el campo asignacin de la REGUP en el campo asignacin del documento de pago).............20 Planificacin de cada de los CPD con reporte ZFIBIASIG para que sea transparente para el usuario..................25 Activacin de user exit para que Extracto automtico cargue el nro de cheque (o de operacin) en el campo asignacin ................................................................................................................................................................28 Anexo I: Cdigo del programa ZRFCHKU00_CME..............................................................................................30 Anexo IIa: Cdigo del programa ZFIBIASIG ........................................................................................................38 Anexo IIb: Cdigo del programa ZFIBIASIG_INCLUDE......................................................................................40

Fecha : 9/07/2012

Pgina 1 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Objetivo
Documentar el diseo integral de una solucin para cheques emitidos, contando con que el campo asignacin de la partida del banco quede cargado con el nro de cheque, para poder conciliarlo con el extracto bancario.

Problema
Descripcin Breve
Consolidar una solucin de las varias que existen para resolver el problema indicado arriba en el contexto de las empresas que operan en Argentina1.

Clave de bsqueda
Cheque, Cheque de pago diferido, CPD, Campo Asignacin, ZUONR, CME, FBZP, FBKP, extracto bancario, F110, F-53, F-58, FF.5

Descripcin Detallada
Se busc disear una solucin para cheques emitidos (al da y de pago diferido con CME) y con la caracterstica de que el campo asignacin de la partida del banco quede cargada con el nro de cheque, para poder conciliar, as sea que el pago haya sido efectuado de manera manual (F-53+FCH5, F-40+FCH5, o F-58) o automtica (F110).

Pantallas
N/A

Fecha : 9/07/2012

Pgina 2 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Solucin
Descripcin
Parametrizacin de las vas de pago de emisin y cada para cheques de pago diferido
Operaciones CME para EFECTOS/CPD Path: IMG Gestin Financiera / Contabilidad Bancaria / Operaciones Contables / Operaciones con Efectos / Efectos a Paga / Almacenar cuenta asociada alternativa para efectos a pagar Transaccin: FBKP Se parametriza el indicador CME = S (Efectos Descontables) segn los siguientes parmetros:

Fecha : 9/07/2012

Pgina 3 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

211210003 = Cheques diferidos emitidos Sociedad para Pagos Path: IMG Gestin Financiera / Contabilidad de Deudores y Acreedores / Operaciones Contables / Salida de Pagos / Salida de Pagos Automtica / Seleccin Va de Pago/Banco para programa de pagos / Instalar todas las Sociedades para Pagos Transaccin: FBZP Seleccionar la sociedad y configurarla para Pagos. Lo importante es colocar aqu el indicador CME de cheques emitidos, que en este caso es el S:

Fecha : 9/07/2012

Pgina 4 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

CME = A (Anticipos) CME = F (Solicitud de Anticipos) CME = S (Cheques Diferidos). Para poder colocar aqu el S, se debi modificar temporalmente sus caractersticas (FBKP > K S)

se agreg en esta pantalla de FBZP, y se volvi a colocar como Efecto

Sociedad Pagadora Path: IMG Gestin Financiera / Contabilidad de Deudores y Acreedores / Operaciones Contables / Salida de Pagos / Salida de Pagos Automtica / Seleccin Va de Pago/Banco para programa de pagos / Instalar Sociedad Pagadora para Pagos

Fecha : 9/07/2012

Pgina 5 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Transaccin: FBZP Das de vencimiento de los efectos. En este caso se indic que un cheque diferido pude emitirse con vencimiento mnimo a 1 da y mximo a 360 das

Vas de Pago en el Pas Path: IMG Gestin Financiera / Contabilidad de Deudores y Acreedores / Operaciones Contables / Salida de Pagos / Salida de Pagos Automtica / Seleccin Va de Pago/Banco para programa de pagos / Vas de Pago por Pas para Pagos Transaccin: FBZP Las vas de pago parametrizadas que nos importan son la 1 y la 2:

Fecha : 9/07/2012

Pgina 6 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

La configuracin interna de una va de pago para cheques es la siguiente:

Si crear efecto antes vencimiento est tildado, no aparece el campo Fecha vencimiento en el programa de pagos automticos:

Fecha : 9/07/2012

Pgina 7 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Ntese que se utiliza el programa de pagos estndar de SAP R/3. (En la configuracin de las vas de pago por sociedad, se asignar el correspondiente formulario para las vas de pago de cheques automticos).

Falta Asignar el programa a via de pago 2

Notar arriba que se define el programa ZFIBIASIG para que se ejecute en la cada del cheque y genere un batch input en el campo asignacin de la partida de banco. Monedas permitidas: en todas, ARS.

Fecha : 9/07/2012

Pgina 8 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Vas de Pago en la Sociedad Path: IMG Gestin Financiera / Contabilidad de Deudores y Acreedores / Operaciones Contables / Salida de Pagos / Salida de Pagos Automtica / Seleccin Va de Pago/Banco para programa de pagos / Vas de Pago por Sociedad para Pagos Transaccin: FBZP Se deben asignar todas las vas de pago creadas en el pas, para poder ser utilizadas en cada sociedad:

Fecha : 9/07/2012

Pgina 9 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Esta via de pago no debe agrupar partidas (de ah que se marc Pago indiv.), porque tiene que haber una por cada CME de Cheques diferidos que se d de baja (c/u representa a 1 cheque). Determinacin de Bancos Path: IMG Gestin Financiera / Contabilidad de Deudores y Acreedores / Operaciones Contables / Salida de Pagos / Salida de Pagos Automtica / Seleccin Va de Pago / Banco para programa de pagos / Determinacin de Bancos para Pagos Transaccin: SPRO En este punto se deben configurar las caractersticas de los bancos relacionados con la va de pago a nivel de sociedad. En el orden de jerarqua se configuran todas las vas de pago con su jerarqua 1 y su banco propio correspondiente a cada va de pago. Nos importan la 1 y la 2:

Fecha : 9/07/2012

Pgina 10 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

En las cuentas bancarias se configuran todas las vas de pago con su correspondiente cuenta bancaria y cuenta contable asociada. Nos importan la 1 y la 2:

Ntese que la cuenta transitoria es la cuenta clearing pagadora de cada uno de los bancos correspondientes a la va de pago. En caso de utilizarse una va de pago para cheques diferidos, tambin se incorpora la cuenta de compensacin. Para cargar la cta transitoria en la va de pago 2, se modific esta va de pago para que sea temporalmente una cuenta de efectos y luego se revirti ese cambio.
En los importes previstos se configuran los topes para salidas de pago por cuenta bancaria:

Sustitucin para va de pago CPD-cada por pago automtico


Transaccin OBBH Esta sustitucin hace que si se trata de un documento de pago, de un CME de acreedores Haber (39), si ese CME es el S (parametrizado arriba) y la va de pago es 1, la reemplace por la va de pago 2 (que el prog. de pagos automticos levantar para hacer caer en su fecha de vencimiento).

Fecha : 9/07/2012

Pgina 11 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

En el ejemplo se incluy como clase de documento la Z3 porque es la de Carga Inicial de Partidas Abiertas de Proveedores.

Creacin de job para ZRFCHKU00_CME (asigna nro cheque en el campo asignacin del documento de pago)-estndar modificado para que tenga en cuenta los Cheques de pago diferido (CME)
Primero se debe guardar la variante (esto se hace slo 1 vez)

TX. FCHU

Fecha : 9/07/2012

Pgina 12 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Grabar como variante.

Fecha : 9/07/2012

Pgina 13 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Al campo Fecha creacin se lo marca como Variable de Seleccin...

Fecha : 9/07/2012

Pgina 14 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Fecha : 9/07/2012

Pgina 15 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Colocar la fecha que se desee. . Se programar un job para que su ejecucin sea automtica cada 12 hs: SM36

Fecha : 9/07/2012

Pgina 16 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Grabar

y clic en

, fecha hora:

Luego

Y grabar. El usuario de finanzas puede controlar la asignacin de los cheques: SM37

Fecha : 9/07/2012

Pgina 17 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Si posee el id

, gener un spool. Se lo marca y clic en

Haciendo clic en

vemos los cheques asignados:

Fecha : 9/07/2012

Pgina 18 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Esto significa que el pago (con cheque) tendr el nro de cheque (Entorno > Informacin de cheques) en el campo asignacin de la posicin correspondiente. Si el pago fue automtico (F110 con Va de Pago que genera CME e imprime cheque), ser en la partida 39S del CME ...

Y si fue manual (F-58 o F-53 + FCH5), en la partida 50 del Banco.

Cheques que no pudieron ser asignados automticamente: Los cheques que salen en el log como referencia a actualizar manualmente:

Son aquellos que SAP no pudo asignar directamente por ej., porque hay ms de una partida pagadora apuntando al mismo cheque, o dos cheques al mismo doc. de pago (FB03 > Entorno > Info cheques):

Fecha : 9/07/2012

Pgina 19 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

En este caso el usuario debe ingresar a cada uno de esos documentos y asignar el cheque manualmente (FB02 > Nro doc > Doble clic en la partida a modificar)

Explicacin de la utilizacin de la tr. F110 para generar la cada de los CPD y su utilizacin con el reporte ZFIBIASIG (carga el campo asignacin de la REGUP en el campo asignacin del documento de pago)
Todos los das se debe generar la cada de los Cheques de Pago Diferido que hayan vencido (Mariva, Via de Pago 2). De manera similar a lo visto previamente, se genera la variante para el programa ZFIBIASIG:

En la SE38 ejecutar el programa ZFIBIASIG

Fecha : 9/07/2012

Pgina 20 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Fecha : 9/07/2012

Pgina 21 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Para el ejemplo se utilizarn los cheques vencidos de los siguientes acreedores:

F110:

Fecha : 9/07/2012

Pgina 22 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

En la solapa de Impresin... se coloca la variante definida anteriormente:

Si la fecha de ejecucion de la propuesta (en el ejemplo, 19.06.05), es la fecha del da, no es necesario . Si no lo es, actualizarla y colocarle la fecha correcta. Clic en marcando crear medio de pago:

Fecha : 9/07/2012

Pgina 23 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Las partidas abiertas CME han sido compensadas y ya no figuran como partidas abiertas (este es un listado de partidas compensadas):

La posicion 29S cancela el CME pendiente, y en la posicin 50 del banco se ha asentado el nro de cheque: Como se ve en el mayor que sigue, los cheques han pasado a la cuenta pagadora del banco, y en el campo asignacin figura el nro de cheque:

Fecha : 9/07/2012

Pgina 24 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Planificacin de cada de los CPD con reporte ZFIBIASIG para que sea transparente para el usuario
Transaccin F110S

Fecha : 9/07/2012

Pgina 25 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Notar, en la variante, los campos de fecha que se marcan como Variable de seleccin:

Fecha : 9/07/2012

Pgina 26 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Grabar Tr. SM36

Fecha : 9/07/2012

Pgina 27 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Luego

, y grabar para liberarlo.

Los documentos generados cada da se pueden chequear en el log del job o tambin listando los documentos (FB03) ya que el id.de propuesta y su fecha se graban en el texto de cabecera de los documentos.

Activacin de user exit para que Extracto automtico cargue el nro de cheque (o de operacin) en el campo asignacin
Transaccin SMOD Ampliacin FEB00001 Verificar

Doble clic en el EXIT. Estamos en el Mdulo funciones EXIT_RFEBBU10_001. Doble clic en INCLUDE ZXF01U01 para crearlo.

Fecha : 9/07/2012

Pgina 28 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Este es el cdigo para que el nro de cheque vaya al campo asignacin, y que adems en el texto de posicin se grabe: EXT-EL + (Cdigo de operacin empresarial datanet) + (Texto que trae Datanet)
*&---------------------------------------------------------------------* *& Include ZXF01U01 * *& HUG - Softtek Argentina - 21.06.2005 *&---------------------------------------------------------------------* e_febko = i_febko. e_febep = i_febep. IF sy-tcode = 'FF.5'. IF NOT e_febep-chect IS INITIAL. e_febep-zuonr = e_febep-chect. ELSE. e_febep-zuonr = e_febep-valut. ENDIF. READ TABLE t_febre INDEX 2. CONCATENATE 'EXT-EL ' e_febep-vorgc "Cdigo de operacin empresarial datanet t_febre-vwezw "Texto que trae la posicin de Datanet INTO e_febep-sgtxt "Texto de posicin SEPARATED BY space. ELSE. ENDIF. "Ins "Ins "Ins "Ins

Grabar y activar. En la SMOD, marcar el exit Ej: y activarlo

Fecha : 9/07/2012

Pgina 29 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Anexo I: Cdigo del programa ZRFCHKU00_CME


************************************************************************ * Copy The Check Number In A Reference Document Field * *----------------------------------------------------------------------* * -> If a further field of the document is to be filled with * * the check number, additional lines, which correspond * * with ** (double star) characterized lines, must are inserted. * ************************************************************************ * Hugo Glagovsky Softtek-21/06/2005 * Copia del programa estndar RFCHKU00 y modificacin para adaptarlo a la * utilizacin de CME (para cheques de pago diferido). ************************************************************************ REPORT ZRFCHKU00_CME MESSAGE-ID FS NO STANDARD PAGE HEADING LINE-SIZE 132. *----------------------------------------------------------------------* * Data Declarations * *----------------------------------------------------------------------* INCLUDE FF05LCDV. "function module BELEG_WRITE_DOCUMENT INCLUDE FF05LCDF. "form CD_CALL_BELEG TABLES: * -> If further fields of a document are to be filled with * the check number, additional reference flags must be maintained * in the value table of the domain of PAYR-IREFE. PAYR, "Payment transfer medium file T001, "Company Codes BSEG, "Accounting document segment RFSDO, "Data elements for selection BSEC, BSED, BSET. "Dummy Tables for "function module CHANGE_DOCUMENT TYPES: BEGIN OF PROTOCOL_LINE, ZBUKR LIKE PAYR-ZBUKR, VBLNR LIKE PAYR-VBLNR, GJAHR LIKE PAYR-GJAHR, HBKID LIKE PAYR-HBKID, HKTID LIKE PAYR-HKTID, RZAWE LIKE PAYR-RZAWE, CHECT LIKE PAYR-CHECT, END OF PROTOCOL_LINE. RANGES: R_LAUFD FOR PAYR-LAUFD, R_LAUFI FOR PAYR-LAUFI. "Protocol line

"Date on which the program is to be run "Additional identification

DATA: T_PAYR LIKE PAYR OCCURS 0 WITH HEADER LINE, T_BKPF LIKE BKPF OCCURS 1 WITH HEADER LINE, T_BSEG LIKE BSEG OCCURS 0 WITH HEADER LINE, T_BKDF LIKE BKDF OCCURS 0 WITH HEADER LINE, T_BSEC LIKE BSEC OCCURS 0 WITH HEADER LINE, T_BSED LIKE BSED OCCURS 0 WITH HEADER LINE, T_BSET LIKE BSET OCCURS 0 WITH HEADER LINE, T_LAUFK LIKE ILAUFK OCCURS 0 WITH HEADER LINE, T_UPDATE TYPE PROTOCOL_LINE OCCURS 0 WITH HEADER LINE, T_QUEUE TYPE PROTOCOL_LINE OCCURS 0 WITH HEADER LINE, T_ERROR TYPE PROTOCOL_LINE OCCURS 0 WITH HEADER LINE, t_multi TYPE protocol_line OCCURS 0 WITH HEADER LINE, W_XBSEG LIKE FBSEG, W_YBSEG LIKE FBSEG, I_REFKZ LIKE PAYR-IREFE, I_NOPROT TYPE C VALUE 'X', I_PTYPE TYPE C, I_PAGEEND TYPE C VALUE 'X', I_INTENSIFIED TYPE C, IS_ZBUKR(10) TYPE C,

Fecha : 9/07/2012

Pgina 30 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

IS_VBLNR(10) TYPE C, IS_GJAHR(10) TYPE C, IS_HBKID(10) TYPE C, IS_HKTID(10) TYPE C, IS_RZAWE(10) TYPE C, IM_CHECT(20) TYPE C. *----------------------------------------------------------------------* * Selections * *----------------------------------------------------------------------* SELECT-OPTIONS: S_ZBUK FOR PAYR-ZBUKR, "Paying company code S_BANK FOR PAYR-HBKID, "Short key for a house bank S_ACCO FOR PAYR-HKTID. "ID for account details SELECTION-SCREEN: SKIP 1, BEGIN OF BLOCK BL0 WITH FRAME TITLE TEXT-001. * TEXT-001: 'General selections' SELECT-OPTIONS: S_CHEC FOR PAYR-CHECT, "Check number S_VBLN FOR PAYR-VBLNR, "Document number S_ZALD FOR RFSDO-CHKLADAT, "Check date S_CPUD FOR RFSDO-CHKLEDAT, "Print date S_USER FOR RFSDO-CHKLUSER, "Print user S_ZWEG FOR PAYR-RZAWE. "Payment method SELECTION-SCREEN: BEGIN OF LINE, COMMENT 01(31) TEXT-002 FOR FIELD ZW_LAUFD. * TEXT-002: 'Checks from a pay run' PARAMETERS: ZW_LAUFD LIKE PAYR-LAUFD. "Date on which the program is to be run SELECTION-SCREEN POSITION 46. PARAMETERS: ZW_LAUFI LIKE PAYR-LAUFI, "Additional identification ZW_XVORL LIKE REGUH-XVORL NO-DISPLAY. SELECTION-SCREEN: END OF LINE, END OF BLOCK BL0. SELECTION-SCREEN: BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-003, * TEXT-003: 'Selection of a target field for the check number' BEGIN OF LINE, POSITION 1. * Fill the reference document number with the check number PARAMETERS: P_XBLNR RADIOBUTTON GROUP FUNC DEFAULT 'X'. SELECTION-SCREEN: COMMENT 3(40) IL_XBLNR FOR FIELD P_XBLNR, END OF LINE, BEGIN OF LINE, POSITION 1. * Fill the allocation number with the check number PARAMETERS: P_ZUONR RADIOBUTTON GROUP FUNC. SELECTION-SCREEN: COMMENT 3(40) IL_ZUONR FOR FIELD P_ZUONR, END OF LINE, BEGIN OF LINE, POSITION 1. * Fill the reference key for line item with the check number PARAMETERS: P_XREF3 RADIOBUTTON GROUP FUNC. SELECTION-SCREEN: COMMENT 3(40) IL_XREF3 FOR FIELD P_XREF3, END OF LINE, **BEGIN OF LINE, POSITION 1. ** PARAMETERS: Further_Parameter RADIOBUTTON GROUP FUNC. ** SELECTION-SCREEN: COMMENT 3(50) Label_Variable. **END OF LINE, END OF BLOCK BL1. *----------------------------------------------------------------------* * Initialization * *----------------------------------------------------------------------* INITIALIZATION. REFRESH T_LAUFK. T_LAUFK-LAUFK = 'W'. T_LAUFK-SIGN = 'E'. APPEND T_LAUFK.

Fecha : 9/07/2012

Pgina 31 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

PERFORM GET_LABEL USING 'PAYR' 'S': 'ZBUKR' IS_ZBUKR, 'VBLNR' IS_VBLNR, 'GJAHR' IS_GJAHR, 'HBKID' IS_HBKID, 'HKTID' IS_HKTID, 'RZAWE' IS_RZAWE. PERFORM GET_LABEL USING 'PAYR' 'M': 'CHECT' IM_CHECT. PERFORM GET_LABEL USING 'BKPF' 'L': 'XBLNR' IL_XBLNR. PERFORM GET_LABEL USING 'BSEG' 'L': 'ZUONR' IL_ZUONR, 'XREF3' IL_XREF3. *----------------------------------------------------------------------* * Check Of The Selections * *----------------------------------------------------------------------* AT SELECTION-SCREEN ON S_ZBUK. SELECT * FROM T001 WHERE BUKRS IN S_ZBUK. AUTHORITY-CHECK OBJECT 'F_PAYR_BUK' ID 'BUKRS' FIELD T001-BUKRS ID 'ACTVT' FIELD '02'. * Authority check IF SY-SUBRC <> 0. SET CURSOR FIELD 'S_ZBUK'. MESSAGE E515 WITH S_ZBUK. ENDIF. ENDSELECT. * Company code check IF SY-SUBRC <> 0. MESSAGE E511 WITH S_ZBUK. ENDIF. *---------------------------------------------------------------------* * F1-Help For Radiobuttons * *---------------------------------------------------------------------* AT SELECTION-SCREEN ON HELP-REQUEST FOR P_XBLNR. CALL FUNCTION 'HELP_OBJECT_SHOW_FOR_FIELD' EXPORTING CALLED_FOR_TAB = 'BKPF' CALLED_FOR_FIELD = 'XBLNR'. AT SELECTION-SCREEN ON HELP-REQUEST FOR P_ZUONR. CALL FUNCTION 'HELP_OBJECT_SHOW_FOR_FIELD' EXPORTING CALLED_FOR_TAB = 'BSEG' CALLED_FOR_FIELD = 'ZUONR'. AT SELECTION-SCREEN ON HELP-REQUEST FOR P_XREF3. CALL FUNCTION 'HELP_OBJECT_SHOW_FOR_FIELD' EXPORTING CALLED_FOR_TAB = 'BSEG' CALLED_FOR_FIELD = 'XREF3'. *---------------------------------------------------------------------* * F4 For Payment Method * *---------------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR ZW_LAUFD. CALL FUNCTION 'F4_ZAHLLAUF' EXPORTING F1TYP = 'D' F1NME = 'ZW_LAUFD' F2NME = 'ZW_LAUFI' IMPORTING LAUFD = ZW_LAUFD LAUFI = ZW_LAUFI TABLES LAUFK = T_LAUFK. AT SELECTION-SCREEN ON VALUE-REQUEST FOR ZW_LAUFI. CALL FUNCTION 'F4_ZAHLLAUF' EXPORTING F1TYP = 'I' F1NME = 'ZW_LAUFI' F2NME = 'ZW_LAUFD' IMPORTING LAUFD = ZW_LAUFD LAUFI = ZW_LAUFI TABLES LAUFK = T_LAUFK. *----------------------------------------------------------------------* * List Title * *----------------------------------------------------------------------* TOP-OF-PAGE. FORMAT COLOR COL_BACKGROUND INTENSIFIED ON. CASE I_PTYPE. WHEN 'U'. IF P_XBLNR = 'X'. WRITE TEXT-004.

Fecha : 9/07/2012

Pgina 32 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

TEXT-004: 'Reference document numbers with check numbers' ELSEIF P_ZUONR = 'X'. WRITE TEXT-005. * TEXT-005: 'Allocation numbers with check numbers' ELSEIF P_XREF3 = 'X'. WRITE TEXT-006. * TEXT-006: 'Reference keys for line items with check numbers' ** ELSEIF Further_Parameter = 'X'. ** WRITE Text_element_with_list_header_text. ENDIF. WHEN 'Q'. WRITE TEXT-007. * TEXT-007: 'By other users closed documents' WHEN 'E'. WRITE TEXT-008. * TEXT-008: 'Error with the document update' WHEN 'M'. WRITE text-009. * TEXT-009: 'Maintain the check reference manually' ENDCASE. WRITE 84 SY-PAGNO. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE: / SY-ULINE(88), /01 SY-VLINE NO-GAP, IS_ZBUKR, "Company code 12 SY-VLINE NO-GAP, IS_VBLNR, "Document number 23 SY-VLINE NO-GAP, IS_GJAHR, "Fiscal Year 34 SY-VLINE NO-GAP, IS_HBKID, "Bank key 45 SY-VLINE NO-GAP, IS_HKTID, "Bank account key 56 SY-VLINE NO-GAP, IS_RZAWE, "payment method 67 SY-VLINE NO-GAP, IM_CHECT, "Check number 88 SY-VLINE NO-GAP, / SY-ULINE(88). END-OF-PAGE. IF I_PAGEEND = 'X'. WRITE: / SY-ULINE(88). ENDIF. *----------------------------------------------------------------------* * Main Program * *----------------------------------------------------------------------* START-OF-SELECTION. * Conversion of the payment method Parameters into Select-Options IF NOT ZW_LAUFD IS INITIAL. CLEAR R_LAUFD. R_LAUFD-LOW = ZW_LAUFD. R_LAUFD-OPTION = 'EQ'. R_LAUFD-SIGN = 'I'. APPEND R_LAUFD. ENDIF. IF NOT ZW_LAUFI IS INITIAL. CLEAR R_LAUFI. R_LAUFI-LOW = ZW_LAUFI. R_LAUFI-OPTION = 'EQ'. R_LAUFI-SIGN = 'I'. APPEND R_LAUFI. ENDIF. * Reading of the payment transfer mediums, whose numbers are to filled * in the selected field of document SELECT * FROM PAYR INTO TABLE T_PAYR WHERE IREFE = SPACE AND VOIDR = 0 AND LAUFD IN R_LAUFD AND LAUFI IN R_LAUFI AND ZBUKR IN S_ZBUK AND HBKID IN S_BANK AND HKTID IN S_ACCO AND RZAWE IN S_ZWEG AND CHECT IN S_CHEC AND ZALDT IN S_ZALD AND PRIDT IN S_CPUD AND PRIUS IN S_USER AND VBLNR IN S_VBLN AND VBLNR <> SPACE.

Fecha : 9/07/2012

Pgina 33 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

LOOP AT T_PAYR. CLEAR: T_BKPF, T_BSEG. CLEAR: xbseg, ybseg, *bkpf, bkpf. REFRESH: xbseg, ybseg. REFRESH t_bkpf. * if a payment document is referenced more than once, * it is not possible to determine the check number SELECT * FROM payr UP TO 2 ROWS WHERE zbukr = t_payr-zbukr AND vblnr = t_payr-vblnr AND gjahr = t_payr-gjahr AND voidr = 0. ENDSELECT. IF sy-dbcnt > 1. MOVE-CORRESPONDING t_payr TO t_multi. APPEND t_multi. CONTINUE. ENDIF. * Reading of the document header SELECT SINGLE * FROM BKPF INTO T_BKPF WHERE BUKRS = T_PAYR-ZBUKR AND BELNR = T_PAYR-VBLNR AND GJAHR = T_PAYR-GJAHR. CHECK SY-SUBRC = 0. *BKPF = T_BKPF. * Fill a field of the BKPF table with the check number IF P_XBLNR = 'X'. * Fill the reference document number with the check number T_BKPF-XBLNR = T_PAYR-CHECT. I_REFKZ = '1'. ** ELSEIF Further_Parameter_Of_A_BKPF_Field = 'X'. ** t_bkpf-Document_Field_Name = t_payr-chect. ** i_refkz = Defined_Reference_Item. ELSE. * Fill a field of the BSEG table with the check number * Reading of the document items SELECT * FROM BSEG INTO TABLE T_BSEG WHERE BUKRS = T_PAYR-ZBUKR AND BELNR = T_PAYR-VBLNR AND GJAHR = T_PAYR-GJAHR AND HKONT = T_PAYR-UBHKT. *************************************************************************** * Begin Insert STK-HUG-21/06/2005 * Si el pago fue a la CME, no lo va a encontrar, porque la BSEG-HKONT tiene * el nro de cuenta de la CME (ej., CPD Emitidos, 211210003) y en PAYR-UBHKT * est la cuenta del banco (111210041), por lo tanto BSEG-HKONT nunca va a * ser igual a PAYR-UBHKT si el pago fue con CME. if sy-subrc ne 0. * Busco si el pago se dio contra una CME en vez de Banco pagadora. SELECT * FROM BSEG INTO TABLE T_BSEG WHERE BUKRS = T_PAYR-ZBUKR AND BELNR = T_PAYR-VBLNR AND GJAHR = T_PAYR-GJAHR AND UMSKS = 'W'. "CME de cheque endif. * End Insert STK-HUG-21/06/2005 ************************************************************************** CHECK SY-SUBRC = 0. LOOP AT T_BSEG. MOVE-CORRESPONDING T_BSEG TO W_YBSEG. APPEND W_YBSEG TO YBSEG. IF P_ZUONR = 'X'. Fill the allocation number with the check number T_BSEG-ZUONR = T_PAYR-CHECT. I_REFKZ = '2'. ELSEIF P_XREF3 = 'X'. Fill the reference key for line item with the check number T_BSEG-XREF3 = T_PAYR-CHECT. I_REFKZ = '3'.

Fecha : 9/07/2012

Pgina 34 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

** ** **

* *

ELSEIF Further_Parameter_Of_A_BSEG_Field = 'X'. t_bseg-Document_Field_Name = t_payr-chect. i_refkz = Defined_Reference_Item. ENDIF. MODIFY T_BSEG. MOVE-CORRESPONDING T_BSEG TO W_XBSEG. APPEND W_XBSEG TO XBSEG. ENDLOOP. UPD_BSEG = 'U'. ENDIF. BKPF = T_BKPF. APPEND T_BKPF. UPD_BKPF = 'U'. Enqueue document for update CALL FUNCTION 'ENQUEUE_EFBKPF' EXPORTING MODE_BKPF = 'E' MANDT = SY-MANDT BUKRS = T_BKPF-BUKRS BELNR = T_BKPF-BELNR GJAHR = T_BKPF-GJAHR EXCEPTIONS FOREIGN_LOCK = 1 SYSTEM_FAILURE = 2 OTHERS = 3. IF SY-SUBRC = 0. Enqueque payment transfer medium for update CALL FUNCTION 'ENQUEUE_EFPAYR' EXPORTING MODE_PAYR = 'E' MANDT = SY-MANDT ZBUKR = T_PAYR-ZBUKR HBKID = T_PAYR-HBKID HKTID = T_PAYR-HKTID RZAWE = T_PAYR-RZAWE CHECT = T_PAYR-CHECT EXCEPTIONS FOREIGN_LOCK = 1 SYSTEM_FAILURE = 2 OTHERS = 3. IF SY-SUBRC = 0. Document update CALL FUNCTION 'CHANGE_DOCUMENT' TABLES T_BKDF = T_BKDF T_BKPF = T_BKPF T_BSEC = T_BSEC T_BSED = T_BSED T_BSEG = T_BSEG T_BSET = T_BSET EXCEPTIONS OTHERS = 4. IF SY-SUBRC = 0. Update of payment transfer medium UPDATE PAYR SET IREFE = I_REFKZ WHERE ZBUKR = T_PAYR-ZBUKR AND HBKID = T_PAYR-HBKID AND HKTID = T_PAYR-HKTID AND RZAWE = T_PAYR-RZAWE AND CHECT = T_PAYR-CHECT. IF SY-SUBRC = 0. Fill the update protocol item table MOVE-CORRESPONDING T_PAYR TO T_UPDATE. APPEND T_UPDATE. Create a change document for the document modifications OBJECTID = BKPF(21). TCODE = 'FCHU'. UTIME = SY-UZEIT. UDATE = SY-DATUM. USERNAME = SY-UNAME. SET UPDATE TASK LOCAL. PERFORM CD_CALL_BELEG. COMMIT WORK. ELSE. ROLLBACK WORK. MOVE-CORRESPONDING T_PAYR TO T_ERROR. APPEND T_ERROR. ENDIF. ELSE. ROLLBACK WORK. MOVE-CORRESPONDING T_PAYR TO T_ERROR.

Fecha : 9/07/2012

Pgina 35 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

APPEND T_ERROR. ENDIF. * Dequeque payment transfer medium after update CALL FUNCTION 'DEQUEUE_EFPAYR' EXPORTING MODE_PAYR = 'E' MANDT = SY-MANDT ZBUKR = T_PAYR-ZBUKR HBKID = T_PAYR-HBKID HKTID = T_PAYR-HKTID RZAWE = T_PAYR-RZAWE CHECT = T_PAYR-CHECT. ELSE. MOVE-CORRESPONDING T_PAYR TO T_QUEUE. APPEND T_QUEUE. ENDIF. * Dequeue document after update CALL FUNCTION 'DEQUEUE_EFBKPF' EXPORTING MODE_BKPF = 'E' MANDT = SY-MANDT BUKRS = T_BKPF-BUKRS BELNR = T_BKPF-BELNR GJAHR = T_BKPF-GJAHR. ELSE. MOVE-CORRESPONDING T_PAYR TO T_QUEUE. APPEND T_QUEUE. ENDIF. ENDLOOP. * Protocol output of updated documents LOOP AT T_UPDATE. AT FIRST. CLEAR I_NOPROT. I_PTYPE = 'U'. NEW-PAGE. ENDAT. PERFORM PROTOCOL_OUTPUT USING T_UPDATE. AT LAST. WRITE: / SY-ULINE(88). CLEAR I_PAGEEND. ENDAT. ENDLOOP. * Protocol output of closed documents LOOP AT T_QUEUE. AT FIRST. I_PAGEEND = 'X'. I_PTYPE = 'Q'. NEW-PAGE. ENDAT. PERFORM PROTOCOL_OUTPUT USING T_QUEUE. AT LAST. WRITE: / sy-uline(88). CLEAR i_pageend. ENDAT. ENDLOOP. * Protocol output of multiple checks for * one payment document. LOOP AT t_multi. AT FIRST. i_pageend = 'X'. i_ptype = 'M'. NEW-PAGE. ENDAT. PERFORM protocol_output USING t_multi. AT LAST. WRITE: / SY-ULINE(88). CLEAR I_PAGEEND. ENDAT. ENDLOOP. * Protocol output of update errors LOOP AT T_ERROR. AT FIRST. I_PAGEEND = 'X'. I_PTYPE = 'E'. NEW-PAGE. ENDAT. PERFORM PROTOCOL_OUTPUT USING T_ERROR.

Fecha : 9/07/2012

Pgina 36 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

AT LAST. WRITE: / SY-ULINE(88). CLEAR I_PAGEEND. ENDAT. ENDLOOP. * Check whether a document field was filled with a check number IF I_NOPROT = 'X'. MESSAGE I321. ENDIF. * 'form cd_call_beleg' INCLUDE FF05LCDC. *----------------------------------------------------------------------* * Write A Protocol Item * *----------------------------------------------------------------------* FORM PROTOCOL_OUTPUT USING PLINE TYPE PROTOCOL_LINE. IF I_INTENSIFIED = SPACE. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. I_INTENSIFIED = 'X'. ELSE. FORMAT COLOR COL_NORMAL INTENSIFIED ON. I_INTENSIFIED = ' '. ENDIF. WRITE: /01 SY-VLINE NO-GAP, PLINE-ZBUKR NO-GAP, 12 SY-VLINE NO-GAP, PLINE-VBLNR NO-GAP, 23 SY-VLINE NO-GAP, PLINE-GJAHR NO-GAP, 34 SY-VLINE NO-GAP, PLINE-HBKID NO-GAP, 45 SY-VLINE NO-GAP, PLINE-HKTID NO-GAP, 56 SY-VLINE NO-GAP, PLINE-RZAWE NO-GAP, 67 SY-VLINE NO-GAP, PLINE-CHECT NO-GAP, 88 SY-VLINE NO-GAP. ENDFORM. *----------------------------------------------------------------------* * Get The Data Dictionary Label Of A Table Field *----------------------------------------------------------------------* FORM GET_LABEL USING TABLE_NAME TYPE DDOBJNAME LABEL_TYPE TYPE CLIKE FIELD_NAME TYPE DFIES-FIELDNAME CHANGING LABEL TYPE CLIKE. DATA: lt_dfies like dfies occurs 0 with header line. CALL FUNCTION 'DDIF_FIELDINFO_GET' EXPORTING TABNAME = TABLE_NAME FIELDNAME = FIELD_NAME LANGU = SY-LANGU tables DFIES_tab = lt_dfies EXCEPTIONS NOT_FOUND =1 INTERNAL_ERROR = 2 OTHERS = 3. IF SY-SUBRC = 0. read table lt_dfies index 1. CASE LABEL_TYPE. WHEN 'S'. LABEL = lt_dfies-SCRTEXT_S. WHEN 'M'. LABEL = lt_dfies-SCRTEXT_M. WHEN 'L'. LABEL = lt_dfies-SCRTEXT_L. ENDCASE. ENDIF. ENDFORM. *

Fecha : 9/07/2012

Pgina 37 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

Anexo IIa: Cdigo del programa ZFIBIASIG


*&---------------------------------------------------------------------* *& Report ZFIBIASIG * *& * *&---------------------------------------------------------------------* REPORT ZFIBIASIG . *

*--------------------------------------------------------------------* * Batch Input para cargar el campo asignacin mediante la FB09 *--------------------------------------------------------------------* * Fecha : 10.06.2005 - STK Argentina * *--------------------------------------------------------------------* TABLES: regup. * Constantes del Programa CONSTANTS: cc_tcode LIKE tstc-tcode VALUE 'FB09'. * Estructura del Archivo de Entrada TYPES: BEGIN OF type_regup, bukrs LIKE regup-bukrs, vblnr LIKE regup-vblnr, gjahr LIKE regup-gjahr, zuonr LIKE regup-zuonr, END OF type_regup. * Declaracin de las variables DATA: t_regup TYPE type_regup OCCURS 0 WITH HEADER LINE.

*--------------------------------------------------------------------* Parameters box 1 SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001. PARAMETERS: p_laufd LIKE f110v-laufd OBLIGATORY, p_laufi LIKE f110v-laufi OBLIGATORY, pc_mode TYPE c DEFAULT 'N' NO-DISPLAY. SELECTION-SCREEN END OF BLOCK block1. INCLUDE zfibiasig_include. AT SELECTION-SCREEN. PERFORM validar_fecha. ************************************************************************ START-OF-SELECTION. DATA: lc_subrc LIKE sy-subrc. REFRESH: h_bdc. CLEAR: i_nro_read, ni_nro_save, c_qid. * Traigo las posiciones de los pagos PERFORM obtener_datos. LOOP AT t_regup. * Cargar datos para la primera pantalla PERFORM carga_sapmf05l_0102. * Cargar datos para la segunda pantalla PERFORM carga_sapmf05l_0300. * Cargar datos para pop-up PERFORM carga_saplkacb_0002. * Llamada a la Transaccin

Fecha : 9/07/2012

Pgina 38 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

PERFORM process_data USING lc_subrc. ENDLOOP. END-OF-SELECTION. *&---------------------------------------------------------------------* *& Form obtener_datos *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM obtener_datos. SELECT * FROM regup INTO CORRESPONDING FIELDS OF TABLE t_regup WHERE laufd = p_laufd AND laufi = p_laufi AND xvorl = ''. ENDFORM. " obtener_datos *&---------------------------------------------------------------------* *& Form carga_sapmf05l_0102 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM carga_sapmf05l_0102. * Datos de la primera pantalla PERFORM insert_line USING: 'X' 'SAPMF05L' '0102', ' ' 'BDC_OKCODE' '/00', ' ' 'RF05L-BELNR' t_regup-vblnr, " Nro de Documento ' ' 'RF05L-BUKRS' t_regup-bukrs, " Sociedad ' ' 'RF05L-GJAHR' t_regup-gjahr, " Ejercicio ' ' 'RF05L-XKSAK' 'X', " Cuentas de Mayor ' ' 'RF05L-XKANL' '', ' ' 'RF05L-XKDEB' '', ' ' 'RF05L-XKKRE' '', ' ' 'RF05L-BUZEI' ''. " Posicin ENDFORM. " carga_sapmf05l_0102 *&---------------------------------------------------------------------* *& Form carga_sapmf05l_0300 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM carga_sapmf05l_0300. * Datos de la segunda pantalla PERFORM insert_line USING: 'X' 'SAPMF05L' '0300', ' ' 'BDC_OKCODE' '=AE', ' ' 'BSEG-ZUONR' t_regup-zuonr. " Asignacin ENDFORM. " carga_sapmf05l_0300 *&---------------------------------------------------------------------* *& Form carga_saplkacb_0002 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM carga_saplkacb_0002.

Fecha : 9/07/2012

Pgina 39 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

* Pop-Up PERFORM insert_line USING: 'X' 'SAPLKACB' '0002', ' ' 'BDC_OKCODE' '=ENTE'. ENDFORM. " carga_saplkacb_0002 *&---------------------------------------------------------------------* *& Form validar_fecha *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM validar_fecha. IF NOT p_laufd IS INITIAL. SELECT SINGLE * FROM regup WHERE laufd = p_laufd AND laufi = p_laufi. IF NOT sy-subrc IS INITIAL. MESSAGE s002(zfi) WITH 'Verificar fecha e identificacin.'. STOP. ENDIF. ENDIF. ENDFORM. " validar_fecha

Anexo IIb: Cdigo del programa ZFIBIASIG_INCLUDE


*&---------------------------------------------------------------------* * Include ZFIBIASIG_INCLUDE. *----------------------------------------------------------------------* Programa: Include ZFIBIASIG_INCLUDE. * Descripcin: Include auxiliar p/ batch input c/ arq. entrada * Softtek Argentina * Data : 10.06.2005 *----------------------------------------------------------------------TABLES: abap, " Declaraciones de tipo de lenguaje interno ABAP usr01. " Tabla de usuarios TYPES: x_msg_type(80) TYPE c, BEGIN OF type_bdc, " Bdc table tables LIKE bdcdata OCCURS 0, END OF type_bdc. FIELD-SYMBOLS: <tables_bdc> TYPE type_bdc, " Bdc table <transaction> TYPE c. " Transaction DATA: t_time1 LIKE sy-uzeit, " Initial time t_time2 LIKE sy-uzeit, " Final time t_totalt LIKE sy-uzeit, " Total time c_group_aux LIKE apqi-groupid, messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE," Message tabl i_nro_read TYPE i, " Total for read records ni_nro_save TYPE i, " Total for saved records ni_save_bi TYPE i, " Total for saved records BI i_reject TYPE i, " counts rejected records h_bdc TYPE type_bdc OCCURS 0 WITH HEADER LINE, " Bdc table h_bdc2 LIKE bdcdata OCCURS 0 WITH HEADER LINE, " Bdc table c_qid LIKE apqi-qid, " Session Id i_avance TYPE i, " Numero de avance de porcentage i_reg TYPE i." Cantidad de registros del archivo entrada DEFINE alert_message. case &1. when -1. write: /5 'Error en la apertura del archivo!', &2.

Fecha : 9/07/2012

Pgina 40 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

when -2. write: /5 'Error en el cierre del archivo!', &2. when -3. write: /5 'DONE: Sesin no puede ser cerrada!'. when -4. write: /5 'DONE: Archivo no puede ser cerrado!'. when -5. write: /5 'SUBMIT: Job no puede ser abierto!'. when -6. write: /5 'SUBMIT: Job no puede ser cerrado!'. when -7. write /5 'PROC: Transaccin no puede ser ejecutada!'. when -8. write /5 'PROC: Archivo de entrada vaco!'. when 0. write /5 'Fin de Ejecucin!'. when 1. write /5 'LOAD_FILE: Archivo abierto exitosamente!'. when 2. write /5 'PROC: Procesado exitosamente!'. uline /5. write: /10 sy-title, /10 'Usuario:', sy-uname, 'Programa', sy-repid, /10 'Nmero de registros leidos:............:', 50 i_nro_read, /10 'Nmero de registros en call transaction:', 50 ni_nro_save, /10 'Nmero de registros en juego de datos..:', 50 ni_save_bi, /10 'Hora inicial:..........................:', 52 t_time1, /10 'Hora final:............................:', 52 t_time2, /10 'Tiempo de ejecucin:...................:', 52 t_totalt. when 3. write: /5 'PROC: Sesion terminada exitosamente!', c_group_aux. when 4. write: /5 'SUBMIT: Job fue creado exitosamente!'. when 5. write: /5 'SUBMIT: Job ejecutado exitosamente!'. when 6. write: /5 'PROC: Sesion abierta exitosamente!', c_group_aux. when 7. write /5 'PROC: Archivo cerrado exitosamente!'. when 9. write /5 'UNLOAD: Archivo guardado exitosamente!'. endcase. END-OF-DEFINITION. *----------------------------------------------------------------------* FORM insert_line *----------------------------------------------------------------------* Text -> Creates one record into the <tables_bdc> table with the * transaction fields *----------------------------------------------------------------------FORM insert_line USING x_l_start TYPE c x_l_name TYPE c x_l_value TYPE any. DATA: h_bdc_aux LIKE bdcdata. MOVE x_l_start TO h_bdc_aux-dynbegin. ASSIGN h_bdc TO <tables_bdc>. IF x_l_start = 'X'. MOVE: x_l_name TO h_bdc_aux-program, x_l_value TO h_bdc_aux-dynpro. ELSE. MOVE: x_l_name TO h_bdc_aux-fnam, x_l_value TO h_bdc_aux-fval. ENDIF. APPEND h_bdc_aux TO <tables_bdc>-tables. ENDFORM. *----------------------------------------------------------------------* FORM PROCESS_DATA *----------------------------------------------------------------------* Text -> Opens BDC Group and inserts transaction data

Fecha : 9/07/2012

Pgina 41 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

*----------------------------------------------------------------------FORM process_data USING p_lc_subrc. DATA: i_line TYPE i, i_per TYPE i. DESCRIBE TABLE h_bdc-tables LINES i_line. CHECK NOT i_line IS INITIAL. ASSIGN cc_tcode TO <transaction>. REFRESH: messtab. CALL TRANSACTION <transaction> USING <tables_bdc>-tables MODE pc_mode UPDATE 'S' MESSAGES INTO messtab. p_lc_subrc = sy-subrc. REFRESH <tables_bdc>-tables. ENDFORM. *----------------------------------------------------------------------* FORM INSERT_BDC. * Text -> Inserts transaction *----------------------------------------------------------------------FORM insert_bdc. DATA: aux_tcode LIKE tstc-tcode. aux_tcode = <transaction>. CALL FUNCTION 'BDC_INSERT' EXPORTING tcode = aux_tcode TABLES dynprotab = <tables_bdc>-tables EXCEPTIONS OTHERS = 1. IF sy-subrc <> 0. alert_message -7 ''. ENDIF. ENDFORM. *---------------------------------------------------------------------* * FORM VALUE_REQ_FILE *---------------------------------------------------------------------* FORM value_req_file USING filename TYPE c. DATA: c_file LIKE rlgrap-filename. CALL FUNCTION 'WS_FILENAME_GET' EXPORTING def_filename = ' ' def_path = 'C:\' mask = ',Textos,*.txt,Todos,*.*.' mode = 'O' title = text-l34 IMPORTING filename = c_file EXCEPTIONS OTHERS. IF sy-subrc EQ 0. filename = c_file. ENDIF. ENDFORM. "Somente se o nome foi alterado "Guarda o novo nome " VALUE_REQ_FILE * "#EC CALLED

*----------------------------------------------------------------------* Form STATUS_DISPLAY *----------------------------------------------------------------------* Muestra en la pantalla el avance del programa *----------------------------------------------------------------------FORM status_display USING l_porcent TYPE i value(l_texto) TYPE c. DATA: c_aux(30) TYPE c. c_aux = l_porcent. CONDENSE c_aux NO-GAPS.

Fecha : 9/07/2012

Pgina 42 de 43

RDS Nro:
FI-AP-003

Mdulo:

FI-AP/BA
Autor:

Implementation Paper
Solucin integral cheques emitidos

Versin:

01

Fecha de creacin

21/06/2005

Descripcin breve:

CONCATENATE c_aux l_texto INTO c_aux SEPARATED BY space. CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING percentage = l_porcent text = c_aux EXCEPTIONS OTHERS = 1. IF sy-subrc <> 0. STOP. ENDIF. CLEAR: c_aux.

Fecha : 9/07/2012

Pgina 43 de 43

Anda mungkin juga menyukai