Extraction using LIS in purchasing

Hi Gurus,
We are using standard datasources to load purcahsing data the datasources include LIS structures also 2LIS_02_S012,2LIS_02_S013.
When we tried to load Initialize for delta it is showing only full update option in Info package level. I checked in RSA2 it shows it is delta enabled. So I did a full upload and then did initialize without data transfer and the delta got enabled in the infopackage.
My problem is, the delta schedule is failing daily. Is the process of enabling delta in BW for LIS wrong or is there any other reason/way to handle the problem.Please also let me know whether there is any replacement for these LIS with LO’s in purchasing
Please help me to solve the issue.
Thanks in advance.
Regards,
Satya

Hi satya --
In Lis Extraction method ..sys generates two different tables for Delta namely  SBIW1XXX and SBIW2XXX and an extractor.this would look after the delta in LIS.
SO kindly check up these tables.this may help you.
regards,
vishwa.

Similar Messages

  • How to extract TEXT for archived Purchase Orders ?

    Hi Friends,
    Can any one tell me how to extract TEXT for archived Purchase Orders ?
    I have used READ_TEXT but that is not fetching texts for archived PO's. Whenever I am trying to fetch data from STXH against archived PO, no value is coming and resulting SY_SUBRC <> 0.
    Any demo code will be highly appreciated.
    Thanks in advance..
    Sivaji

    Hi,
    You can see that table STXH is linked to archiving object MM_EKKO (you can see it in tcode DB15).
    My suggest is that you must get the data. See the demo object BC_SBOOK in tcode AOBJ. You can see the report to reload data. The object is get the data in an internal table. So for report SBOOKR you can see this function module:
    *   get data records from the data container
    *   SBOOK
        CALL FUNCTION 'ARCHIVE_GET_TABLE'
          EXPORTING
            archive_handle        = lv_handle
            record_structure      = 'SBOOK'
            all_records_of_object = 'X'
          TABLES
            table                 = lt_sbook_tmp
          EXCEPTIONS
            end_of_object         = 0.         "not entries of this type
    *   check lt_sbook_tmp entries against selections. Delete not
    *   requested entries
        LOOP AT lt_sbook_tmp ASSIGNING <ls_sbook>
                             WHERE carrid IN s_carrid
                               AND connid IN s_connid
                               AND fldate IN s_fldate.
          APPEND <ls_sbook> TO lt_sbook.
        ENDLOOP.
        REFRESH lt_sbook_tmp.
    The idea is that you get the same data that you handle in READ_TEXT (because you don't have the data in database) and recovery the text.
    I hope this helps you
    REgards
    Eduardo

  • Cannot start family sharing: Apple id is already used for shared purchases

    I'm trying to set-up family sharing on multiple devices, but I'm informed that my mac.com address is "already used for shared purchases" and "accounts can only be part of one Family at a time" with a dialogue box of "OK". We are only one family, and all devices were recently under my iTunes/Apple account. How do I change that so that I can set up family sharing? I have an 11 year old itching for her own phone and want to be able to share, but also to manually approve purchases (which I think is the point of family sharing, especially with someone under 13.)

    I FIGURED THIS ONE OUT!!!  What happened was initially I had set up a Family Sharing account under my wife's old iCloud login (old email address) .  I had set her up as the administrator of the account.  We used MY credit card info to handle any purchases made.
    Some time later we decided to share MY iCloud account rather than having separate accounts (thus, same email for iCloud login).  While switching her out of her old iCloud login over to sharing my login, it never crossed my mind that I had used her old iCloud login to set up Family Sharing.  Since her old iCloud login was set up as the administrator of the account, all I had to do was sign into iCloud with her old email address and password that she had used before.  Once logged in, I went to Family Sharing and chose an option to stop Family Sharing.  As soon as I did that, I re-logged in with the new shared iCloud account and was able to immediately set up Family Sharing.  Phew!!!
    Hope this helps

  • I have a dollar amount balance on my itunes account... can i use this to purchase apps for my MacBook Pro?

    I have a dollar amount balance on my itunes account... can i use this to purchase apps for my MacBook Pro?

    You should be able to.  As long as you are signed in to the same AppleID that has an available balance.  The services are linked.

  • HT204053 Enter the Apple ID you want to use for iCloud in Control Panel Network Internet iCloud.  Enter the Apple ID you want to use for store purchases (including iTunes in the Cloud and iTunes Match) in iTunes iTunes Store.

    Enter the Apple ID you want to use for iCloud in Control Panel > Network > Internet > iCloud. 
    Enter the Apple ID you want to use for store purchases (including iTunes in the Cloud and iTunes Match) in iTunes > iTunes Store.

    Welcome to the Apple community.
    iTunes and iCloud and different accounts, you will need to delete both accounts from your device before adding the new details in their place.
    For iCloud go to settings > iCloud, scroll down and hit the delete button. You can then sign back in using your correct details. For iTunes go to settings >store, tap your account ID and then sign out, you can then sign back in using your correct Apple ID.

  • I am a serviceman deployed to East Africa, and I bought an itunes gift card but cannot use it to purchase anything because itunes sends me to the billing page for a credit card but I only want to use the gift card, how do I get pass that?

    Hello, deployed an want to use an itunes gift card after I put in the number to use it and purchase music itunes continues to take me back to the credit card billing page. I only want to use the gift card, how to I get pass the credit card billing page. Also as soon attempt to put in my new credit card number it immediately times out can this be associated to where I'm located?

    Go to your account on your computer and set the credit card to none. This will allow you to use the gift card.

  • My app. not showing on App Store anymore after using In-App purchase

    It's more than a week that my app is not showing in it's category, after Apple released the new version, in the new version I used In-App purchase and both In-App purchase and the new version of the app are approved by Apple but they never showed up in their category since.
    It seems it's happening to the new one which was approved yesterday and is disappeared from it's category under new releases section ( posted date was correct the same day it was approved )
    Does any body else has this issue ?

    after Apple released the new version
    Also know as an 'update'...
    Looks like Apple has quietly changed the process where updated apps could be dated the day they were approved (more recent than the original release data) and show up at the top of the recently released apps all over again.
    Updated apps will not appear at the top of the recently released list any longer, it seems.
    If you search on your app by name, etc., it should still be there. If it is gone completely, use one of these email contacts...
    Application Questions:
    For general questions about applications or application requirements, contact:
    [email protected]
    Legal Questions:
    For legal or contractual questions, contact:
    [email protected]
    Financial Reports (Monthly), Tax & Banking Questions:
    [email protected]
    new vendor setup, name changes, change of address
    [email protected]
    bank questions such as routing numbers, zengin codes, swift codes, etc.
    bank account changes
    [email protected]
    submitting tax forms (W8, W9, Japan tax forms, etc.) year end tax questions re: 1042s (1099s go to A/P dept)
    anything that says "tax" or "IRS"
    [email protected]
    missing payments, can't reconcile reports to payments, European Invoices
    Sales and Trend Reports (Weekly and Daily):
    For questions about weekly and daily reports contact:
    [email protected]

  • I am trying to use songs I purchased from iTunes in my video using Windows Movie Maker.   Can anyone tell me how to do that?

    I am trying to use songs I purchased from iTunes, from my library if you will, in my video (slideshow) using Windows Movie Maker.
    Does anyone know if that is possible to do?   If so, would you please tell me how to do that? 

    Hello, a1p2r3. 
    Thank you for visiting Apple Support Communities. 
    There are a couple options available to you to transfer purchased media to your computer.  Below, I have included a couple articles that outline this process.
    iTunes Store: Transferring purchases from your iOS device or iPod to a computer
    http://support.apple.com/kb/ht1848
    Please note that this feature works only for items that were purchased on the iTunes Store. Any items imported from audio CDs or acquired from other sources will not copy from your iPod to the iTunes library.
    Download past purchases
    http://support.apple.com/kb/ht2519
    Cheers,
    Jason H.

  • Using my iphone purchased from japan in the united states

    I am US Millitary stationed in japan and would like to know what i have to do to use my Iphone in the states?

    Sell your iPhone in Japan and buy a new one when you get to the US.
    All iPhones sold in Japan are locked to the selling carrier and none of
    the carriers offer unlocking. You will not be able to use an iPhone purchased
    in Japan when you get to the US.
    Thank you for your service.

  • Getting errors when iam using  BAPI_PO_CREATE1 for Purchase Order creation

    Hi sap Gurus,
      I am getting Errors when iam using  BAPI_PO_CREATE1 for Purchase Order creation that Material (144) does not exist but it is alreardy maintained in MM01.
    I dont get how it is coming.and what are the mandatory fields in bapi BAPI_PO_CREATE1 in item level .that is too material only.
    pls let me know .
    thanks in advance.

    Hi,
    Check the sample code..
    report  zpo_test             .
    *DATA DECLARATION
    constants : c_x value 'X'.
    *Structures to hold PO header data
    data : header like bapimepoheader ,
    headerx like bapimepoheaderx .
    *Structures to hold PO account data
    data : account like bapimepoaccount occurs 0 with header line ,
    accountx like bapimepoaccountx occurs 0 with header line .
    *Internal Tables to hold PO ITEM DATA
    data : item like bapimepoitem occurs 0 with header line,
    itemx like bapimepoitemx occurs 0 with header line,
    *Internal table to hold messages from BAPI call
    return like bapiret2 occurs 0 with header line,
    *Internal table to hold messages from BAPI call
    pocontractlimits like bapiesucc occurs 0 with header line.
    data : w_header(40) value 'PO Header',
    purchaseorder like bapimepoheader-po_number,
    delivery_date like bapimeposchedule-delivery_date.
    data : ws_langu like sy-langu.
    *text-001 = 'PO Header' - define as text element
    selection-screen begin of block b1 with frame title text-001.
    parameters : company like header-comp_code default '122' ,
    doctyp like header-doc_type default 'NB' ,
    cdate like header-creat_date default sy-datum ,
    vendor like header-vendor default '2000000012' ,
    pur_org like header-purch_org default 'PU01' ,
    pur_grp like header-pur_group default '005' .
    *sociedad like HEADER-COMP_CODE default '122' ,
    *vendedor like HEADER-SALES_PERS default 'sale person'.
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-002.
    parameters : item_num like item-po_item default '00010',
    material like item-material default '12000000' ,
    tipo_imp like item-acctasscat default 'K' ,
    *pos_doc like ITEM-ITEM_CAT default 'F' ,
    shorttxt like item-short_text default 'PRUEBA BAPI' ,
    grup_art like item-matl_group default '817230000' ,
    plant like item-plant default '3001' ,
    mpe like item-trackingno default '9999' ,
    *contrato like ITEM-AGREEMENT default '4904000003' ,
    *quantity like ITEM-QUANTITY default 1 .
    po_unit like item-po_unit default 'EA'.
    selection-screen end of block b2.
    Par?mnetros de imputaci?n
    selection-screen begin of block b3 with frame title text-004.
    parameters : centro like account-costcenter default '1220813150',
    cuenta like account-gl_account default '6631400' ,
    num_pos like account-po_item default '10' ,
    serial like account-serial_no default '01' ,
    ind_imp like account-tax_code default 'I2' .
    selection-screen end of block b3.
    start-of-selection.
    *DATA POPULATION
      ws_langu = sy-langu. "Language variable
    *POPULATE HEADER DATA FOR PO
    *HEADER-COMP_CODE = sociedad .
      header-doc_type = doctyp .
      header-vendor = vendor .
      header-creat_date = cdate .
      header-created_by = 'TD17191' .
      header-purch_org = pur_org .
      header-pur_group = pur_grp .
      header-comp_code = company .
      header-langu = ws_langu .
    *HEADER-SALES_PERS = vendedor .
    *HEADER-CURRENCY = 'DOP' .
    *HEADER-ITEM_INTVL = 10 .
    *HEADER-PMNTTRMS = 'N30' .
    *HEADER-EXCH_RATE = 1 .
    *POPULATE HEADER FLAG.
      headerx-comp_code = c_x.
      headerx-doc_type = c_x.
      headerx-vendor = c_x.
      headerx-creat_date = c_x.
      headerx-created_by = c_x.
      headerx-purch_org = c_x.
      headerx-pur_group = c_x.
      headerx-langu = c_x.
    *HEADERX-sales_pers = c_x.
    *HEADERX-CURRENCY = c_x.
    *HEADER-ITEM_INTVL = c_x.
    *HEADER-PMNTTRMS = c_x.
    *HEADER-EXCH_RATE = c_x.
    *HEADER-EXCH_RATE = c_x.
    *POPULATE ITEM DATA.
      item-po_item = item_num.
      item-quantity = '1'.
    *ITEM-MATERIAL = material .
      item-short_text = 'prueba bapi_po_create1'.
    *ITEM-TAX_CODE = ''.
      item-acctasscat = 'K' .
    *ITEM-ITEM_CAT = 'D' .
      item-matl_group = '817230000' .
      item-plant = '3001' .
      item-trackingno = '99999'.
      item-preq_name = 'test'.
    *ITEM-AGREEMENT = '' .
    *ITEM-AGMT_ITEM = ''.
      item-quantity = '1' .
      item-po_unit = 'EA'.
    *ITEM-ORDERPR_UN = 'EA'.
      item-conv_num1 = '1'.
      item-conv_den1 = '1'.
      item-net_price = '1000000' .
      item-price_unit = '1'.
      item-gr_pr_time = '0'.
      item-prnt_price = 'X'.
      item-unlimited_dlv = 'X'.
      item-gr_ind = 'X' .
      item-ir_ind = 'X' .
      item-gr_basediv = 'X'.
    *ITEM-PCKG_NO = '' .
      append item. clear item.
    *POPULATE ITEM FLAG TABLE
      itemx-po_item = item_num.
      itemx-po_itemx = c_x.
    *ITEMX-MATERIAL = C_X.
      itemx-short_text = c_x.
      itemx-quantity = c_x.
    *ITEMX-TAX_CODE = C_X.
      itemx-acctasscat = c_x.
    *ITEMX-ITEM_CAT = c_x.
      itemx-matl_group = c_x.
      itemx-plant = c_x.
      itemx-trackingno = c_x.
      itemx-preq_name = c_x.
    *ITEMX-AGREEMENT = C_X.
    *ITEMX-AGMT_ITEM = c_x.
      itemx-stge_loc = c_x.
      itemx-quantity = c_x.
      itemx-po_unit = c_x.
    *ITEMX-ORDERPR_UN = C_X.
      itemx-conv_num1 = c_x.
      itemx-conv_den1 = c_x.
      itemx-net_price = c_x.
      itemx-price_unit = c_x.
      itemx-gr_pr_time = c_x.
      itemx-prnt_price = c_x.
      itemx-unlimited_dlv = c_x.
      itemx-gr_ind = c_x .
      itemx-ir_ind = c_x .
      itemx-gr_basediv = c_x .
      append itemx. clear itemx.
    *POPULATE ACCOUNT DATA.
      account-po_item = item_num.
      account-serial_no = serial .
      account-creat_date = sy-datum .
      account-costcenter = centro .
      account-gl_account = cuenta .
      account-gr_rcpt = 'tester'.
      append account. clear account.
    *POPULATE ACCOUNT FLAG TABLE.
      accountx-po_item = item_num .
      accountx-po_itemx = c_x .
      accountx-serial_no = serial .
      accountx-serial_nox = c_x .
      accountx-creat_date = c_x .
      accountx-costcenter = c_x .
      accountx-gl_account = c_x .
      account-gr_rcpt = c_x.
      append accountx. clear accountx.
    *BAPI CALL
      call function 'DIALOG_SET_NO_DIALOG'.
      call function 'BAPI_PO_CREATE1'
        exporting
          poheader         = header
          poheaderx        = headerx
        importing
          exppurchaseorder = purchaseorder
        tables
          return           = return
          poitem           = item
          poitemx          = itemx
          poaccount        = account
          poaccountx       = accountx.
    *Confirm the document creation by calling database COMMIT
      call function 'BAPI_TRANSACTION_COMMIT'
      exporting
      wait = 'X'
    IMPORTING
    RETURN =
    end-of-selection.
    *Output the messages returned from BAPI call
      loop at return.
        write / return-message.
      endloop.
    Regards
    Sudheer

  • How to restrict a vendor to be used only for purchasing selected materials?

    A source list and purchasing info records allow us to restrict the source of supply (vendors) for the selected material masters / material groups. However, my task is the opposite: I need to restrict the material masters / material groups that can be procured from a particular vendor. E.g. Vendor 12345 can only be used for raising purchase orders for Material A and Material B. No other materials should be allowed in POs for that vendor. Is there a way in standard SAP to do this?

    Sorry for not properly understanding your requirement. Now one option comes to mind which you may explore. Create an Outline Agreement for a material group with Item category W and here enter the materials group from some materials which you do not want to be purchased from this vendor .But these materials must belong to the material group for which the contract is created .Than creat Source list on these items of the contract through the Item Overview screen of the contract & check the exclusion Indicator  . This will block these materials from being procured refering this contract . Also go through the documentation on "Maintaining a Source List for an Outline Agreement Item with a Material Group" .
    Dhruba
    Edited by: Dhruba Charan Behera on Jul 13, 2011 3:07 PM

  • Code For Delta Extraction Using Function Module

    Dear Experts,
    I want a sample code for Delta Extraction using Function Module ( If it is customized already working code very helpful ), I have already created Function Module but Full update is happening. If I give delta update again it is retrieving all records. It is very urgent, if you have please send me to the following mail ID.
    [email protected]
    Best Regards,
    SGK.

    Dear KJ,
    Thank for your response. I saw the code that you sent, you have used some ztables like ZSC_DELTA_IP, ZSC_SAFETY_DELTA, ZSC_SET_EXT_TIME
    What are the fields that you have created in these tables , what is use of these tables, can you send the fields that you have used in these tables.
    Thanks & Regards,
    SGK

  • I am receiving bills from my carrier with very high data usage. I read books from apple store. Do ibooks use gb once purchased?

    I am receiving bills from my carrier with very high data usage. I read books from apple store. Do ibooks use gb once purchased?

    To reduce data usage, you should put iPad on Aeroplane Mode to stop all background activities when not using iPad.
    Message was edited by: Diavonex

  • Can apple tv be used to play purchased movies without broadband via airplay

    can apple tv be used to play purchased movies from a ipad without broadband via airplay

    The only times I've tried - on holiday/vacation with no broadband - this has failed because Airplay of protected content requires a brief authorisation connection to Apple's servers.
    Conversely an ipad hooked up to a TV using the HDMI adapter works without internet for media stored on it as does a Mac computer running iTunes eg MacMini with HDMI out.
    AC

  • IS-U enhancing transaction FPBW (open items extraction using table DFKKOPBW

    Has anybody experiances with IS-U Accounts Receivable & payable - 'Open Items' extraction using transaction FPBW
    (which fill the table DFKKOPBW).
    1. I need to fill an custom included structure in this table (DFKKOPBW) and I am searching for the correct time (for performance reasons) & place in the (SAP) source (in the program flow) to do this.
    2. Anybody any clues on Custum/user exits in this part?
    See also function group FKKOPBW.
    Jos Reithofer

    Try this code that can search a user exit in a transaction. I got it from previous post in this forum.
    *& Report  Y_SEARCH_USEREXIT                                           *
    REPORT y_search_userexit LINE-SIZE 140 NO STANDARD PAGE HEADING.
    CONSTANTS
    *CONSTANTS: c_user_exit(22) TYPE c VALUE 'CALL CUSTOMER-FUNCTION',
    constants: c_badi(30) type c value 'CALL METHOD CL_EXITHANDLER=>',
               c_funcao_1(13) TYPE c VALUE 'CALLFUNCTION''',
               c_funcao_2(13) TYPE c VALUE 'CALL FUNCTION',
               c_include(07) TYPE c VALUE 'INCLUDE',
               c_submit(06) TYPE c VALUE 'SUBMIT',
               c_comentario TYPE c VALUE '*',
               c_ponto TYPE c VALUE '.',
               c_aspa TYPE c VALUE '''',
               c_x TYPE c VALUE 'X'.
    TABELAS INTERNAS
    DATA: BEGIN OF ti_programa OCCURS 0,
    codigo_fonte(200) type c, " LIKE rssource-line,
    END OF ti_programa.
    DATA: BEGIN OF ti_includes OCCURS 0,
    nome LIKE sy-repid,
    nivel(2) TYPE n,
    END OF ti_includes.
    DATA: BEGIN OF ti_user_exit OCCURS 0,
    programa LIKE sy-repid,
    linha(10) TYPE n,
    codigo_fonte LIKE rssource-line,
    nivel(2) TYPE n,
    END OF ti_user_exit.
    VARIÁVEIS GLOBAIS
    DATA: vg_caracter TYPE c,
    vg_palavra(50) TYPE c,
    vg_inicial LIKE sy-index,
    vg_conta_aspa TYPE n,
    vg_pname LIKE tfdir-pname,
    vg_texto(50) TYPE c,
    vg_contador LIKE sy-tfill,
    vg_nivel(2) TYPE n,
    vg_ini_contagem TYPE c, " INDICA QUE DEVE SER INICIADA A CONTAGEM
    vg_conta_espaco TYPE n. " TOTAL DE ESPAÇOS ( MÁXIMO 2 )
    PARAMETERS
    *- DADOS OBRIGATÓRIOS.
    SELECTION-SCREEN BEGIN OF BLOCK bl01 WITH FRAME TITLE tl_001 .
    selection-screen begin of line.
    selection-screen comment 1(25) tl_003.
    PARAMETERS: p_prog LIKE sy-repid.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(25) tl_004.
    parameters: p_tcode LIKE sy-tcode.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(25) tl_009.
    parameters: p_exit(30) TYPE c default 'CALL CUSTOMER-FUNCTION'.
    selection-screen end of line.
    SELECTION-SCREEN END OF BLOCK bl01.
    *- DADOS OPCIONAIS.
    SELECTION-SCREEN BEGIN OF BLOCK bl02 WITH FRAME TITLE tl_002.
    selection-screen begin of line.
    PARAMETERS: p_incl TYPE c AS CHECKBOX.
    selection-screen comment 4(25) tl_005.
    selection-screen end of line.
    selection-screen begin of line.
    parameters: p_func TYPE c AS CHECKBOX.
    selection-screen comment 4(25) tl_006.
    selection-screen end of line.
    selection-screen begin of line.
    parameters: p_submit TYPE c AS CHECKBOX.
    selection-screen comment 4(25) tl_007.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(25) tl_008.
    parameters: p_nivel(2) TYPE n.
    selection-screen end of line.
    SELECTION-SCREEN END OF BLOCK bl02.
    initialization.
      tl_001 = 'Program Selection'.
      tl_002 = 'Search Depth'.
      tl_003 = 'Program Name'.
      tl_004 = 'Transaction Code'.
      tl_005 = 'Process INCLUDEs'.
      tl_006 = 'Process FUNCTION MODULEs'.
      tl_007 = 'Process SUBMITs'.
      tl_008 = 'Depth level'.
      tl_009 = 'Search string'.
    INÍCIO
    START-OF-SELECTION.
    *- CONSISTÊNCIAS DOS PARÂMETROS.
      PERFORM consisti_parametros.
    *- INICIALIZA TABELA.
      PERFORM inicializa_tabela.
    *- VERIFICA SE NO PROGRAMA EXISTE ALGUM INCLUDE,FUNÇÃO OU SUBMIT.
      PERFORM verifica_include_funcao_submit.
    *- ANALISA OS INCLUDES E PROCURA POR USER EXIT.
      PERFORM procura_user_exit.
    *- EXIBE TODAS USER EXIT ENCONTRADAS.
      PERFORM exibe_user_exit.
    FIM
    END-OF-SELECTION.
    *& Form PROCURA_USER_EXIT
    text
    --> p1 text
    <-- p2 text
    FORM procura_user_exit.
    *- VERIFICA SE NOS INCLUDES SELECIONADOS EXISTEM USER EXITS.
      LOOP AT ti_includes.
    *- ESVAZIA TABELA INTERNA.
        REFRESH ti_programa.
    *- REALIZA LEITURA DO INCLUDE ARMAZENANDO-O EM TABELA INTERNA
        READ REPORT ti_includes-nome INTO ti_programa.
        LOOP AT ti_programa.
    *- VERIFICA SE NA LINHA DO PROGRAMA EXISTE ALGUM INCLUDE.
          SEARCH ti_programa-codigo_fonte FOR p_exit.
    *- SE ENCONTROU INCLUDE E SE A LINHA NÃO ESTÁ COMENTADA...
          IF sy-subrc EQ 0
          AND ti_programa-codigo_fonte+0(1) NE c_comentario.
            CLEAR ti_user_exit.
    *- REMOVE ESPAÇOS NO INÍCIO DA STRING.
            SHIFT ti_programa-codigo_fonte LEFT DELETING LEADING space.
            MOVE: ti_includes-nome TO ti_user_exit-programa,
            sy-tabix TO ti_user_exit-linha,
            ti_programa-codigo_fonte TO ti_user_exit-codigo_fonte,
            ti_includes-nivel TO ti_user_exit-nivel.
            APPEND ti_user_exit.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    ENDFORM. " PROCURA_USER_EXIT
    *& Form EXIBE_USER_EXIT
    text
    --> p1 text
    <-- p2 text
    FORM exibe_user_exit.
      PERFORM cabecalho.
      PERFORM user_exit_nao_encontrada.
      PERFORM lista_user_exit_encontrada.
      PERFORM rodape.
    ENDFORM. " EXIBE_USER_EXIT
    *& Form PROCURA_INCLUDE
    text
    --> p1 text
    <-- p2 text
    FORM procura_include.
      CLEAR vg_palavra.
    *- VERIFICA SE NA LINHA DO PROGRAMA EXISTE ALGUM INCLUDE.
      SEARCH ti_programa-codigo_fonte FOR c_include.
    *- SE ENCONTROU INCLUDE E SE A LINHA NÃO ESTÁ COMENTADA...
      IF sy-subrc EQ 0
      AND ti_programa-codigo_fonte+0(1) NE c_comentario.
    *- VERIFICA TODOS OS 72
        DO 72 TIMES.
          vg_inicial = sy-index - 1.
          MOVE ti_programa-codigo_fonte+vg_inicial(1) TO vg_caracter.
          IF NOT vg_caracter IS INITIAL.
    *- VERIFICA SE NÃO É FIM DO COMANDO.
            IF vg_caracter EQ c_ponto.
              EXIT.
            ENDIF.
    *- MONTA PALAVRA.
            CONCATENATE vg_palavra vg_caracter INTO vg_palavra.
    *- CONVERTE PARA MAÍUSCULA PARA FUTURA COMPARAÇÃO.
            TRANSLATE vg_palavra TO UPPER CASE.
    *- SE ENCONTROU ALGUM INCLUDE
            IF vg_palavra EQ c_include.
              CLEAR vg_palavra.
            ENDIF.
          ENDIF.
        ENDDO.
    *- SALVA NOME DO INCLUDE P
        READ TABLE ti_includes WITH KEY nome = vg_palavra.
        IF NOT sy-subrc IS INITIAL.
          IF vg_nivel LE p_nivel.
            MOVE: vg_palavra TO ti_includes-nome,
            vg_nivel TO ti_includes-nivel.
            APPEND ti_includes.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM. " PROCURA_INCLUDE
    *& Form PROCURA_FUNCAO
    text
    --> p1 text
    <-- p2 text
    FORM procura_funcao.
      CLEAR: vg_conta_aspa,
      vg_palavra.
    *- VERIFICA SE NA LINHA DO PROGRAMA EXISTE ALGUM INCLUDE.
      SEARCH ti_programa-codigo_fonte FOR c_funcao_2.
    *- SE ENCONTROU INCLUDE E SE A LINHA NÃO ESTÁ COMENTADA...
      IF sy-subrc EQ 0
      AND ti_programa-codigo_fonte+0(1) NE c_comentario.
    *- VERIFICA TODOS OS 72
        DO 72 TIMES.
          vg_inicial = sy-index - 1.
          MOVE ti_programa-codigo_fonte+vg_inicial(1)
          TO vg_caracter.
          IF NOT vg_caracter IS INITIAL.
    *- VERIFICA SE NÃO É FIM DO COMANDO.
            IF vg_caracter EQ c_aspa.
              ADD 1 TO vg_conta_aspa.
              IF vg_conta_aspa EQ 2.
                EXIT.
              ENDIF.
            ENDIF.
    *- MONTA PALAVRA.
            CONCATENATE vg_palavra vg_caracter INTO vg_palavra.
    *- CONVERTE PARA MAÍUSCULA PARA FUTURA COMPARAÇÃO.
            TRANSLATE vg_palavra TO UPPER CASE.
    *- SE ENCONTROU ALGUM INCLUDE
            IF vg_palavra EQ c_funcao_1.
              CLEAR vg_palavra.
            ENDIF.
          ENDIF.
        ENDDO.
    *- PESQUISA NOME DA FUNÇÃO PARA FUTURA PESQUISA POR USER EXIT.
        CLEAR vg_pname.
        SELECT SINGLE pname
        INTO vg_pname
        FROM tfdir
        WHERE funcname EQ vg_palavra.
        IF sy-subrc EQ 0.
          READ TABLE ti_includes WITH KEY nome = vg_pname.
          IF NOT sy-subrc IS INITIAL.
            IF vg_nivel LE p_nivel.
              MOVE: vg_pname TO ti_includes-nome,
              vg_nivel TO ti_includes-nivel.
              APPEND ti_includes.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM. " PROCURA_FUNCAO
    *& Form VERIFICA_INCLUDE_FUNCAO_SUBMIT
    text
    --> p1 text
    <-- p2 text
    FORM verifica_include_funcao_submit.
      LOOP AT ti_includes.
        ADD 1 TO vg_contador.
        DESCRIBE TABLE ti_includes.
        PERFORM evitar_time_out USING sy-tfill.
        MOVE ti_includes-nivel TO vg_nivel.
        ADD 1 TO vg_nivel.
    *- ESVAZIA TABELA INTERNA.
        REFRESH ti_programa.
        READ REPORT ti_includes-nome INTO ti_programa.
        LOOP AT ti_programa.
    *- PROCURA POR INCLUDES.
          IF p_incl EQ c_x.
            PERFORM procura_include.
          ENDIF.
    *- PROCURA POR FUNÇÃO.
          IF p_func EQ c_x.
            PERFORM procura_funcao.
          ENDIF.
    *- PROCURA POR SUBMIT.
          IF p_submit EQ c_x.
            PERFORM procura_submit.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    ENDFORM. " VERIFICA_INCLUDE_FUNCAO_SUBMIT
    *& Form EVITAR_TIME_OUT
    text
    -->P_SY_TFILL text
    -->P_SY_SUBRC text
    FORM evitar_time_out USING p_sy_tfill.
      DATA: vl_total(10) TYPE n,
      vl_atual(10) TYPE n.
      MOVE: p_sy_tfill TO vl_total,
      vg_contador TO vl_atual.
      CONCATENATE 'Total:' vl_total '-' 'Atual:' vl_atual
      INTO vg_texto
      SEPARATED BY space.
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
        EXPORTING
          text = vg_texto.
    ENDFORM. " EVITAR_TIME_OUT
    *& Form PROCURA_SUBMIT
    text
    --> p1 text
    <-- p2 text
    FORM procura_submit.
      CLEAR: vg_conta_espaco, vg_palavra, vg_ini_contagem.
    *- VERIFICA SE NA LINHA DO PROGRAMA EXISTE ALGUM INCLUDE.
      SEARCH ti_programa-codigo_fonte FOR c_submit.
    *- SE ENCONTROU INCLUDE E SE A LINHA NÃO ESTÁ COMENTADA...
      IF sy-subrc EQ 0
      AND ti_programa-codigo_fonte+0(1) NE c_comentario.
    *- VERIFICA TODOS OS 7
        DO 72 TIMES.
          vg_inicial = sy-index - 1.
          MOVE ti_programa-codigo_fonte+vg_inicial(1) TO vg_caracter.
          IF vg_ini_contagem EQ c_x AND vg_caracter IS INITIAL.
            ADD 1 TO vg_conta_espaco.
          ENDIF.
          IF NOT vg_caracter IS INITIAL.
            MOVE c_x TO vg_ini_contagem.
            IF vg_caracter EQ c_ponto.
              EXIT.
            ENDIF.
    *- MONTA PALAVRA.
            IF vg_conta_espaco LT 2.
              CONCATENATE vg_palavra vg_caracter INTO vg_palavra.
    *- CONVERTE PARA MAÍUSCULA PARA FUTURA COMPARAÇÃO.
              TRANSLATE vg_palavra TO UPPER CASE.
    *- SE ENCONTROU ALGUM INCLUDE
              IF vg_palavra EQ c_submit.
                CLEAR vg_palavra.
              ENDIF.
            ELSE.
              EXIT.
            ENDIF.
          ENDIF.
        ENDDO.
    *- PESQUISA NOME DA FUNÇÃO
        READ TABLE ti_includes WITH KEY nome = vg_palavra.
        IF NOT sy-subrc IS INITIAL.
          IF vg_nivel LE p_nivel.
            MOVE: vg_palavra TO ti_includes-nome,
            vg_nivel TO ti_includes-nivel.
            APPEND ti_includes.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM. " PROCURA_SUBMIT
    *& Form CONSISTI_PARAMETROS
    text
    --> p1 text
    <-- p2 text
    FORM consisti_parametros.
      IF p_nivel IS INITIAL.
        MOVE 1 TO p_nivel.
      ENDIF.
      IF p_prog IS INITIAL AND p_tcode IS INITIAL.
    *- NOME DO PROGRAMA E NOM
    *- DEVE SER INFORMADO.
        MESSAGE ID 'ZF' TYPE 'I' NUMBER '000' WITH text-003.
        STOP.
      ENDIF.
      IF NOT p_prog IS INITIAL AND NOT p_tcode IS INITIAL.
    *- SOLICITA AO U
        MESSAGE ID 'ZF' TYPE 'I' NUMBER '000' WITH text-004.
        STOP.
      ENDIF.
    ENDFORM. " CONSISTI_PARAMETROS
    *& Form INICIALIZA_TABELA
    text
    --> p1 text
    <-- p2 text
    FORM inicializa_tabela.
      DATA vl_pgmna LIKE tstc-pgmna.
      REFRESH ti_includes.
      IF NOT p_prog IS INITIAL.
        MOVE: p_prog TO ti_includes-nome,
        '0' TO ti_includes-nivel.
        APPEND ti_includes.
      ELSEIF NOT p_tcode IS INITIAL.
        SELECT SINGLE pgmna
        FROM tstc
        INTO vl_pgmna
        WHERE tcode EQ p_tcode.
        IF sy-subrc EQ 0.
          MOVE: vl_pgmna TO ti_includes-nome,
          '0' TO ti_includes-nivel.
          APPEND ti_includes.
        ENDIF.
      ENDIF.
    ENDFORM. " INICIALIZA_TABELA
    *& Form CABECALHO
    text
    --> p1 text
    <-- p2 text
    FORM cabecalho.
      DATA vl_complemento(50) TYPE c.
      IF p_tcode IS INITIAL.
        CONCATENATE '(Program)' p_prog
        into vl_complemento
        SEPARATED BY space.
      ELSE.
        CONCATENATE '(Transaction)' p_tcode
        INTO vl_complemento
        SEPARATED BY space.
      ENDIF.
      FORMAT COLOR COL_KEY.
      WRITE: /001 sy-uline,
      /001 sy-vline,
      040 'User Exits in a Program',
      vl_complemento,
      140 sy-vline,
      /001 sy-uline.
      WRITE: /001 sy-vline,
      003 'Program Name',
      044 sy-vline,
      046 'Level',
      052 sy-vline,
      054 'Lineno',
      065 sy-vline,
      067 'UserExit',
      140 sy-vline,
      /001 sy-uline.
    ENDFORM. " CABECALHO
    *& Form USER_EXIT_NAO_ENCONTRADA
    text
    --> p1 text
    <-- p2 text
    FORM user_exit_nao_encontrada.
      DESCRIBE TABLE ti_user_exit.
      CHECK sy-tfill IS INITIAL.
      FORMAT COLOR COL_NORMAL INTENSIFIED ON.
      WRITE: /003 'Userexit does not exist',
      139 ' '.
      FORMAT RESET.
    ENDFORM. " USER_EXIT_NAO_ENCONTRADA
    *& Form LISTA_USER_EXIT_ENCONTRADA
    text
    --> p1 text
    <-- p2 text
    FORM lista_user_exit_encontrada.
      DATA vl_cor TYPE c.
      LOOP AT ti_user_exit.
        IF vl_cor EQ c_x.
          CLEAR vl_cor.
        ELSE.
          MOVE c_x TO vl_cor.
        ENDIF.
    *- AJUSTA COR NA TELA.
        IF vl_cor EQ c_x.
          FORMAT COLOR COL_NORMAL INTENSIFIED ON.
        ELSE.
          FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        ENDIF.
    *- INÍCIO DA IMPRESSÃO.
        WRITE: /003 ti_user_exit-programa,
        046 ti_user_exit-nivel,
        054 ti_user_exit-linha,
        067 ti_user_exit-codigo_fonte,
        139 ' '.
      ENDLOOP.
    ENDFORM. " LISTA_USER_EXIT_ENCONTRADA
    *& Form RODAPE
    text
    --> p1 text
    <-- p2 text
    FORM rodape.
      DESCRIBE TABLE ti_includes.
      FORMAT COLOR COL_TOTAL.
      WRITE: /001 sy-uline,
      /001 sy-vline,
      003 'Total include searched:', sy-tfill,
      ' - with level:', p_nivel,
      140 sy-vline,
      /001 sy-uline.
    ENDFORM. " RODAPE

Maybe you are looking for

  • Send major mail for items in a list

    Hi, I have a task list and would like to send for each person who is responsible one email that contain details about all the tasks that the person is responsible on. Any ideas ? where should I start ?

  • How to represent a tree (like file system dirs) in object?

    I am parsing a dynamic set of nodes at runtime. The nodes below a "known" node are all dynamic, in that they can be any number of nodes at any number of depth. I am basically doing what DOM does, in that I want to take these nodes below the "known" n

  • ABAP Function Module generator

    Hi, I wonder if there is a ABAP Function Module generator for inbound and outbound adapter data. Can I generate a function module in XI to trigger a adapter. regards, Richard

  • Upgrade of database in Dataguard Configuration

    Hi, I have few doubts regarding upgrading of database in in a dataguard configuration. Could someone please help me out. - How does upgrade happen in dataguard configuration? - Is that we have to install only different OH in both? And once the catupg

  • How should i set the baseURI when a db file path with a space

    if the db file in a path like c:\program file\myapplication,then i set the baseURI dbxml:c:\program file\myapplication ,some exception occur~what should i do ? thanks a lot