Start routine code for deleting records in different language

Hello,
can someone please specify the exact code to be used in start routine, and whre exactly it needs to be pasted?
this code is needed for master data notifaction type which is loaded for both languages German and English.
german records are to be avoided.
thanks,

Ciao Claudio,
this issue about languages selection is an old situation...
The problem is that language selection is not possible, even if you have this field checked for selection !!!
Look at OSS Note 324684...
"If a field of a DataSource - typically with field name 'LANGU' or 'SPRAS' - is assigned to InfoObject '0langu', the field is not provided in the selection fields although the field actually can be selected. In this case, all languages of the language vector active in the BW System are requested by the source system but the language selection cannot be defined in the Scheduler.
A precondition is that the language field of the DataSource in the source system is maintained as selection field. This setting is done in Transaction RSA6 (or RSO2 for customer developments)."
Bye,
Roberto

Similar Messages

  • Start Routine logic to delete records which do not satisfy a condition

    Hello,
    Iam trying to code a start routine to delete the records from the source_package if a certain set of conditions are not met.
    It is failing at the last statement.
    Pls help.
    Thanks
    Jagadish
    code is as follows..
    LOOP AT SOURCE_PACKAGE assigning <SOURCE_FIELDS>.
    IF not (
    ( <SOURCE_FIELDS>-/BIC/ZCLSD_DT BETWEEN <SOURCE_FIELDS>-/BIC/ZWEEKOF
    AND <SOURCE_FIELDS>-/BIC/ZNONWKOF )
      AND
      ( <SOURCE_FIELDS>-/BIC/ZCLSD_DT IS  INITIAL )
    DELETE SOURCE_PACKAGE FROM <SOURCE_FIELDS>.
    (is failing at the delete statement.)
    ENDIF.
    ENDLOOP.

    Thanks Pratap,
    I used an internal table to load the records and used a delete statement out side the LOOP.
    By using a Work Area assignment instead of the Source_fields, The delete statement is giving me an error saying "Conversion of Numeric Value to type Object is not valid".
    Here is the code I have modified...
       TYPES: BEGIN OF LINE,
                WO(6) type c,
              END OF LINE.
       DATA: WA TYPE LINE,
             ITAB TYPE TABLE OF LINE.
    LOOP AT SOURCE_PACKAGE assigning <SOURCE_FIELDS>.
    IF NOT (
    ( <SOURCE_FIELDS>-/BIC/ZCLSD_DT BETWEEN <SOURCE_FIELDS>-/BIC/ZWEEKOF
        AND <SOURCE_FIELDS>-/BIC/ZNONWKOF
      AND
      <SOURCE_FIELDS>-/BIC/ZAPRD_DT IS NOT initial )
    Append <SOURCE_FIELDS>-/BIC/ZWO_NBR to itab.
    ENDIF.
    ENDLOOP.
    loop at itab into WA.
    DELETE SOURCE_PACKAGE where /bic/ZWO_NBR = WA-wo.
    endloop.

  • T-code for delete file from application server

    Hi all!
    Please, has any t-code for delete file from application server? For upload exist CG3Z, for download has CG3Y. And for delete? Has anyone?
    I need to delete file from application server in QA system and i don't want to create a program for this because i will need to transport a request from DEV to QA.

    I don't have contact with basis team.
    The FM EPS_DELETE_FILE support directory name with max 60 char. My dir. has more than that. I need a transaction for this.
    Anybody know if this transaction exist?

  • I need the code to delete record in the database not in the form???

    I need the code to delete record in the database not in the form...
    because when i execute a form always insert the datas in the data base but i want insert value on a text file and delete in the data base the record whith this value of text file.
    i'm spanish an my english is bad sorry.
    thank, javier

    Well, I fail to understand why you want to complicate easy things, but anyway you can do that by using TEXT_IO within Forms to create text file (see Forms builder help), and UTL_FILE package to read it within Pl/Sql : you could create a stored procedure, and call it from Forms passing the file name as parameter. See UTL_FILE documentation

  • Writing a store procedure  for deleting records

    how can i write a store procedure for deleting records from a table.
    i have a table called employees
    empid
    empname
    deptid
    and table department
    deptid
    dept
    floor
    how can i write a store procedure which would delete records of employees from employees table for particular department when i delete that department from department table.
    thanks

    872959 wrote:
    how can i write a store procedure for deleting records from a table.
    i have a table called employees
    empid
    empname
    deptid
    and table department
    deptid
    dept
    floor
    how can i write a store procedure which would delete records of employees from employees table for particular department when i delete that department from department table.
    thanksDoes not seem to be a sound design, to me.
    Employees do not go missing when organization change is made & department is eliminated.
    If you insist such nonsense, write TRIGGER to issue desired DML

  • Start Routine code error of Perform routine 9998

    Hi,
    I have install standard and then migrate to 7.0 all the flow of modeling.
    but after loading data in PSA, while activation i will found following problem (error in routine).
    In PERFORM or CALL FUNCTION ROUTINE_9998, the actual parameter SOURCE_PACKAGE is incompatible with the formal parameter DATA_PACKAGE.
    please suggest me.

    PROGRAM trans_routine.
          CLASS routine DEFINITION
    CLASS lcl_transform DEFINITION.
      PUBLIC SECTION.
    Attributs
        DATA:
          p_check_master_data_exist
                TYPE RSODSOCHECKONLY READ-ONLY,
    *-    Instance for getting request runtime attributs;
        Available information: Refer to methods of
        interface 'if_rsbk_request_admintab_view'
          p_r_request
                TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
      PRIVATE SECTION.
        TYPE-POOLS: rsd, rstr.
      Rule specific types
        TYPES:
          BEGIN OF tys_SC_1,
         InfoObject: 0MPOINT Measuring point.
            MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
            MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
            MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0MPTYP Type of Measuring Point.
            MPTYP           TYPE /BI0/OIMPTYP,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
            PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
            ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
            ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
            MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
            TIME           TYPE /BI0/OITIME,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
            DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
            TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
            MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
            MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
            MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
            SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
            CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
            PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0CREATED_BY Created By.
            CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
            READSI           TYPE /BI0/OIREADSI,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
            READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
            RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
            CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
            CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CAT_TYPE Catalog.
            CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
            CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0FI_STATUS Processing Status.
            FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
            DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
            CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
            EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
            FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
            CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
            MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0DOCAF Measurement Document Included for Associated T
    *ask.
            DOCAF           TYPE /BI0/OIDOCAF,
         InfoObject: 0RECORDMODE BW Delta Process: Update Mode.
            RECORDMODE           TYPE RODMUPDMOD,
         InfoObject: ZSTEXT Object Number Text.
            /BIC/ZSTEXT           TYPE /BIC/OIZSTEXT,
         Field: RECORD.
            RECORD           TYPE RSARECORD,
          END   OF tys_SC_1.
        TYPES:
          tyt_SC_1        TYPE STANDARD TABLE OF tys_SC_1
                            WITH NON-UNIQUE DEFAULT KEY.
    $$ begin of global - insert your declaration only below this line  -
        ... "insert your code here
    $$ end of global - insert your declaration only before this line   -
        METHODS
          start_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              SOURCE_PACKAGE              type tyt_SC_1
            RAISING
              cx_rsrout_abort.
        METHODS
          inverse_start_routine
            IMPORTING
              i_th_fields_outbound         TYPE rstran_t_field_inv
              i_r_selset_outbound          TYPE REF TO cl_rsmds_set
              i_is_main_selection          TYPE rs_bool
              i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
              i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
            CHANGING
              c_th_fields_inbound          TYPE rstran_t_field_inv
              c_r_selset_inbound           TYPE REF TO cl_rsmds_set
              c_exact                      TYPE rs_bool.
    ENDCLASS.                    "routine DEFINITION
    $$ begin of 2nd part global - insert your code only below this line  *
    TYPES:
      BEGIN OF tys_SC_1_full,
         InfoObject: 0MPOINT Measuring point.
        MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
        MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
        MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0MPTYP Type of Measuring Point.
        MPTYP           TYPE /BI0/OIMPTYP,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
        PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
        ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
        ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
        MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
        TIME           TYPE /BI0/OITIME,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
        CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
        PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0CREATED_BY Created By.
        CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
        READSI           TYPE /BI0/OIREADSI,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
        READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CAT_TYPE Catalog.
        CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
        CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0FI_STATUS Processing Status.
        FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
        DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
        EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
        FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
        CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0DOCAF Measurement Document Included for Associated T
    *ask.
        DOCAF           TYPE /BI0/OIDOCAF,
         InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
        RECORDMODE           TYPE RODMUPDMOD,
         Field: RECNO Data record number.
        RECNO           TYPE RSARECORD,
      END   OF tys_SC_1_full.
    TYPES:
      tyt_SC_1_full        TYPE STANDARD TABLE OF tys_SC_1_full
                        WITH NON-UNIQUE DEFAULT KEY.
    TYPES:
      BEGIN OF tys_TG_1_full,
         Field: SID Master data ID.
        SID           TYPE RSSID,
         Field: DATAPAKID Data packet number.
        DATAPAKID           TYPE RSDATAPID,
         Field: RECORD Data record number.
        RECORD           TYPE RSARECORD,
         InfoObject: 0MPOINT Measuring point.
        MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
        MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0FI_STATUS Processing Status.
        FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
        DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
        EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
        FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
        CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0CAT_TYPE Catalog.
        CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
        CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0CREATED_BY Created By.
        CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
        MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
        READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
        CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
        PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
        PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
        ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
        ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
        MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
        TIME           TYPE /BI0/OITIME,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0DESIREU Target Value for Measuring Point in Document
    Entry Unit.
        DESIREU           TYPE /BI0/OIDESIREU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0MRMINEU Lower Meas. Limit or Min. Total Counter Read
    *ing Document UoM.
        MRMINEU           TYPE /BI0/OIMRMINEU,
         InfoObject: 0MRMAXEU Upper Meas. Limit or Max. Total Counter Read
    *ing in Doc. M.U..
        MRMAXEU           TYPE /BI0/OIMRMAXEU,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0CNTRREU Counter Reading in Document Entry Unit.
        CNTRREU           TYPE /BI0/OICNTRREU,
         InfoObject: 0CDIFFEU Counter Reading Difference in Document Entry
    Unit.
        CDIFFEU           TYPE /BI0/OICDIFFEU,
         InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
        RECORDMODE           TYPE RODMUPDMOD,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
        READSI           TYPE /BI0/OIREADSI,
      END   OF tys_TG_1_full.
    TYPES:
      BEGIN OF tys_SC_1__RULE_34,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_34.
    TYPES:
      BEGIN OF tys_SC_1__RULE_35,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_35.
    TYPES:
      BEGIN OF tys_SC_1__RULE_36,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_36.
    TYPES:
      BEGIN OF tys_SC_1__RULE_37,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_37.
    TYPES:
      BEGIN OF tys_SC_1__RULE_38,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_38.
    Additional types for start routine interface
    TYPES:
      data_package_structure type tys_SC_1_full.
    Additional declaration for update rule interface
    DATA:
      MONITOR       type standard table of rsmonitor  WITH HEADER LINE,
      MONITOR_RECNO type standard table of rsmonitors WITH HEADER LINE,
      RECORD_NO     LIKE SY-TABIX,
      RECORD_ALL    LIKE SY-TABIX,
      SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS.
    global definitions from update rules
    TABLES: ...
    DATA:   ...
    *******DATA:  G_T_0EQUIPMENT  TYPE STANDARD TABLE OF /BI0/MEQUIPMENT.
    data: lt_data type ref to data.
    data: ls_data type ref to data.
    field-symbols: <G_T_0EQUIPMENT> type standard table.
    field-symbols: <G_S_0EQUIPMENT> type any.
    field-symbols: <FUNCT_LOC> type any.
    field-symbols: <DATEFROM> type any.
    field-symbols: <DATETO> type any.
    constants: c_tabname type rstlogotab value '/BI0/MEQUIPMENT'.
    *&      Form  routine_9998
          text
         -->DATA_PACKAGE            text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_9998
      TABLES DATA_PACKAGE TYPE tyt_SC_1_full
      CHANGING
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal tables "MONITOR" and/or "MONITOR_RECNO",
    to make monitor entries
    In this start routine missing functional location for
    an equipment is added to a Data Package record, if it is available
    in the master data of the equipment
      create data lt_data type table of (c_tabname).
      assign lt_data->* to <G_T_0EQUIPMENT>.
      create data ls_data type (c_tabname).
      assign ls_data->* to <G_S_0EQUIPMENT>.
      assign component 'FUNCT_LOC' of structure <G_S_0EQUIPMENT> to
    <FUNCT_LOC>.
      assign component 'DATE_FROM' of structure <G_S_0EQUIPMENT> to
    <DATEFROM>.
      assign component 'DATE_TO' of structure <G_S_0EQUIPMENT> to
    <DATETO>.
      CALL FUNCTION 'RSAU_READ_MASTER_DATA'
        EXPORTING
          I_IOBJNM                = '0EQUIPMENT'
          I_FLG_WHOLE_TABLE       = 'X'
        IMPORTING
          E_TABLE                 = <G_T_0EQUIPMENT>
        EXCEPTIONS
          READ_ERROR              = 1
          NO_SUCH_ATTRIBUTE       = 2
          WRONG_IMPORT_PARAMETERS = 3
          CHAVL_NOT_FOUND         = 4
          OTHERS                  = 5.
      CASE SY-SUBRC.
        WHEN 0.
          LOOP AT <G_T_0EQUIPMENT> INTO <G_S_0EQUIPMENT>.
            IF <FUNCT_LOC> IS INITIAL.
              DELETE <G_T_0EQUIPMENT>.
            ENDIF.
    master data collected and condensed
          ENDLOOP.
          LOOP AT DATA_PACKAGE.
            IF ( DATA_PACKAGE-FUNCT_LOC IS INITIAL ) AND
               ( DATA_PACKAGE-EQUIPMENT IS NOT INITIAL ).
              READ TABLE <G_T_0EQUIPMENT> WITH KEY
                ('EQUIPMENT') = DATA_PACKAGE-EQUIPMENT INTO <G_S_0EQUIPMENT>
              IF SY-SUBRC = 0.
                IF ( DATA_PACKAGE-MDATE >= <DATEFROM> )
                   AND ( DATA_PACKAGE-MDATE <= <DATETO> ).
    record for equipment exists and valid
                  DATA_PACKAGE-FUNCT_LOC = <FUNCT_LOC>.
                  MODIFY DATA_PACKAGE.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDLOOP.
        WHEN 4.
    master data is not (yet) loaded
        WHEN OTHERS.
    problem occured, output as warning
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
      ENDCASE.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_9998
    *&      Form  routine_0001
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0001
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_34
      CHANGING
        RESULT         TYPE tys_TG_1_full-DESIREU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-TVIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-DESIRSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0001
    *&      Form  routine_0002
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0002
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_35
      CHANGING
        RESULT         TYPE tys_TG_1_full-MRMINEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-MRMINI = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-MRMINSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0002
    *&      Form  routine_0003
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0003
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_36
      CHANGING
        RESULT         TYPE tys_TG_1_full-MRMAXEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-MRMAXI = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-MRMAXSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0003
    *&      Form  routine_0004
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0004
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_37
      CHANGING
        RESULT         TYPE tys_TG_1_full-CNTRREU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-CNTIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-CNTRRSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0004
    *&      Form  routine_0005
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0005
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_38
      CHANGING
        RESULT         TYPE tys_TG_1_full-CDIFFEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-CNTIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-CDIFFSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0005
    TYPES: BEGIN OF TY_/BI0/PMPOINT,
          MPOINT      TYPE /BI0/PMPOINT-MPOINT,
       MRNGU     TYPE /BI0/PMPOINT-MRNGU,
    END of TY_/BI0/PMPOINT.
    DATA: /BI0/PMPOINT_TEMP TYPE STANDARD TABLE OF
    TY_/BI0/PMPOINT,
          W_/BI0/PMPOINT_TEMP like line of /BI0/PMPOINT_TEMP.
    $$ end of 2nd part global - insert your code only before this line   *
          CLASS routine IMPLEMENTATION
    CLASS lcl_transform IMPLEMENTATION.
          Method start_routine
          Calculation of source package via start routine
      <-> source package
      METHOD start_routine.
    *=== Segments ===
        FIELD-SYMBOLS:
          <SOURCE_FIELDS>    TYPE tys_SC_1.
        DATA:
          MONITOR_REC     TYPE rstmonitor.
    *$*$ begin of routine - insert your code only below this line        *-*
        Data:
          l_subrc          type sy-tabix,
          l_abort          type sy-tabix,
          ls_monitor       TYPE rsmonitor,
          ls_monitor_recno TYPE rsmonitors.
        REFRESH:
          MONITOR,
          MONITOR_RECNO.
    Runtime attributs
        SOURCE_SYSTEM  = p_r_request->get_logsys( ).
    Migrated update rule call
        Perform routine_9998
        TABLES
          SOURCE_PACKAGE
        CHANGING
          l_abort.
    *-- Convert Messages in Transformation format
        LOOP AT MONITOR_RECNO INTO ls_monitor_recno.
          move-CORRESPONDING ls_monitor_recno to MONITOR_REC.
          append monitor_rec to MONITOR.
        ENDLOOP.
        LOOP AT MONITOR INTO ls_monitor.
          move-CORRESPONDING ls_monitor to MONITOR_REC.
          append monitor_rec to MONITOR.
        ENDLOOP.
        IF l_abort <> 0.
          RAISE EXCEPTION TYPE CX_RSROUT_ABORT.
        ENDIF.
    $$ end of routine - insert your code only before this line         -
      ENDMETHOD.                    "start_routine
          Method inverse_start_routine
          This subroutine needs to be implemented only for direct access
          (for better performance) and for the Report/Report Interface
          (drill through).
          The inverse routine should transform a projection and
          a selection for the target to a projection and a selection
          for the source, respectively.
          If the implementation remains empty all fields are filled and
          all values are selected.
      METHOD inverse_start_routine.
    $$ begin of inverse routine - insert your code only below this line-
        ... "insert your code here
    $$ end of inverse routine - insert your code only before this line -
      ENDMETHOD.                    "inverse_start_routine
    ENDCLASS.                    "routine IMPLEMENTATION

  • BW 3.5 Start Routine Start Routine Code

    Hi,
    I am writing a Start Routine in BW 3.5 and the logic we have seems to be working but not updating the target ods. We are adding a date field to the target ODS and need to source it from another ODS.  The key structures for each ods is different
    Taget ODS:
    Header
    Line ITem
    Schedule Line
    Source ODS:
    Header
    Line Item
    When we run the start routine the date field will not update for the schedule lines, it will create a new record in the target ods with the Header Line ITem and Date.
    Has anyone had to code this logic before in a 3.5 Start Routine, where you needed to update a date field with ODS with different key strucutures.
    Thanks for any help on this issue.

    Its difficult in BW 3.5 to include this logic in START_ROUTINE as you cannot add the extra to_date field to the DATA_PACKAGE table.
    You need to create a new global internal table with the same structure of DATA_PACKAGE with additional field to_date. then use the logic to fill in the global internal table
    define a internal table new_data_package with the required structure like (docno, eventtype, fromdate todate)
    data: l_w_datapkg_001 type data_package,
    data: l_w_newdatapkg type new_data_package,
    data: l_w_datapkg_011 type data_package
    LOOP AT DATA_PACKAGE INTO l_w_datapkg_001 WHERE event_type = '001'.
    l_w_newdatapkg-docno = l_w_datapkg_001-docno.
    l_w_newdatapkg-event_type = l_w_datapkg_001-event_type.
    l_w_newdatapkg-fromdate = l_w_datapkg_001-date.
    MOVE CORRESPONDING FIELDS OF l_w_datapkg_001 INTO l_w_newdatapkg.
    READ TABLE data_package INTO l_w_datapkg_011
    WITH KEY docno = l_w_datapkg_001-docno
                     event_type = '011'.
    l_w_newdatapkg-to_date = l_w_datapkg_011-date.
    APPEND l_w_newdatapkg TO new_data_package          
    ENDLOOP.
    Now the new datapackage contains the ODS2 data that u needed

  • BW-ABAP start routine code logic

    Hello friends,
    I am writing start rotine code between ODS and InfoCube.I need your help determining the right logic.
    Requirement is as follows.
    1. Create one database table to store GL account ranges.
    2. This table will have multiple ranges of GL account.
    3. Write a code such a way that only GL acc. range in this table is included and  
        all the other records containing GL acc. outside this range should be deleted.
    Here is the logic which I have developed.
    Please help me with your suggestion.
    Message was edited by:
            John Anderson

    Hi John,
       I did not check the syntax of this program and I am very bad at remembering the syntax. Let me know if you face any problem with the code I am supplying.
    Code removed ....
    Best Regards,
    Kazmi
    Message was edited by:
            Kazmi

  • Regarding start routine used for lookups

    Hi All,
    I am doing a lookup whose logic is being defined in start routine. My requirment is like this.
    I am having an infoobject(1) having a master data and it also have an attribute having the master data too.
    Now I am having one more object(2) having the masterdata and an attribute with out data.
    In my routine I have defined a logic to compare two infoobjects. If they are equal then load the data of the attribute of first infoobject into the second infoobject.
    I have defined the logic like this in routine.
    SELECT /BIC/Z_LOOKUP2
                         FROM /BIC/Z_LOOKUP1
        INTO /BIC/Z_LOOKUP4
           FOR ALL ENTRIES IN SOURE_PACKAGE[]
        WHERE  /BIC/Z_LOOKUP3 = SOURCE_FIELDS-/BIC/Z_LOOKUP1
        END SELECT.
    I am geeting an error as /BIC/Z_LLOKUP1 IS NOT defined in ABAP dictionary as a table,.
    How can I resolve this.
    Please help me.
    Z_LOOKUP1 is having Z_LOOKUP2 as an attribute and,
    Z_LLOKUP3 is having Z_LLOKUP4 as an attribute.
    Thanks.
    Vinay,

    Hi,
    Just check the master data table created for your infoObject Z_LOOKUP1. It would be something like /BIC/PZ_LOOKUP100.
    If you are still getting the error, post your exact code here and we can take a look.
    Hope this helps!
    Regards,
    Saurabh

  • Alert Button for delete record ASP

    Hello I have a delete record and have added a javascript
    alert box. I have 2 options. The first is OK and the second is to
    cancel. The problem is that I having trouble with the cancel part.
    It deletes the record regardless. I tried to pass information such
    as if they click cancel <% TH_Proceed = "" %> and in the
    delete Dreamweaver code put an if statement to see if the
    TH_Proceed <> "" to proceed.
    It seems like once it is clicked the information from the
    form to delete is passed and it forgets about what I try to send.
    Sorry I am not to experienced with this.
    Thanks for any help

    <form, not </form
    onSubmit = "return confirm_entry()"
    If you don't return anything from the function call, the
    submit will of
    course go through since that's the default behavior.
    The function itself must be altered, too. After your alert
    saying the file
    will be deleted, return true. After your alert saying the
    file will not be
    deleted, return false.
    "Pixel Pusher" <[email protected]> wrote in
    message
    news:e8k38f$mtt$[email protected]..
    > Thank you. But still not completely understanding. I
    have details. Thank
    > you
    > again for the help.
    >
    > This is the form tag:
    >
    > </form id="frm_delete" name="frm_delete"
    method="POST"
    > onSubmit="confirm_entry()"
    action="<%=MM_editAction%>">
    >
    > This is the submit button:
    > <input type="submit" name="Submit" value="Delete This
    File!" />
    >
    > This is the JavaScript:
    >
    > <script language="JavaScript">
    > <!--
    > function confirm_entry()
    > {
    > input_box=confirm("Click OK or Cancel to Continue");
    > if (input_box==true)
    >
    > {
    > // Output when OK is clicked
    > alert ("The File Will be deleted");
    > }
    >
    > else
    > {
    > // Output when Cancel is clicked Option
    >
    > alert ("The File Has Not Been Deleted");
    > }
    >
    > }
    > -->
    > </script>
    >

  • Urgent where i put this code for delete

    hi master
    sir this code is right for my requirment but when i put on_delete event system not respons or not delete record
    where i put this code for conditional deletion
    this is my code
    declare
         recno number;
    begin
    if :system.cursor_block='accbal' then
    delete accbal where accid=:chartofacc.accid;
         go_block('chartofacc');
         next_record;
    elsif :system.cursor_block='chartofacc' then
         select count(*) into recno from accbal where accid=:chartofacc.accid;
         if recno=0 then
         delete_record;
         go_block('chartofacc');
         previous_record;
         else
         message ('system found matching record then no delete master record');
         message ('system found matching record then no delete master record');
         end if;
    end if;
    end;
    please gide me which event i use
    thanking you
    aamir

    Hello,
    The ON-DELETE triger fires only after a COMMIT statment and only for those records that have been deleted in the block.
    Francois

  • ABAP Routine code for the below logic

    Hello BW Experts ,
    I need to write a complex ABAP routine in BW .
    Following is the detail explaination .
    Can anyone tell me the ABAP code for the below logic?
    It would be a greate help as I am unable to do this
    since last two days.
    WBS Elements are maintained at  IOS and  Warranty levels in R/3 side.
    The IOS WBS is a top level of WBS element and below that the Warranty WBS level.
    The IOS and Warranty WBS elements can be differentiated by means of priority field.
    When priority = i   , WBS Element is known as  IOS Level WBS Element and
    When  priority = Y the WBS element is known as Warranty WBS element.
    The Equipment Number is maintained compulsorily at IOS Level WBS elements only.
    It is not maintained at  Warranty WBS Element.
    But the Cost is maintained at Warranty WBS Elements.
    In BW I need all Warranty WBS ( priority = Y) along with their cost figures and Equipment Numbers.
    But as the Equipment Number is not maintained compulsorily at Warranty WBS level we have asked to
    Copy it from  IOS WBS ( priority = i ) and assign it to Warranty WBS level ( priority = Y ).
    So I have included the Equipment Number in the ODS and in update rules I need to write the routine for it as
    per the above logic.
    The Equipment Number is coming from Master data of  WBS Element.
    The WBS element master data we are loading in BW .
    Also the same WBS Element transaction data is coming from the transaction data data source in BW.
    Following fields / infoobjects and the table names in BW :
    1. Equipment Number : /BIC/ZEQUIPMNT  and table name /BIC/MZWBS_ELEM.
    2. WBS Element       : ZWBS_ELEM  is coming from transaction data data source as well as master data.
                                     In ODS update rules it is coming from  transaction data data source Comm_structure-ZWBS_ELEM.
                                     Also we are loading separetly the master data for ZWBS_ELEM.
                                     The  ZEQUIPMNT is an attribute of ZWBS_ELEM.
    3. Priority                :  PRIORITY     and table name /BIC/MZWBS_ELEM.
                                      The info object name for Priority is 0Priority but in master data table /BIC/MZWBS_ELEM
                                      the field name is    PRIORITY.
                                     When PRIORITY = ' i ' then    ZWBS_ELEM is at IOS Level
                                     When PRIORITY = ' y ' then  ZWBS_ELEM is at Warranty Level.
    4. ODS name :  /BIC/AZCOST00 and same is table name active data table .
    So please tell me the routine Code .
    Best Regards ,
    Amol.

    Hi Dinaker,
    Did you find any solution for this issue. I too have a similar requirement of pulling all the service orders for a specific Purchase Order in the BW report.
    Thanks,
    SAPBWI

  • Delta update for deleted records

    Hi,
    I use delta update for my data. As destination I use ODS object and this ODS contains two keys: key1 and key2. On step of preparing data for extraction, key2 is lost(we can't determine it) - key1 is known only.
    I'm finding a way how to update ODS by deleted records('D' update mode) if this records contain only key1 value(key2 is empty). I need to delete all records with key1 only, key2 is not important for this update.
    Is it possible to set key2 some BW specific value, which will be accepted as equal for old key2 values ?
    Or some other standart ways are known for this situation ?
    Thanks in advance,
    Fiodar.

    I would use the update rules to read the active data table of the ODS. There you can read all the key2 values for a given key1.
    If you get one row with key1 filled and key2 = '*' (for example you could split it into multiple records, one per key2. A sample coding might look like:
    LOOP AT DATA_PACKAGE into l_d_data_package.
      IF key2 = '*'.
        DELETE DATA_PACKAGE.
        SELECT * FROM /BIC/AMY_ODS00 INTO l_d_my_ods
          WHERE key1 = l_d_data_package-key1.   
          l_d_data_package-key2 = l_d_my_ods-key2.
          append l_d_data_package to DATA_PACKAGE. 
        ENDSELECT.
      ENDIF. 
    ENDLOOP.
    Best regards
       Dirk

  • Delta enable custom func mod data source for Delete record also

    Hi,
    We have a custom function module data source and the base table on which data is extracted has two time stamp fields ( created on, changed on ) and the data source is delta enabled with the timestamp field.
    It works aboslutely fine in Full and initial mode and load data into a target ODS.
    Even in delta mode we believe that it works in most of the cases( only change of an existing records and creation of new records). However in the case of delete, we have issues.  When the data is deleted from the base table we completely loose the record and can’t advice the BW which one to delete.
    In order to bypass this we have analyzed the cdhdr/cdpos table and found out that that we can compute the Key field value that was deleted from the last delta run and can include it as such in the data that are extracted.
    Big Question is by what mechanism we let the BW know that this is a delete, so that the existing record( with the same key) is actually deleted from the ODS. I have seen some fields like 0RECORDMODE doing things in SAP delivered  content. But not sure how we can get this work for our custom data source. 
    Please let us know whether you need any clarification on this. I shall be prompt to provide points who can resolved this showstopper issue for us.
    Thanks

    Hi Aruna,
    I have tried to explain : "Big Question is by what mechanism we let the BW know that this is a delete"
    Now to create a DataSource, you will have to include the information from the Tables as you mentioned:
    1: CDHDR
    2: CDPOS
    In this table you can check the CHANG_ID as the field which gives the information of
    1: Overwrite
    2: Add
    3: Delete
    Now when you create the Function Module, make a field similar to this and read the R/3 Table field CHANGE_IND and pass the relevant Indicators to the BW in the Transfer Rules
    Like
    CDHDR refers 'D' for delete but In BW 'R' denotes Deleted image. So the FM should take care this and pass the blank for all and 'R' for the documents with 'D' for each line item along with the other required fields.You will have to use an ODS in this case.
    note: Plz check the logic of Change Ind "E". I am not sure of this type.if you want to delete 'E' then pass the value as 'R' to the BW system for documents with 'E' CHANGE_IND.
    Hopes i made it clear.
    regards
    Happy Tony
    Points == Thanks

  • Run a code for all records

    Dear all, please tell me how can I perform a code save for all records in ms dynamics crm 2011. (I've changed part of a code and need it work for all old records)

    Andrii thanks for your reply, but it will not work. In this case I work with a N:N connected records. I found this:
    https://rajeevpentyala.wordpress.com/2012/02/05/update-record-using-odata-and-jquery-in-crm-2011/

Maybe you are looking for

  • Itunes for Windows Vista

    Hi, I bought a Laptop and an Ipod recently. The OS on my laptop is Windows Vista and it is not compatible with Itunes. Is there anything that I can do or just wait until Microsoft updates Vista. Thanks Ajay

  • .War file size too large on Sun One WebServer 6.1

    We are using Sun One Web Server 6.1. I am trying to deploy a .war file thru the admin interface, and it fails due to the .war file being too large (over 10 megs). I am new to this server and have been looking around to see if there is a config settin

  • With XP, with three different user accounts, is it possible to download Firefox 4 to one user and retain Firefox 3 on another, for a learning period?

    We are running XP, and have 3 different user accounts on one desktop. We are very excited by the Firefox4 features, but one user has much less comfort with changes, and doesn't want to lose browsing comfort in 3 before he has a chance to get used to

  • [SOLVED] how to detect archlinux from bash ?

    Is there any simple way ho to detect from bash it is currently running on Arch? I frequntly usde both arch and debian and want top set up my .bashrc & .nash_profile to be the same on both systems so I need some way how to make some part conditional f

  • Update to 10.10.2 breaks dock, cmd+tab

    Late 2010 MacBook Air. Updated to 10.10.2, dock freezes and cmd+tab doesn't page through open aps (nothing happens). Removed several 3rd party aps, no improvement. Restored 10.10.1, reupdated, same problem. Turned off auto-update and am sticking w/ 1