Urgent????extracting alphanumerics

Hi Experts,
  Can any kindly explain how to extract Alphanumerics From R/3 to BW.
I'm using generic extraction.
from  CATSDB table i have to extract the data to BW. But for this table the  field RPROJ have Alphanumeric data.
But this field having NUMC datatype in R/3. But the Alphanumeric data is getting to that field when we select ALV grid display.
Plz its an Urgent. Today i should give answer to the client
Thanks in advance,
Deepa.c

Hi,
You have to be careful with your dimension order. It must be the same at all stages
Let's assume that your Essbase model order is : Scenario, Account, Version, Year, Period, Entity, Project
Then in your report you should have the exact order : Scenario, Account, Version, Year, Period, Entity, Project
It will give you the following output file : Scenario, Account, Version, Year, Period, Entity, Project, "Data"
Now in ODI, check that your datastore has also the same order : Scenario, Account, Version, Year, Period, Entity, Project, Data
If not make a reverse in order to get back the same order as Essbase.
Now try your interface but with no mapping. Do you still get data the same way as the report script ? If yes, then start implementing your mapping one member at the time.
For my part, i've never do a mapping directly. I create a package with two interfaces. The first one creates a temporary file (or writes in a database) which is exactly that the output file of the report script. Then my second interface creates my final file with mappings.
Regards

Similar Messages

  • How to extract alphanumerics from R/3 to BW?

    Hi
    when I'm extracting the Alphanumerics from R/3 to BW(ODS) then, only Numerics are coming to BW & Alpha's are not coming.
    I got a dout wheather their are any routines & i checked Routines are not their.
    IN CATSDB table for the field RPROJ the data is Numerics but when we select ALV grid display the data is ALPHANUMERICS.That data i want to extract to BW.
    can any one PLZ help me. URGENT.
    Rgds
    Narendra

    hi ,
    check the length of the infoobject in r/3 and BW .
    if they r same no issues, but r/3 length is more than the BW length it raises an error..bcoz u trying to fit in the data which is more in a lesser length object.
    also have a look at the check box in the transfer rules ...
    regards
    Kalyan Sarvepalli

  • Urgent: Extraction of CRM Survey  and change documents

    Hi BW Experts,
    My requirement is to extract CRM Survey which is linked to Activities as XML file and Change documents from CRM to BW. I know what are the datasources we need to use inorder to extract the Survey data to BW some of them are : 0SVY_DATA_1;0SVY_QUEST_TEXT and 0SVY_ANSWER_TEXT but I am confused in mapping Survey questions to BW as they may be of 200 char do we need to split them or is there anyother way we can map please would anyone suggest me steps to extract the Survey data from CRM to BW i.e from activation to Cube mainly I am worried about how do we map Survey questions to BW objects.
    And also I need to extract Change documents,i.e changes made to the created opportunity,activity transactions, from CRM to BW as the changes are not stored in DB tables but we can view them in extras menu->change documents I think they are linked to transaction number but i donot know how to pull them to BW.Would anyone put some light on it. I appreciate it in advance.
    Thanks in advance
    Regards
    Kishore.

    Hi Kishore,
    I have no experience in CRM extraction in BW.
    Did you try to use 'Propose Transfer Rules' function to map objects from extract structure to the comm structure. I am assuming that you have activated all the required Business Content and replicated your extract structures.
    Why do you want to map field by field? May be I did not understand your question?

  • URGENT : extracting an application from webtool

    Hi all,
    I hope someone can help me with this one... I need to extract applications deployed in webtool services somehow and move them to another AS10g. I have ssh access to the server , however i am unable to find the application files anywhere - any ideas as where to look for them ?
    Thanks for any help !

    In the webtool, you would be able to determine the URL where these services are accessible.
    Given the URLs, you can determine the location of the files in the filesystem based on your Apache/OC4J config.
    Regards,
    Phil

  • URGENT - Extract Image Files From Long Raw Column

    Hi.
    I have to extract image files (tif and wmf format) from "long raw" column and put them in a directory, using a PL/SQL procedure.
    Can anyone help me.
    Thanks

    Well that is interesting, that ORA returns no records on Metalink. Anyway, that was for my own curiosity.
    As you are on 10g, this is how I would write a long raw to a file if I had no choice:
    1) create a gtt with a column of type blob
    2) insert into the gtt the long raw column using the to_lob conversion function
    3) you now have a lob!
    4) open a binary file for writing using utl_file (binary mode was introduced in 10g)
    4) use dbms_lob to read through the blob and write it in chunks to the file
    You will have to do this row by row. It will be painfully excrutiatingly slow.
    This is basically your only choice unless you have a OCI programmer to hand. In which case I would be getting them to write the C code to read the long raw column and write it to a file. This could then be compiled into a library and called as an external procedure from PL/SQL.
    HTH
    Chris

  • (Urgent) Extract Code From form 4.5

    I would like to know if there is any way of extracting or exporting the code from a form created in forms 4.5, into text format.
    The form is in the executable format .frx.

    Antony,
    If the form is in fmx format, there is absolutely no way you can retrieve the code.
    Fmx format is a final format. No reverse is possible.
    Good luck,
    Pedro.

  • URGENT: Extraction of APO SDP Database Alerts

    Hi,
    I have to extract the APO SNP databse alerts (SDP). can anyone please let me how to extrct them. any standard datasources ? any tables i can get the details from.
    does the standard infosource 0ICH_ALERT_MON &
    datasource 0ICH_ALERT_REPORT_DS can be used for extracting these alerts ?
    regards
    Bhavani Prasad

    Hello Bhavani,
        You can use the below sample code for extracting alerts or as somanth said u can fetch it from /sapapo/amalert table.
    Regards,
    Siva.
      DATA :  l_plver             TYPE /sapapo/amoplver,
              l_vfrom             TYPE /sapapo/c_vfrom,
              l_vto               TYPE /sapapo/c_vto,
              lt_amoappl_profid   TYPE /sapapo/amoappl_profid_tab,
              ls_profid           LIKE LINE OF lt_amoappl_profid,
              l_alert_manager     TYPE REF TO /sapapo/alert_manager.
    DATA      gt_alert_tab TYPE /sapapo/alert_tab.
    Assgin the version, from and to date
      l_plver           = '000'.
      l_vfrom           = '19700101000020'.
      l_vto             = '20371231235949'.
    Assgin the profile id's
      ls_profid-applid  = 'SD'.
      ls_profid-profid  = 'PN_SNP_ALERT'.
      APPEND ls_profid TO lt_amoappl_profid.
      CREATE OBJECT l_alert_manager.
      REFRESH gt_alert_tab.
    read the alerts from the data base
      CALL METHOD l_alert_manager->read_alerts
        EXPORTING
          plver             = l_plver
          vfrom             = l_vfrom
          vto               = l_vto
          t_appl_profid     = lt_amoappl_profid
          pllp_switch       = 'X'
        IMPORTING
          t_alerts          = gt_alert_tab
        EXCEPTIONS
          profile_not_found = 1.
      IF sy-subrc = 1.
        RAISE profile_not_found.
      ENDIF.

  • Urgent: Problems in Generic Deltas by Function Module

    Hi BW Experts,
    My requirement is to extract text from CRM to BW using Zfunction module, copy of RSAX_BIW_GET_SIMPLE_DATA
    which works fine for full loads but the problem arises only when i go for generic deltas. My code in FM for Deltas is:
    LOOP AT s_s_if-t_select INTO l_s_select.
    CASE l_s_select-fieldnm.
    WHEN 'ZDATE'.
    s_date_from = l_s_select-low.
    s_date_to = l_s_select-high.
    WHEN OTHERS.
    ENDCASE.
    ENDLOOP.
    IF s_date_from IS INITIAL.
    s_date_from = '20060401'.
    ENDIF.
    IF s_date_to IS INITIAL.
    s_date_to = '99991231'.
    ENDIF.
    OPEN CURSOR WITH HOLD S_CURSOR FOR
    SELECT * FROM STXH
    WHERE TDOBJECT = 'CRM_ORDERH'
    AND TDID = 'A002'
    AND TDSPRAS = sy-langu
    and TDLDATE between s_date_from and s_date_to
    or tdfdate between s_date_from and s_date_to.
    ENDIF.
    FETCH NEXT CURSOR S_CURSOR
    APPENDING CORRESPONDING FIELDS
    OF TABLE wa_stxh
    PACKAGE SIZE S_S_IF-MAXSIZE.
    TDFDATE is creation date and TDLDATE is changed on
    My extract structure contains Zdate(TDLDATE), Ztext1,2,3, Key field and langu in RSO2 I have selected calday in generic delta and Zdate as field Nm and upper limit as 1 and lower limit as space in settings and new status for changed records button.
    Did I missed something because when i check in RSA7 i didnot see any changed records under totals column and i tried to load without it into BW than i didnot received single record evenafter changes.Would anyone suggest me the good solution for it I appreciate it in advance. I have seen lot of posts in SDN but I didnot find this type of secenario anywhere.
    Thanks in advance
    Regards
    Kishore

    Kishore,
    go through the thread... which i provided for Generic DS using function for CRM Texts.
    Re: Urgent: Extraction through function module
    Any questions please let me know. If you have any questions update the thread with your mail id.
    Replace the code with ...
    LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'ZDATE'.
    MOVE-CORRESPONDING L_S_SELECT TO L_R_TDLDATE.
    APPEND L_R_TDLDATE.
    ENDLOOP.
    OPEN CURSOR WITH HOLD S_CURSOR FOR
    SELECT * FROM STXH
    WHERE TDOBJECT = <Text Object>
    AND TDID = <Text ID >
    AND TDSPRAS = sy-langu
    AND (TDLDATE IN L_R_TDLDATE
    or TDFDATE IN L_R_TDLDATE).
    ENDIF. "First data package ?
    Fetch records into interface table.
    named E_T_'Name of extract structure'.
    FETCH NEXT CURSOR S_CURSOR
    APPENDING CORRESPONDING FIELDS
    OF TABLE wa_stxh
    PACKAGE SIZE S_S_IF-MAXSIZE.
    L_R_TDLDATE will be calculted by the system. Internally, system will save the Last Delta date(you need to enable this field for Generic delta).
    all the best.
    Regards,
    Nagesh Ganisetti.

  • Hi oliver cora

    hope that u can answer my question.
    how can i extract ALPHANUMERICS from R/3 to BW?

    HI
    I'm using generic extraction.
    In R/3 i'm using CATSDB table.In that we have RPROJ field.for that field i have ALPHANUMERICS.
    u know how alphanumerics coming to that when we select ALV grid display in the R/3->table setting->userparameters->ALV grid display.
    plz provide me the answer.
    Rgds

  • URGENT!!! Extraction by FM is  not working after entering No_MORE_DATA

    Hi Experts,
    We are trying to extract data from a custom table and look up cdhdr and cdpos table for change log for recrods in that custom table. I created a generic datasource with an abaper who defined a self defined FM below which is a copy of the RSAX_BIW_GET_DATA_SIMPLE and added code to it as necessary to meet the requirements above. It was extracting data fine but the job in ECC was hanging forever and bringing down the server. Then we added the code for  RAISE NO_MORE_DATA. Now it is not extracting any data at all. Please help as this is really urgent. Following is the code. pleae tell me what i am doing wrong.
    Thanks in advance.
    FUNCTION zrsax_get_cd_data .
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SRSC_S_IF_SIMPLE-REQUNR
    *"     VALUE(I_DSOURCE) TYPE  SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
    *"     VALUE(I_READ_ONLY) TYPE  SRSC_S_IF_SIMPLE-READONLY OPTIONAL
    *"     VALUE(I_REMOTE_CALL) TYPE  SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
    *"  TABLES
    *"      I_T_SELECT TYPE  SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
    *"      E_T_DATA STRUCTURE  ZDIRUPDTE OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    DataSource tables
      TABLES: zdirupdte.
    Auxiliary Selection criteria structure
      DATA: l_s_select TYPE srsc_s_select.
    Maximum number of lines for DB table
      STATICS: s_s_if TYPE srsc_s_if_simple,
    counter
              s_counter_datapakid LIKE sy-tabix,
    cursor
              s_cursor TYPE cursor.
      IF i_initflag = sbiwa_c_flag_on.
    Initialization: check input parameters
                    buffer input parameters
                    prepare data selection
    Check DataSource validity
        CASE i_dsource.
          WHEN 'Z_DE2110_DIRUPDATE'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE e009(r3). ENDIF.
    this is a typical log call. Please write every error message like this
            log_write 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                      i_dsource   "message variable 1
                      ' '.                 "message variable 2
            RAISE error_passed_to_mess_handler.
        ENDCASE.
        APPEND LINES OF i_t_select TO s_s_if-t_select.
    Fill parameter buffer for data extraction calls
        s_s_if-requnr    = i_requnr.
        s_s_if-dsource = i_dsource.
        s_s_if-maxsize   = i_maxsize.
        APPEND LINES OF i_t_fields TO s_s_if-t_fields.
      ELSE.                 "Initialization mode or data extraction ?
    Select: Retrieve all rcords from Custom table, then get CD data.
          IF sy-subrc = 0.
            LOOP AT payrl_itab.  " 1st loop to populate e_t_data with updatd values from custom table.
    Add reoord from cusom table. Update with CD header info.
              s_counter = s_counter + 1.
              MOVE s_counter TO e_t_data-unq_rec_id. "Make record unique
              MOVE-CORRESPONDING payrl_itab TO e_t_data.
              PERFORM concatenate_key. " key for cdpos_UID
              PERFORM select_cd_data.  " select CDHDR/CDPOS data
              PERFORM get_header_data.
              MOVE-CORRESPONDING hdr_itab TO e_t_data.
              APPEND e_t_data.
    Add same record to datapacket but with old actv/civ type value from CD table.
              s_counter = s_counter + 1.
              MOVE s_counter TO e_t_data-unq_rec_id.
              MOVE-CORRESPONDING payrl_itab TO e_t_data.
              MOVE-CORRESPONDING hdr_itab TO e_t_data.
              LOOP AT cdpos_itab.
                CASE cdpos_itab-fname.
                  WHEN 'ACTV_TYP'.
                    MOVE cdpos_itab-value_old TO e_t_data-actv_typ.
                  WHEN 'CIV_TYP'.
                    MOVE cdpos_itab-value_old TO e_t_data-civ_typ.
                  WHEN OTHERS. " Only need ACTV & CIV Types for 1.2.
                ENDCASE.
              ENDLOOP.
              APPEND e_t_data.
              CLEAR: hdr_itab[], cdpos_itab[], cdhdr_itab[].
            ENDLOOP.
          ELSE.
            MESSAGE e185.
          ENDIF.                             "First data package
        ENDIF.
        s_counter_datapakid = s_counter_datapakid + 1.
        RAISE NO_MORE_DATA.
      ENDIF.              "Initialization mode or data extraction ?
    ENDFUNCTION.

    Hi,
    Where is the first select statement - that is select statement on the custom table ?
    You should open cursor on this table and subsequently fetch package by package.
    After each fetch you will check whether any data is retrieved and raise the exception no more data
    something like
          OPEN CURSOR WITH HOLD s_cursor_doc FOR
          SELECT docnr FROM xxxxxx
          WHERE racct BETWEEN '0000200000' AND '0000200999'
          AND   cpudt IN xxxxxx.
        ENDIF.                             "First data package ?
    **fetching required PCA documents into ranges table
        FETCH NEXT CURSOR s_cursor_doc
                    INTO TABLE itab_docnr
                    PACKAGE SIZE s_s_if-maxsize.
        IF sy-subrc NE 0.
          CLOSE CURSOR s_cursor_doc.
          RAISE no_more_data.
        ENDIF.

  • Urgent: Problems in Generic Extraction by Function Module

    Hi BW Gurus,
    I am new to SDN and also new to generic extraction using function module. My requirement is to extract long text(142 char) from CRM to BW as the text is not stored in database table I used function module read_text with in another ZXXX function module copy of (RSAX_BIW_GET_DATA_SIMPLE). In my extract structure I used GUID(char,32), Langu, long text(142 char) and 2 placeholders. Text can be extracted by passing STXH table fields(Tdname, Tdid, Tdobject, Tdspars) to read_text as parameters and i also need to use CRMD_ORDERADM_H field GUID(32 char) to compare 1st 32 chars of tdname(70 char) with Guid to select Guids and loop thru this Guids and for each Guid i need to append lines of text to e_t_data but as i donot know ABAP i unable to write the code for this. Through my friends help i wrote code when i check in RSA3 it is displaying the text but when i replicate into BW and load into data target in monitor the status is red with records initially but afterwards it will be red status again with 0 from 0 records for initial load again.when i check on job logs the errors i have are:
    The background job has created a job log file of 2Gb size and it is currently on a infinite loop writing entries into the SAP System Log that it cannot write to the Job log file due to “Error 22 for write/read access to a file” this is because of the datasource i have created. Please find my Function module and if anyone would please correct FM and send me that will be really great.I appreciate it in advance.
    MY Function Module is:
    FUNCTION Z_CRMORDERH_STR_TXT.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SRSC_S_IF_SIMPLE-REQUNR
    *"     VALUE(I_DSOURCE) TYPE  SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
    *"     VALUE(I_READ_ONLY) TYPE  SRSC_S_IF_SIMPLE-READONLY OPTIONAL
    *"     VALUE(I_REMOTE_CALL) TYPE  SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
    *"  TABLES
    *"      I_T_SELECT TYPE  SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
    *"      E_T_DATA STRUCTURE  YCRM_TEXT_STR OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    ***"  EXCEPTIONS     NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
      Tables: CRMD_ORDERADM_H, STXH.
    Auxiliary Selection criteria structure
    data: l_s_select type srsc_s_select.
    Maximum number of lines for DB table
      Statics: s_s_if type srsc_s_if_simple,
    counter
             s_counter_datapakid like sy-tabix,
    Cursor
             s_cursor type cursor.
    data: i_crmtext type standard table of TLINE .
      types: begin of xsreph ,
              GUID type CRMD_ORDERADM_H-guid,
            end of xsreph.
       data: i_guid type standard table of xsreph.
      data: I_TEXT type STXH-TDNAME.
      data: xempl like  YCRM_TEXT_STR occurs 0 with header line.
      data: t_tab like dd03l-tabname.
    Select ranges
      ranges: l_r_guid for CRMD_ORDERADM_H-guid.
             l_r_connid  for sflight-connid.
    Initialization mode (first call by SAPI) or data transfer mode
    (following calls) ?
      if i_initflag = sbiwa_c_flag_on.
    Initialization: check input parameters
                    buffer input parameters
                    prepare data selection
    Check DataSource validity
        case i_dsource.
          when 'yCRM_TEXT'.  " for S_SREPH1
          when others.
            if 1 = 2. message e009(r3). endif.
    this is a typical log call. Please write every error message like this
            log_write 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                    i_dsource   "message variable 1
                      ' '.                 "message variable 2
            raise error_passed_to_mess_handler.
        endcase.
       append lines of i_t_select to s_s_if-t_select.
    Fill parameter buffer for data extraction calls
        s_s_if-requnr    = i_requnr.
        s_s_if-dsource = i_dsource.
        s_s_if-maxsize   = i_maxsize.
    Fill field list table for an optimized select statement
    (in case that there is no 1:1 relation between InfoSource fields
    and database table fields this may be far from beeing trivial)
       append lines of i_t_fields to s_s_if-t_fields.
    we will do our selection based on what is in the p table for the
    infoobject
      else.                 "Initialization mode or data extraction ?
    Data transfer: First Call      OPEN CURSOR + FETCH
                   Following Calls FETCH only
    First data package -> OPEN CURSOR
        if s_counter_datapakid = 0.
    Fill range tables BW will only pass down simple selection criteria
    of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
        LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'GUID'.
            MOVE-CORRESPONDING L_S_SELECT TO L_R_GUID.
            APPEND L_R_GUID.
          ENDLOOP.
          case i_dsource.
            when 'YCRM_TEXT'.  " for S_SREPH1
              t_tab = 'CRMD_ORDERADM_H'.
          endcase.
          select GUID
          from (t_tab)
          into table i_guid where   PROCESS_TYPE = 'ZACI'  and ( OBJECT_ID < '0000000042').
         select tdname from stxh into i_text where tdobject = 'TEXT'.
         if sy-subrc ne 0.
           message e009(r3).
    this is a typical log call. Please write every error message like this
           log_write 'E'                  "message type
                     'R3'                 "message class
                     '009'                "message number
                     i_dsource   "message variable 1
                     'No master data found'.           "message variable 2
           raise error_passed_to_mess_handler.
         endif.
    Determine number of database records to be read per FETCH statement
    from input parameter I_MAXSIZE. If there is a one to one relation
    between DataSource table lines and database entries, this is trivial.
    In other cases, it may be impossible and some estimated value has to
    be determined.
         open cursor with hold s_cursor for
         select (s_s_if-t_fields) from CRMD_ORDERADM_H
                                  where GUID in L_R_GUID .
                                   ENDIF.
    Fetch records into interface table.
      named E_T_'Name of extract structure'.
       fetch next cursor s_cursor
                  appending corresponding fields
                  of table e_t_data
                  package size s_s_if-maxsize.
        IF SY-SUBRC <> 0.
         CLOSE CURSOR S_CURSOR.
         RAISE NO_MORE_DATA.
       ENDIF.
    as we are doing this only once can use the select statement.
    ***data: crmtext like tline occurs 0 with header line.
    **data: i_crmtext type standard table of TLINE.
    **data: i_guid type standard table of xsreph.
    data: l_guid type THEAD-TDNAME.
    data: st_guid type xsreph.
    data: st_crmtext type TLINE.
    data: lan type THEAD-TDSPRAS.
    lan = 'E'.
    loop at i_guid into st_guid.
    l_guid = st_guid-guid.
    CALL FUNCTION 'READ_TEXT'
       EXPORTING
       CLIENT                        = SY-MANDT
         ID                            = 'A002'
         LANGUAGE                      = lan
         NAME                          = l_guid
         OBJECT                        = 'CRM_ORDERH'
       ARCHIVE_HANDLE                = 0
       LOCAL_CAT                     = ' '
    IMPORTING
       HEADER                        =
       TABLES
         LINES                         = i_crmtext.
    EXCEPTIONS
       ID                            = 1
       LANGUAGE                      = 2
       NAME                          = 3
       NOT_FOUND                     = 4
       OBJECT                        = 5
       REFERENCE_CHECK               = 6
       WRONG_ACCESS_TO_ARCHIVE       = 7
       OTHERS                        = 8
    e_t_data-guid = l_guid.
    loop at i_crmtext into st_crmtext.
    move lan to e_t_data-langu.
    move st_crmtext-tdline to e_t_data-description.
    append e_t_data.
    endif.
    endloop.
    clear: st_guid,l_guid.
    refresh: i_crmtext.
    endloop.
    S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
    endif.
    ENDFUNCTION.
    please Gurus as I donot know ABAP i appreciate if anyone would write a FM based on requirement and send me that will be really great this is my request. I gurantee of award points for good answers.
    Regards
    Kishore

    Hi,
    The statement <b>RAISE NO_MORE_DATA</b> should be active (uncommented) in your code. Otherwise, the infinte loop occurs.
    See also, the Siggi's blog:
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    BTW, was it your thread here:
    Re: Urgent: problems in extracting Long Text
    Best regards,
    Eugene

  • Extract the new , changed , deleted  vendor  master data -urgent pls

    Hi all,
    I have require ment like i need to extract all new, changed and deleted data from SAP TO MAXIMO
    i need to send to a windows environment which both systems share,
    i am using LFA1 ,CDHDR , CDPOS Tables , i will get the reuired information , can i use gui_download
    to download to windows environment which both system are mapped to a common shared folder.
    i will extract the infrmation and sent to a shared folder.
    this a backround job  schedule daily once.and also i have to sent the file contents to spool also.
    please suggent some code existing or how to do the logic behind.
    shall i use open data set
                    read data set
                    close data set.
    please suggest ways of doing............urgent.
    regards
    kodamanchili

    With regards to the writing out of the data that, you are correct that you should use the Data Set commands if you are attempting to write a file out to the application server.  If you are using any sort of EAI tool then there maybe are other ways specific to the tool for sending data, such as some of the tools utilize RFCs to send the data.
    For the actual identifying of the changed records, it is best not to write delta interfaces directly against the change document tables (CDHDR and CDPOS).  Instead you should be ustilizing change pointers.  Change pointers are transient data stored in the BDCP and BDCPS tables (combiend togehter into view BDCPV) or stored in BDCP2 if configured to use this newer change poitner table for much better performance.
    An instance of a change pointer in the change pointer tables will indicate the record that has changed and point to the changed document in the change document tables that can be referenced to extract more specific information.
    The nice thing about change pointers are:
    - They are transient, at the end of your extract you clear the ones that you've extracted so that the next time you will get the ones that have been pulled since then.
    - You can setup instances of your change pointer object that are specific to an extract program so that two extract programs for similiar or even completly the same data won't itnerfere with each other.
    - The CDHDR and CDPOS tables are great for extracting changes that have occured over time for a specific instance of a buisenss document (ex. Vendor) but do not perform well over time for extracting all changes associated with all instances of a buisness document (ex. All vendors that have had changes since the last run of the program).  Programs that extract directly against CDHDR and CDPOS do perform delta extract functionality are oftern a performance problem as time progresses and the tables grow in size.  If used properly Change Pointers are efficient becuase the tabels can be kept small and are optimized for the extracting of deltas.
    For any tables that log change documents in CDHDR and CDPOS you can configure change pointers to be populated in the BDCP* tables.
    Change pointer configuration:
    - BD61 - Activate change pointers globally within the SAP instance
    - WE81 - Need to create an ALE message type (even if you're not actaully going to connect it to an IDoc)
    - BD50 - Activate change pointer functionality for your message type
    - BD52 - Define the individual change documents, tables and fields that you want to have as part of your tracking
    Your extract program will use two functions:
    - CHANGE_POINTERS_READ - Use this to get a list of all change pointers since the last execution
    - CHANGE_POINTERS_STATUS_WRITE - Use this to mark the change pointers as extracted so that they won't get picked up on the next execution
    Transaction BD22 (Program RBDCPCLR) should be scheduled to run regularily to delete from the change pointer tables the records that have been marked as processesd.
    Note - A common mistake that is made is that the change pointers are read, some filtering is done for specific ones that should be extracted and then only the extracted ones have their change pointer status updated.  It's important to update the status on all of the change pointers because otherwise they'll be picked up again on the next run of the program and will be filtered out again, so over time the number of selected change pointers will keep growing since they will never get purged from the change poitner tables.
    Note that the BDCP and BDCPS tables have a number of performance issues when the selections are done against them due to the way they are joined and the crieteria that is used for selecting.  Becuase of this SAP has implimented a new change pointer table BDCP2 which is a single table as opposed to using a join.  In order to utilize BDCP2:
    - Used SM30 to update V_TBDME.  For your message type turn on the checkbox for BDCP2.
    - Run program RBDCPMIG for your message type, this will migrate existing pointers over to the BDCP2 table.  If you can guarentee that there are no existing pointers then you can use SM30 to update for your message type the target of the pointers as being BDCP2
    ~Ian

  • Date format in Query Extract - Urgent

    Hi,
      I'm using Query-Extract (RSCRM_BAPI) to extract query data and store it in separate location.
    While extracting the data into .csv ot .txt file, date will be displayed as yyyymm (200807). As per the requirement we should display the date in the format mmm-yyyy (Jul-2008).
    Please help me. its very urgent.
    Thanks,
    Varun

    Hi ,
    This issue can be solved by writing a routine in update rules pls take the help of abap experts to solva this
    this is not a big issue for them
    Hope i have guided u properly
    Pls assign me points my boss ??
    Regards ,
    Subash Balakrishnan

  • Urgent issue, Suddenly no data is extracted Once I create new infopack

    Hi,
    I have an urgent issue and need help.
    We were loading data after activating business content. Every thing worked fine and the delta load was also smooth.
    However, in order to start everything afresh, I deleted all the info package, deleted the "Intialization option for the source system" AND then created my infopackage for Full upload with initialize option.
    In this case the extractor didn't find any data. Please see the following log from the monitor "status " Tab.
    "No data available
    Diagnosis
    The data request was a full update.
    In this case, the corresponding table in the source system does not
    contain any data.
    System response
    Info IDoc received with status 8.
    Procedure
    Check the data basis in the source system."
    This is not correct since we were loading data ( full and delta ) successfully before and there are data in the system. This is most probably to do with the delta queue initialization in the source system.
    We were looading data from datassource 0CRM_SALES_ORDER_I.
    Please help, we are really stuck.
    Thanks
    Arunava

    hi Anurava,
    take a look oss note 692195, i think authorization issue
    Activities : 0CRM_SALES_ACT_1
    oss 692195
    Question 2 : On executing transaction RSA3 I get records but I find 0
    records when I load data from BW request.(No Data Available).
    How can I extract data in this case?
    Suggestion 2: First check if there are any entries in the table
    CRMD_ORDER_INDEX.Only if there are entries in this table you can
    extract records.
    If this is not the case then,
    It is possible that the user does not have sufficient
    authorities for extraction of  the relevant objects.
    Additionally, please review and implement the following notes
    615670
    161570
    150315
    618953
    If you are in the release 4.0 then
    To do BW extraction with the user please see that the following
    authorization object exists(display mode is enough):
    CRM_ACT, CRM_OPP, CRM_LEAD, CRM_SAO, CRM_SEO, CRM_CO_SE, CRM_CO_SC
    CRM_CO_SA, CRM_CON_SE, CRM_CMP, CRM_ORD_OP, CRM_ORD_LP, CRM_ORD_PR
    CRM_ORD_OE, CRM_CO_PU, CRM_CO_PD, CRM_ORD_PO
    (all these objects are linked to transaction crmd_order).

  • Urgent!!Extracting Master data's thru Infoset!!

    Hi Experts!!
       I have  0material,material plant ,storage location,vendor,vendor purch organisation,Vendor info record,Pdt info are INFOOBJECTS, pdt channel ODS,vendor profile are ODS.
      they created IS1  with Material,material plant & ODS pdt channel.,Object Pdt info
    IS2 with material,material plant,storage location,vendor,ODS vendor profile,vendor purch organisation,Vendor info record
    IS1 is pushed to MP1 Multi Provider1(same as in IS1 objects)
    IS2 to MP2  MulitProvider2 with (IS2,Material Sales,Warehouse & Routing Master).
    So  now we are getting records from table A & B unique records say 100.But the additional records are not extracted say 10 more missing.hope it is thru equal join or inner join...Could anyone tell me how to find the infoset which JOINS it belongs to??????????/
    Now we need the additional 10 records say overall we need 110 records..Could Anyone suggest how we can solve this ?????Urgent reply ASAP.
    Edited by: SAP BI Learner on Apr 3, 2008 1:38 PM

    Hi
    y do u want me to chk the Data??We have checked & already having this problem that there are some missing records...So we need to do the alternative way as of now situation.
    Can u tell me how to find which join conditions used while building multiprovider??But join conditions r used in infoset,right,hope not in multiprovider...???or suggest ideas how to get those all 110 records irrespective.Pls revert ASAP..

Maybe you are looking for