Validacion en el TransactionNotification

Tengo el siguiente codigo que utilizo en el TransactionNotification para que cuando un usuario cambio el campo u_ubicacion en una tabla definida por el usuario actualice ese campo en la OITM.  Pero tengo el problema que si el usuario digita mal el itemcode dentro de esa tabla definida, no me lo valida.  Necesito que alguien me oriente para donde poner esa validacion dentro del transaction. Que si el itemcode no exista me mande un error.
If @object_type='TM01' and @transaction_type in ('A','U') Begin
Update OITM
set u_ubicacion=t0.u_ubicacion
from @TMUBICACION T0 where t0.u_itemcode = itemcode
end
SD

IF (@transaction_type = 'A' or @transaction_type = 'U') AND @object_type = 'TM01'
BEGIN
if not exists (Select Distinct (T1.ItemCode) from OITM T1 INNER JOIN [@TMUBICACION] T0
               ON T1.ItemCode = T0.u_ItemCode
               where (T0.u_itemcode = @list_of_cols_val_tab_del))
begin
     SELECT @error = 1, @error_message = 'No puedes modificar este articulo porque no existe!'
end
END
IF (@transaction_type = 'A' or @transaction_type = 'U') AND @object_type = 'TM01'
BEGIN
if exists (Select Distinct (T1.ItemCode) from OITM T1 INNER JOIN [@TMUBICACION] T0
               ON T1.ItemCode = T0.u_ItemCode
               where (T0.u_itemcode = @list_of_cols_val_tab_del))
begin
     Update OITM
    set u_ubicacion=t0.u_ubicacion
    from [@TMUBICACION] T0 where t0.u_itemcode = itemcode
end
END

Similar Messages

  • Configuración TransactionNotification

    Hola a todos!!
    Les agradecería mucho si me proporcionan alguna información o material para la configuración y uso de "TransactionNotification".
    Entiendo que con esto se pueden realizar validaciones durante la captura de los documentos, y evitar que los usuarios graben mal alguna información. Es correcto??
    Les agradezco.
    Saludos,
    Diana Ortega

    Buenas tardes Mauricio,
    Te agradecería me pudieras enviar la documentación.
    Un saludo
    José Carlos Racionero

  • SQL // TransactionNotification

    Estimados, tengo la siguiente inquietud, tengo un procedimiento almacenado de validaciòn y lo  ingreso  en SQL voy a Programación > Procedimientos almacenados > Sp_TransactionNotification , click derecho elijo modificar y dejo el query en 'Add you code here' luego lo compruebo en el documento la validacion y esta Ok.
    Pero tambien tengo que agregar otro Procedimiento almacenado y no se como hacer  andar los dos juntos,   ya he probado distintas formas y nada siempre funciona. (Los probe por separado y estan OK.)
    Tambien cree un nuevo SP.
    Por ejemplo dbo.SBO_SP_TransactionNotificaion_2   y tampoco anda
    cual es la forma de ingresarlos a la Bd,  ya que quiero hacer ocupar  3 validaciones.
    Saludos.  y gracias!!
    Oscar V

    Ok, entonces no es un stored aparte, es una seccion de codigo (la que valida) dentro del stored TransactionNotification
    en principio si esta validacion esta trabajando sobre un mismo objeto , por ejemplo al crear un cliente, o al crear facturas etc, tendrias que trabajar con condicionales para que ejecute uno u otro.
    Tienes que ser mas especifico sobre cual es el objetivo de tener 2 funciones al mismo tiempo, y sobre que objeto de SAP estas trabajando

  • Ayuda para hacer Validaciones

    Hola!!! Quisiera hacer una consulta. Si yo quiero realizar una validación por ej de fecha. Tengo algun procedimiento como el TransactionNotification o debo hacerlo por ej atraves del VB. Es solo para un Formulario... Les agredesco desde ya las respuestas..Suerte a todos

    Estimados,
    Quiero hacer un comentario respecto a la delgada linea entre el "uso" y el "abuso" de la herramienta del SP_TransactionNotification.
    El origen de Store procedure fue para permitir integrar Business One con otros softwares. Este store procedure es parte de esa arquitectura para INTEGRACION del B1i.
    En el camino, este store procedure ha sido usado para incorporar ciertas validaciones de datos, por lo que para bien o para mal  se ha convertido en la herramienta para hacer aquellas validaciones que en el producto no se pueden incorporar si no es con algo desarrollado en SDK.
    El cuidado que se debe tener es que:
    -. culturalmente estamos muy acostumbrados a ser muy restrictivos con los usuarios, es decir, todo lo queremos validar.
    -. estamos cayendo en permitir TODO tipo de validaciones que el cliente pide, lo que contrasta con la idea de implementación de un PRODUCTO respecto de un desarrollo a medida y contrasta con la idea de implementar LAS MEJORES PRACTICAS versus implementar las prácticas que el cliente tiene, sin haber realizado un mejor propuesta.
    -. en la medida que se incorporan más y más validaciones podemos cometer errores GRAVES de lógica que tienen efecto en los datos, los que son irreversibles, pues un mínimo error puede provocar cambios en los datos de tal forma que no nos demos cuenta en un buen tiempo.
    Este comentario, tiene como fin poner la VOZ de alerta respecto a la delgada línea existente entre un buen uso de una herramienta y el abuso de la misma.
    saludos

  • Mi ipad esta desactivado y me pide un codigo de validacion

    hola.
    mi ipad sí Bloqueo e indica desactivado, tambien me pide un codigo de validacion, pero no puedo introducirlo ya que esta desactivo, que puedo hacer

    yo tengo el mismo problema pero parece que en este sitio estamos solos. q mal

  • VALIDACION DEL LARGO DEL CAMPO DISTNUMBER

    BUEN DIA A TODOS!
    QUIERO SOLICITARLES SU AYUDA PARA RESOLVER ESTE PROBLEMITA, ESTOY VALIDANDO QUE EL INGRESO DE NUMEROS DE SERIE DE MIS ARTICULOS SEA DE LARGO (15), NI MAS NI MENOS, PERO TENGO 2 NUMEROS DE SERIE EN ALGUNOS ARTICULOS.
    AHORA BIEN EN EL SP_TRANSACTIONNOTIFICATION TENGO ESTA VALIDACION:
    -- NUMEROS DE SERIE DE LARGO (15)
    IF  (@object_type = 20)  and @transaction_type IN ('A', 'U')
    BEGIN
    -- Numero de Serie 1
           DECLARE @NumSeries as NVarchar (15)
           SET @NumSeries = (SELECT T0.DistNumber
                                             FROM OSRN T0
                                          LEFT JOIN PDN1 T1 ON T0.ItemCode = T1.ItemCode
                                 WHERE T1.DocEntry = @list_of_cols_val_tab_del)
           IF (@NumSeries <> (15) )
                   BEGIN
                           SET @error = 103
                           SET @error_message = 'El Numero de Serie Ingresado es Incorrecto'
           END
    END
    -- NUMEROS DE SERIE DE LARGO (15)
    IF  (@object_type = 20)  and @transaction_type IN('A', 'U')
    BEGIN
    -- Numero de Serie 2
           DECLARE @NumSeries2 as NVarchar (15)
           SET @NumSeries2 = (SELECT T0.U_DistNumber2
                            FROM OSRN T0
                                       LEFT JOIN PDN1 T1 ON T0.ItemCode = T1.ItemCode
                                 WHERE T1.DocEntry = @list_of_cols_val_tab_del)
           IF (@NumSeries2 <> (15) )
                   BEGIN
                           SET @error = 103
                           SET @error_message = 'El Numero de Serie Ingresado es Incorrecto'
           END
    END
    EL ERROR ME DICE QUE LA SUBQUERY ARROJA MAS DE UN RESULTADO Y ESTO NO ES PERMITIDO CUANDO NE LA SUBQUERY HAY EXPRESIONES COMO LA SIGUIENTE =,!=,<,>,<=,>=...
    SI ALGUIEN TIENE LA SOLUCION LE AGRADECERE.
    DESTACO TAMBIEN QUE NO SIEMPRE HAY 2 NUMEROS DE SERIE EN ALGUNOS CASOS EL PRODUCTO LOS TRAE PERO ES NADA MAS EL 20% DE LOS MISMOS.

    Te comento lo siguiente
    veo que necesitas hacer un select top 1 para que no te mande el error pues la variable no podra almacenar mas de 1 resultado, supongo que ese error no te lo manda si metes un solo articulo en la pdn1
    Tambien te comento que para validar la longitud necesitarias un
    if LEN(@numeroserie)>15
    para validar si pasa o no de 15 caracteres
    Otra opcion para que te traiga un solo resultado es que utilices un count en el primer select, donde traes el numero de serie
    por ejemplo
    DECLARE @cuenta as numeric  (15)
           SET @cuenta = (SELECT count (T0.DistNumber)
                                             FROM OSRN T0
                                          LEFT JOIN PDN1 T1 ON T0.ItemCode = T1.ItemCode
                                 WHERE T1.DocEntry = @list_of_cols_val_tab_del and LEN           (t0.distnumber)>15)
    IF @cuenta>=1
                   BEGIN
                           SET @error = 103
                           SET @error_message = 'El Numero de Serie Ingresado es Incorrecto'
           END
    algo asi

  • TransactionNotification

    Hola a todos!! quisiera consultar lo siguiente.
    Necesito Validar un campor de la pantalla de Pagos Recibidos, especificamente el de Referencia, puedo hacerlo por el TransactionNotification. El tema esta en que ahi cargaremos unos numeritos y necesito que no quede libre ese campo.
    Puedo hacerlo atraves de ese procedimiento almacenado? Ahora, si es posible como me refiero a ese campo en el procedimiento? porq ese campo va ser insertado y como capturo si no me trae en la lista, por solamente me trae el numero de transaccion como claves.
    Q me recomiendan?
    Desde ya gracias por la ayuda util de siempre.
    Gracias!!

    La unica manera que un campo no sea modificable es cuando esta en la linea, algunos campo de cabecera siempre se pueden modificar.
    Att,
    Manuel Lazcano

  • TransactionNotification Log

    HI everyone
    I wanted to keep track of some operations I do on transactionNotification stored procedure. Does SAP provide any log facility to do this? I tried to write on a custom text file but  it gives the following error:
    [Microsoft][SQL Native Client][SQL Server]SQL Server blocked access to procedure 'sys.sp_OACreate' of component 'Ole Automation Procedures' because this component is turned off as part of the security configuration for this server. ?
    Any ideas?

    Hello,
    You should write a CLR code for this, if you would like to put it into a text file,
    What i suggest you can keep these changes in the db, and spool them out once a day.
    to keep the chnages in the db, apply this code (sample code)
    if not exists (select * from sysobjects where name = 'T_TransactionNotification')
    begin  
         create table T_TransactionNotification(
         TransactionDate datetime,
         ObjectType nvarchar(20),
         TransactionType nchar(1),
         NumOfColsInKey int,
         ListOfKeyColsTabDel nvarchar(255),
         ListOfColsValTabDel nvarchar(255) );
    end;
    insert into T_TransactionNotification
    (     TransactionDate,
         ObjectType,
         TransactionType,
         NumOfColsInKey,
         ListOfKeyColsTabDel,
         ListOfColsValTabDel)
    values( getdate(),
              @object_type,
              @transaction_type,
              @num_of_cols_in_key,
              @list_of_key_cols_tab_del,
              @list_of_cols_val_tab_del);
    This code fill the T_TransactionNotification with all the transactions called, and you can spool  the content out with the osql utility once a day called by batch job.
    regards
    János

  • I need Help for sp transactionnotification in sales order

    I need to block in the price field because I don't want the personal not invoices made below the lowest price item.
    I have code in the sbo_sp_transactionnotification is it.
    IF (@transaction_type = 'A' or @transaction_type = 'U') AND @object_type = '17'
    BEGIN
    if exists (Select T0.DOCNUM from ORDR T0  INNER JOIN RDR1 T1 ON
              T0.DocEntry = T1.DocEntry
              where ((select t3.price
                         from ITM1 t3
                          where T3.ITEMCODE=T1.ITEMCODE and t3.pricelist=2)>= t1.price)
                             and (T0.docentry = @list_of_cols_val_tab_del))
    begin
         SELECT @error_message = 'esta mal esto, no seas rata!!'
    end
    END

    thks gordon , the error was parameter @error not asign..
    IF (@transaction_type = 'A' or @transaction_type = 'U') AND @object_type = '17'
    BEGIN
    if exists (Select Distinct (T1.ItemCode) from RDR1 T1  INNER JOIN ORDR T0
                   ON T0.DocEntry = T1.DocEntry
                   where (select t3.price
                         from ITM1 t3
                          where T3.ITEMCODE=T1.ITEMCODE and t3.pricelist=2) > t1.price
                             and (T0.docentry = @list_of_cols_val_tab_del))
    begin
         SELECT @error = 1, @error_message = 'No puedes modificar esta orden Ocupas autorizacion!'
    end
    END
    it now function. thks.
    Edited by: mary merecias on Jul 9, 2009 4:55 PM

  • Como crear mas de un SP TransactionNotification

    Hola Expertos, me pueden ayudar informandome como crear mas de un SP_Transaction_Notification
    quiero crear uno donde no me deje hacer un Recibo de production si la cantidad a entregar es mayor que la cantidad planificada
    Gracias,

    Tiene que ir abajo del otro, solo eso.
    IF @object_type = '00022' --CONTROL SERIE OC
    BEGIN
         IF @transaction_type = 'A' or @transaction_type = 'U'
         BEGIN
         SET @Num=(
    SELECT  COUNT(*) 
    FROM         OPOR AS T0 INNER JOIN
                          OCRD AS T1 ON T0.CardCode = T1.CardCode
    WHERE     ((T1.GroupCode = 101) AND (T0.Series = 16) OR
                          (T1.GroupCode = 107) AND (T0.Series = 33))
    and T0.DOCENTRY=@list_of_cols_val_tab_del
              IF (@Num>0)
            BEGIN
              SELECT @error = 101
              SELECT @error_message = N'Error en la Serie (Nacional - Extranjero'
              END
         END
    END
    ----------BLOQUEO DE CREACION ARTICULOS SEGUN GRUPO
    IF @object_type = '4' --MAESTRO ARTICULOS
    BEGIN
         IF @transaction_type = 'A' or @transaction_type = 'U'
         BEGIN
         SET @Num=(
    SELECT     COUNT(*)
    FROM         OITM T0
    WHERE     ((T0.ItmsGrpCod = 103 AND T0.UserSign=22)
    ) and T0.itemcode=@list_of_cols_val_tab_del
              IF (@Num>0)
            BEGIN
              SELECT @error = 101
              SELECT @error_message = N'Ud. No Puede Crear Articulos con Este Grupo de Articulos, Revise'
              END
         END
    END
    att,
    Manuel Lazcano

  • Herramienta validacion

    Hola, quisiera saber si existe alguna herramienta para
    validar la web antes
    de subirla al hosting, se que hay algo para Firefox

    Aupa Astrow!
    Entiendo que validarla..., hablas de validar el CSS, y el
    HMTL...
    Para ello tienes la extensión web developer:
    https://addons.mozilla.org/es-ES/firefox/addon/60
    Y en la barra que te crea, en Tools, tienes todos los enlaces
    directos para
    validar tu web.
    Esta barra es muy potente sobre todo para controlar estilos
    CSS, y tus divs.
    Yo lo que mas uso es: la combinación CTRL+MAYUS+S para
    desactivar y activar
    estilos, el Outline-Block level elements, que te muestra
    todos los div, y
    luego el CSS, que te permite probar cambios en la hoja de
    estilos, en tiempo
    real, y lo mas importante..., View Sytle Information
    CTRL+MAYUS+Y, que te
    muestra el nombre del estilo de cada capa, y que haciendo
    clic, te muestra
    el css de dicha capa, enlace, botón o elemento del tipo
    que sea...
    Ya puestos, para mi la mejor extensión que he
    descubierto en el último mes
    es....:
    https://addons.mozilla.org/es-ES/firefox/addon/5579
    Según la instales, vete a Google Imagenes, y en
    cualquier imagen, busca el
    símbolo del play y pínchale....., que ya verás
    ya jeje.
    Un saludete...
    J.R. León
    Que aparte de
    "Astrow" <[email protected]> escribió en el
    mensaje
    news:g1hci3$e75$[email protected]..
    > Hola, quisiera saber si existe alguna herramienta para
    validar la web
    > antes de subirla al hosting, se que hay algo para
    Firefox

  • Validacion

    hola buena tarde, los molesto para pedirles ayuda.Tengo dos combobox, combobox1 que tiene varios items automotriz,medica, etc, combobox2 que solo tiene dos items entrada, salida, el caso es que cuando selecciono un item del combobox1 tambien tengo que elegir un item del combobox2 y lo que quiero es validar que cuando elija el  item salida del combobox2 se congele/desactive el item selecccionado  del combobox1 y mande un mensaje que diga recuerde en que area checo la entrada, y se active de nuevo para enviar los datos a la base de datos.. de ante mano muchas gracias
    Attachments:
    combobox.jpg ‏51 KB

    Hola;
    Para hacer esto puedes ocupar "property nodes"; puedes tener un 
    Para crear un property node; click derecho en el combo box >> create>> property node >>Disabled;: si creas ahí una constante podrás elegir la opción "disable and gray out"
    Por el tipo de aplicación te sugeriría una arquitectura productor consumidor con eventos para que tu pantalla siempre sea responsiva
    Espero te sea útil... 
    Saludos
    Attachments:
    producer consumer.vi ‏20 KB

  • Problems sending xml data as string to a web service

    Hello!
    I need to develop a client in order to invoke a web service. I have the WSDL of the web service, so I generate a web service proxy, from that WSDL, using JDeveloper 10.1.3.0.
    Among other things, that web service receive RPC request (binding style is RPC) and the request has only one parameter, which consists of a string. That string must be an XML document (that is, the web service receives one parameter which is a XML document as a String). I generate that parameter, and it looks like the following:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <inputMessage xmlns="http://ws/validacion" xmlns:xsi="http://www.w3.o
    rg/2001/XMLSchema-instance" xsi:SchemaLocation="http://localhost/ws/xsd/mservic/ws.xsd">
    <request>ServiceRequest</request>
    <versionMsg>1.0</versionMsg>
    <data>AAAAAAAAAAAAAA</data>
    </inputMessage>
    However, when I send the request and capture it through HTTPAnalyzer, I get the following:
    <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><MyWebService xmlns="http://soapinterop.org/"><myWebServiceRequest xsi:type="xsd:string" xmlns="">&lt;?xml version = '1.0' encoding = 'UTF-8'?>
    &lt;inputMessage xmlns="http://ws/validacion" xmlns:xsi="http://www.w3.o
    rg/2001/XMLSchema-instance" xsi:SchemaLocation="http://localhost/ws/xsd/mservic/ws.xsd">
    &lt;request>ServiceRequest&lt;/request>
    &lt;versionMsg>1.0&lt;/versionMsg>
    &lt;data>AAAAAAAAAAAAAA&lt;/data>
    &lt;/inputMessage></myWebServiceRequest></MyWebService></soapenv:Body></soapenv:Envelope>
    As you can see, the symbol '<' y replaced with '&lt;'.
    Why does it happen? Is there a way of avoiding that?
    Could anybody be so kind to help me, please?
    Thank you very much in advance.

    Hello!
    I need to develop a client in order to invoke a web
    service. I have the WSDL of the web service, so I
    generate a web service proxy, from that WSDL, using
    JDeveloper 10.1.3.0.
    Among other things, that web service receive RPC
    request (binding style is RPC) and the request has
    only one parameter, which consists of a string. That
    string must be an XML document (that is, the web
    service receives one parameter which is a XML
    document as a String). I generate that parameter, and
    it looks like the following:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <inputMessage xmlns="http://ws/validacion"
    xmlns:xsi="http://www.w3.o
    rg/2001/XMLSchema-instance"
    xsi:SchemaLocation="http://localhost/ws/xsd/mservic/ws
    .xsd">
    <request>ServiceRequest</request>
    <versionMsg>1.0</versionMsg>
    <data>AAAAAAAAAAAAAA</data>
    nputMessage>
    However, when I send the request and capture it
    through HTTPAnalyzer, I get the following:
    <?xml version="1.0"
    encoding="UTF-8"?><soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelop
    e/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body><MyWebService
    xmlns="http://soapinterop.org/"><myWebServiceRequest
    xsi:type="xsd:string" xmlns=""><?xml version =
    '1.0' encoding = 'UTF-8'?>
    <inputMessage xmlns="http://ws/validacion"
    xmlns:xsi="http://www.w3.o
    rg/2001/XMLSchema-instance"
    xsi:SchemaLocation="http://localhost/ws/xsd/mservic/ws
    .xsd">
    <request>ServiceRequest</request>
    <versionMsg>1.0</versionMsg>
    <data>AAAAAAAAAAAAAA</data>
    ;/inputMessage></myWebServiceRequest></MyWebService></
    soapenv:Body></soapenv:Envelope>
    As you can see, the symbol '<' y replaced with
    '<'. (I hope you can see it now)
    The symbol '<' is replace with '& l t ;' (with no whitespaces)
    >
    Why does it happen? Is there a way of avoiding that?
    Could anybody be so kind to help me, please?
    Thank you very much in advance.

  • Table maintenance view not saving changes

    Hi experts
      I have created a Z table with corresponding maintenance view (with transaction). Also, there is a Z program to insert records into the table from xls file.
      When accesing the maintenance view, I can add and remove entries, but the problem is:
           when I update a record, if the records has been created using the maintenance view, then changes are saved to database, but if I try to modify a record added by using the Z program, none of the modifications are saved to DB.
      I have re-created maintenance view, and table properties (delivery class A, display/maintenance allowed ...) seem to be OK.
    Can someone provide some help with this?.
    Many thanks in advance for your help.
    Best  regards,
    Carlos.

    HI
      Thanks for your answer, but didn't work.
      Below my program (
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_fin
          i_begin_col             = 1
          i_begin_row             = 2
          i_end_col               = 9
          i_end_row               = 9999
        TABLES
          intern                  = gt_fichero
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      LOOP AT gt_fichero INTO gs_fichero.
        CASE gs_fichero-col.
          WHEN 1. "Proyecto
            "Validaciones
            gs_unidades-proyecto = gs_fichero-value.
          WHEN 2. "Tipología
            "Validaciones
            gs_unidades-tipologia = gs_fichero-value.
          WHEN 3. "Alias
            "Validaciones
            gs_unidades-identificador = gs_fichero-value.
          WHEN 4. "Superficie
            "Validaciones
            TRANSLATE gs_fichero-value USING ',.'.
            gs_unidades-superficie = gs_fichero-value.
          WHEN 5. "Estado
            "Validaciones
            gs_unidades-estado = gs_fichero-value.
          WHEN 6. "Entrega
            "Validaciones
            gs_unidades-entrega = gs_fichero-value.
          WHEN 7. "PVPCoste
            "Validaciones
            TRANSLATE gs_fichero-value USING ',.'.
            gs_unidades-pvpcoste = gs_fichero-value.
            "Se añade el registro a la tabla de datos maestros
            INSERT ztt_fi_unidades FROM gs_unidades.
            CLEAR gs_unidades.
            IF sy-subrc EQ 0.
              gv_total_correctos = gv_total_correctos + 1.
            ELSE.
              gv_total_erroneos = gv_total_erroneos + 1.
            ENDIF.
            gv_total_registros = gv_total_registros + 1.
          WHEN OTHERS.
        ENDCASE.
      ENDLOOP.

  • Error in background process.

    I have a report that lets you choose between executing in background or not. As far as I see, in both cases the same subroutines are executed, though if you choose to execute directly a list is shown on screen and you are asked to push exec to have the last part of the program executed.
    I am getting an error when choosing background, and so far I get a time-out error whenever I try to debug.
    Is it possible that a variable is not being cleared because the process is in background?
    I paste below the report's code, in case someone sees any difference I'm missing...
    Thanks in advance,
    S.
    CODE:
    REPORT ZFI_GENERACION_UTE_AF
                             MESSAGE-ID ZFI
                             NO STANDARD PAGE HEADING
                             LINE-SIZE 116.
    *Declaración de includes
    INCLUDE .
    INCLUDE ZFI_BATCH_INPUT.
    INCLUDE ZFI_UTE_TOP_AF.
    Definición de la pantalla de selección
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETERS: P_KOKRS LIKE TKA01-KOKRS OBLIGATORY.
    SELECT-OPTIONS: P_BURKSN FOR SKB1-BUKRS OBLIGATORY.
    SELECT-OPTIONS: P_GSBERN FOR BSIS-GSBER.
    SELECT-OPTIONS: P_BURKSU FOR SKB1-BUKRS.
    SELECT-OPTIONS: P_GSBERU FOR BSIS-GSBER.
    PARAMETERS: P_GAJHR LIKE BKPF-GJAHR OBLIGATORY,
                S_MONAT LIKE BSIS-MONAT OBLIGATORY,
                P_BLDAT LIKE BKPF-BLDAT OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1.
    Bloque1 'Tipo de procesamiento: Online - Background'
    SELECTION-SCREEN BEGIN OF BLOCK BLOQUE1 WITH FRAME TITLE TEXT-004.
    PARAMETERS:
      X_ONLINE NO-DISPLAY, " RADIOBUTTON GROUP TYPE, " Ejecutar on-line
      X_BATCH  NO-DISPLAY. "RADIOBUTTON GROUP TYPE. " Ejecutar en fondo
    SELECTION-SCREEN END OF BLOCK BLOQUE1.
    SELECTION-SCREEN BEGIN OF BLOCK BLOQUE3 WITH FRAME TITLE TEXT-016.
    PARAMETERS:
      P_PARC RADIOBUTTON GROUP TIPO,
      P_TOTAL RADIOBUTTON GROUP TIPO DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK BLOQUE3.
    PARAMETERS: NUM_DOCS TYPE I DEFAULT '1000'.
    PARAMETERS: P_CODIGO TYPE ZCODIGO_NEGOCIO.
    *Declaración de includes
    INCLUDE ZFI_UTES_F001_AF.
                     LOGICA DEL PROGRAMA
    *Definición de inicializaciones
    INITIALIZATION.
      PERFORM INICIALIZAR_DATOS.
    *Proceso principal
    START-OF-SELECTION.
      PERFORM INI_CABECERA.
      Procesamiento Online
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
           EXPORTING
                PERCENTAGE = 0
                TEXT       = TEXT-011.
      CLEAR CONTABILIZADO.
      PERFORM: INICIALIZAR_ESTRUCTURAS,
               CONFECCION_ASIENTOS,
      Si UTEs impuras se crearan los siguientes asientos
    En la empresa ZZZI sólo se generarán apuntes para las cuentas
    de la tabla ZHKONT_IMPURAS en las empresas ZZZ8 y ZZZ9.
    add sis3e 14/01/05
              CONFECCION_ASIENTO_NOD_FERR,
    fin add sis3e 14/01/05
               CREAR_ASIENTOS_CONTRARIOS.
      CLEAR SALIR.
    *Acciones de final de proceso
    END-OF-SELECTION.
      PERFORM VISUALIZAR_TI_APUNTES.
      IF NOT SY-BATCH IS INITIAL.
        PERFORM CONTABILIZAR_DOCUMENTOS.
      ENDIF.
    *Definición de cabeceras del listado
    TOP-OF-PAGE.
      PERFORM BATCH-HEADING(RSBTCHH0).
      PERFORM CABECERA_INICIAL.
    TOP-OF-PAGE DURING LINE-SELECTION.
      PERFORM BATCH-HEADING(RSBTCHH0).
    *Definición y control de acciones a tomar según entrada del usuario
    AT USER-COMMAND.
      CASE SY-UCOMM.
        WHEN 'EJEC'.                       " Ejecutar Contabilizaciones
          PERFORM CONTABILIZAR_DOCUMENTOS.
        WHEN 'ENDE'.
        Finalizar
          LEAVE PROGRAM.
        WHEN 'ABR'.
        Cancelar
          LEAVE PROGRAM.
      ENDCASE.
    *Validaciones de los parámetros de entrada
    AT SELECTION-SCREEN.
      KOKRS = P_KOKRS.
    moneda de la sociedad
      SELECT SINGLE WAERS FROM TKA01 INTO TKA01-WAERS
                          WHERE KOKRS = KOKRS.
      MONEDA_FERR = TKA01-WAERS.
      IF CONTROL_SELECTION = '1'.
        PERFORM VALIDACIONES_SCREEN_SELECCION.
        CONTROL_SELECTION = 2.
      ENDIF.

    Hi,
    Did you  mean to say 'last part' of the program is executed after pressing button on application toolbar?
    So even if you execute in background the list should appear and after that you need to see what the program is doing,
    Rgds,
    Sandeep

Maybe you are looking for

  • PSC 1510 always prints test page on startup; settings menu no help

    Hi, My HP PSC 1510 All-in-one printer always prints a test page when I start it up, wasting ink and paper. I tried two things, neither of which solved the problem: - Checking the settings, services, and every other menu I could find for any related o

  • Open Hub - Header in flat file

    Hi there Experts. I am working with a opeb Hub destination, and so far everything has been straight forward. But i need to include headers in the first line of the file. By default the Open Hub i generating a Control File, so it is possible to look i

  • Systempreferences does not appear

    Under the menu I cannot open systempreferences or dock preferences.  It does not work.  And suddenly also the date in the dock was disappeared. I already looked in spotlight under in dutch "systeemvoorkeuren",  but nothing happens. Who can help me. L

  • Is it true if sprint or  verizon will unlock iPhone I can only use with CDMA career?

    Is it true if sprint or  verizon will unlock iPhone 4S, iphone 5, iphone 5s or 5c    outside of America, I can only use with CDMA career??? I mean can I use GSM on this iPhones? Thanks

  • Problem invoking Javascript from applet

    Hi, I have a hidden iframe in my JSP. While submitting the form within the JSP, I set the target of the response page as the iframe and disable all the form elements in the JSP . The response page contains an applet that pops up a window(a JFrame). O