Use of ERP Infoset inside ABAP program

Hello experts,
I created a quite complex InfoSet which is supposed to extract business relevant information from FI tables (above all BSID and BSAD) and provide them to users as a mean to interpret data. I'd like to use those data in a custom ABAP program with an extended logic, but I'm not sure how to use it inside my code.
The final result should be to send daily updates on BSAD activities to BI system, and given that BSAD does not have (as far as I know) any mean to completely track creation/modify actions, I came out with the InfoSet solution that make use of an additional field (called update_timestamp) derived from a complex query.
Any help/suggestion on how to overcome the issue will be greatly appreciated.
Best regards
Davide Rizzo

Hi
Yes it's true.
If you put "#ec * at the end of a abap code row, you can suppress the warnining messages of extended program check.
Every kind of warning has own sign, you find out them while running extended check.
It's a way to clear the useless messages.
For example, you have created an include where you have defined several routines you have to use in several programs, but every program don't use all routines of that include, or you dynamically call those routines, so if you run the extend check for a certain program you can get a warning like that:
FORM PLUTO not called directly
Now you can't delete the routine from the include, because it can be used by other program, but you can hide that message by "#ec CALLED:
FORM <MY_FORM>. "#EC CALLED
ENDFORM.
Max

Similar Messages

  • What is the use of "#ec *  in a abap program

    Hi,
    i want to know that is the use of "#ec *  in an abap program.
    i heard that it is used to supress the warning messages which we get when we do extended syntax check.
    fist of all i want to know is it true r false and if its true then i want to know more about it.
    regards,
    maqsood

    Hi
    Yes it's true.
    If you put "#ec * at the end of a abap code row, you can suppress the warnining messages of extended program check.
    Every kind of warning has own sign, you find out them while running extended check.
    It's a way to clear the useless messages.
    For example, you have created an include where you have defined several routines you have to use in several programs, but every program don't use all routines of that include, or you dynamically call those routines, so if you run the extend check for a certain program you can get a warning like that:
    FORM PLUTO not called directly
    Now you can't delete the routine from the include, because it can be used by other program, but you can hide that message by "#ec CALLED:
    FORM <MY_FORM>. "#EC CALLED
    ENDFORM.
    Max

  • Problem in  using function module parameters in abap program

    i want to use the coding present in on one of the function module 'AS_API_INFOSTRUC_FIND'  i got the problem using the function module parameters in my abap program.
    these are the parameters inside fm
    ""Lokale Schnittstelle:
    *"       IMPORTING
    *"             VALUE(I_FIELDCAT) TYPE  AIND_FCAT
    *"             VALUE(I_FIELDS) TYPE  TABLE OPTIONAL
    *"             VALUE(I_OBLIGATORY_FIELDS) TYPE  TABLE OPTIONAL
    *"       EXPORTING
    *"             VALUE(E_INFOSTRUC) TYPE  AIND_DESC
    *"             REFERENCE(E_ALL_FIELDS) TYPE  TABLE
    *"             REFERENCE(E_MATCHING_FIELDS) TYPE  TABLE
    *"       EXCEPTIONS
    *"              NO_INFOSTRUC_FOUND
    i want to declare     E_ALL_FIELDS  parameter    in my abap program,
    i have declared as 
    data: E_ALL_FIELDS TYPE TABLE.
    but   the system throws error that
    'type of field 'TABLE'  is generic .no table line has been specified'.
    i want to use it in my abap program how can i declare in my abap program .

    You have to declare the table using any specific type.
    The type table in the FM is generic so you can pass any type you need.
    For instance:
    TYPES: BEGIN OF ty_fields,
             fieldname LIKE dfies-fieldname,
           END OF ty_fields,
    TYPES: TY_T_GLU1              LIKE GLU1                     OCCURS 0,
           ty_t_fields            type ty_fields                occurs 0.
      DATA: lt_info_struct_fields TYPE ty_t_fields WITH HEADER LINE,
            lt_matching_fields    TYPE ty_t_fields WITH HEADER LINE.
        CALL FUNCTION 'AS_API_INFOSTRUC_FIND'
             EXPORTING
                  i_fieldcat         = ft_fieldcat-fieldcat
                  i_fields           = ft_fields_filled[]
             IMPORTING
                  e_infostruc        = lv_info_struct_name
                  e_all_fields       = lt_info_struct_fields[]
                  e_matching_fields  = lt_matching_fields[]
             EXCEPTIONS
                  no_infostruc_found = 1.

  • How to use BRF plus application in abap programs (Report or Module pool)

    Hi All,
    I have created an BRF plus application through FDT_WORKBENCH to calculate bonus of the employee with the help of SDN tutorial.
    Now my concern is that how can i use this application in my report.
    I have also read in the tutorial that we can create BRF plus application through ABAP coding but my question is, if i created an application through FDT_WORKBENCH then how can i use it in my ABAP report.
    Thanks a lot in advance.
    Regards,
    Sheelesh

    Hi,
    CALLING BRF+ FROM ABAP REPORT PROGRAM :
    I think the program may be helpful for you guys.
    *CALLING THE BRF+ FROM ABAP REPORT PROGRAM :
    REPORT Z_BRFPLUS_REPORT_01.
    PARAMETERS : P_SEL TYPE STRING .
    TYPES : BEGIN OF TYPE_PRICE ,
            NUMBER TYPE DECFLOAT16 ,
            CURRENCY TYPE STRING ,
            END OF TYPE_PRICE .
    DATA : LO_FUNCTION      TYPE REF TO     IF_FDT_FUNCTION ,
           LO_CONTEXT       TYPE REF TO     IF_FDT_CONTEXT ,
           LO_RESULT        TYPE REF TO     IF_FDT_RESULT .
    DATA : LO_MESSAGE TYPE REF TO CX_FDT .
    FIELD-SYMBOLS : <FS_PRODUCT> TYPE IF_FDT_TYPES=>S_MESSAGE .
    DATA : PRODUCT TYPE STRING ,
           LS_PRICE TYPE TYPE_PRICE .
    CLEAR LS_PRICE .
    PRODUCT = P_SEL .
    TRY .
    * GET THE BRF PLUS FUNCTION .
      LO_FUNCTION ?= CL_FDT_FACTORY=>IF_FDT_FACTORY~GET_INSTANCE( )->GET_FUNCTION('0050569E629D1ED39DD2090294D9A5BD' ) .
    * SET THE BRFPLUS FUNCTION CONTEXT .
      LO_CONTEXT = LO_FUNCTION->GET_PROCESS_CONTEXT( ) .
      LO_CONTEXT->SET_VALUE( IV_NAME = 'PRODUCT' IA_VALUE = PRODUCT ) .
    * PROCESS THE BRF PLUS FUNCTION .
      LO_FUNCTION->PROCESS(
                   EXPORTING
                     IO_CONTEXT = LO_CONTEXT
                   IMPORTING
                     EO_RESULT = LO_RESULT   ) .
    * RETRIEVE THE BRF PLUS FUNCTION RESULT .
      LO_RESULT->GET_VALUE(
                    IMPORTING
                      EA_VALUE = LS_PRICE ) .
    WRITE : LS_PRICE-NUMBER ,
            / LS_PRICE-CURRENCY .
    CATCH CX_FDT INTO LO_MESSAGE .
    ENDTRY .
    Thanks & Regards,
    Joyjit Biswas

  • How to use Class "CL_GUI_CHART_ENGINE" in a abap program ?

    Hi Guys,
    I want to display data in my internal table in the form of a Graph using class "cl_gui_chart_engine".
    I had a look at sample program given by SAP - GRAPHICS_GUI_CE_DEMO but need some help to understand how can we use our own data to be displayed in the graph ? Basically what I am looking for is that where we need to do the changes in creation of XML file so that we can pass our own data ?
    ( perform create_data_demo using l_ixml_data_doc)
    Could you please help me with some sample code or pseudocode ?
    Thanks
    Ashwa

    Thanks Kai,
    I had already done the same thing and got the required output.
    Populate X-Axis ( Categories )
      LOOP AT ITAB.
    Populate Categories
        l_element = p_ixml_doc->create_simple_element(
                  name = 'C' parent = l_categories ).
        l_element->if_ixml_node~set_value( itab-value).
      ENDLOOP.
    Populate Y-Axis ( Values )
      LOOP AT VALUE_TAB.
       l_element = p_ixml_doc->create_simple_element(
                 name = 'S' parent = l_series ).
        l_element->if_ixml_node~set_value( value_tab-value).
      ENDLOOP.
    I am now trying to find the ways to change the default layout of the graph. I guess it should be done in "perform create_custom_demo using l_ixml_custom_doc." . I want that my graph should be displayed as lines instead of bar's.
    Once I achieve this I will share my findings along with sample code with the community.
    I wish I could get some documentation on class "cl_gui_chart_engine" and interfaces like "if_ixml_document".
    Thanks
    Ashwani

  • Create Button  in Abap Program

    Hi anybody,
      I want to use click event button inside abap programe.
    how to use click events of button.
    anybody tell me.
    thanks
    s.muthu

    hiii
    use following code.it will create button
    START-OF-SELECTION.
      SET PF-STATUS 'STATUS'.
      PERFORM get_data_kna1.
    END-OF-SELECTION.
    Now write following code for performing task on clicking that button.
    CASE sy-ucomm.
      WHEN 'CUSTOMER'.
       SELECT SINGLE kunnr
          FROM kna1
          INTO w_kna1
          WHERE kunnr = w_kunnr.
          IF sy-subrc <> 0.
             MESSAGE e015(zmsg9).
           ENDIF.
    WHEN 'ORDER'.
               SELECT SINGLE vbeln
          FROM vbak
          INTO w_vbak
          WHERE vbeln = w_vbeln.
          IF sy-subrc <> 0.
           MESSAGE e015(zmsg9).
          ENDIF.
      ENDCASE.
    reward if useful
    thx
    twinkal

  • Regd using of lock object in an abap program

    Hi all,
         i have created an lock object but doesnot know how to use that lock object in an abap program. can anyone guide me how to use lock object in an abap program.

    check this sample for Production Order.
    <b>* Lock request for order
    call function 'ENQUEUE_ESORDER'
    exporting
       aufnr                = p_aufnr
    exceptions
       foreign_lock         = 1
       system_failure       = 2
       others               = 3
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
             with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.</b>
    Regards
    Prabhu

  • Migration influence in ABAP program

    hi guys,
    We are going for migration from 4.6C (Op.sys - HP-Unix, DB-Oracle 8.0) to 4.6C(Op.sys-Solaris,DB-Oracle 9.0).
    We need to analyse what are the changes required to be considered before migration.
    I guess below things are basic things
    1-External command.
    2-OS level application execution command.
    3-OPEN file path(logical path,physical path)
    other than this is there any thing i have to considered for OS and Database difference inside ABAP programs.
    appreciate if you Can give me check list...if possible
    Pls suggest me.
    thanks.
    Ambi.

    MESSAGE  ext TYPE mtype ... .
    This variant sends a character string contained in text as a message of the message type specified in mtype. You can enter a character-type data object text, which will be used as a short text for the message. Only the first 300 characters in text are taken into account. No long text can be defined for a message of this type.
    For mtype, a character-type data object is expected, which must contain the message type in capital letters. Invalid message types generate an untreatable exception.
    Notes
    : In this variant, the additions WITH and INTO are not allowed in message_options.
    If field symbols or formal parameters of the type any or data are specified for text, these must be of character type when the statement is executed. The syntactically identical variant MESSAGE oref cannot be executed with generically typed field symbols or formal parameters.
    Because the system fields sy-msgid and sy-msgno are filled unspecifically when a character string is entered, this variant should only be used on rare occasions if the content of the system fields is not required for identification of the message. Otherwise, in all cases in which messages are transferred (for example, from function modules) or logged (for example, in batch input) using these system fields, language-independent access to the message text would be lost.
    Example
    : Output of an exception text as an information message.
    DATA: oref TYPE REF TO cx_sy_arithmetic_error,
          text TYPE string.
    TRY.
      CATCH cx_sy_arithmetic_error INTO oref.
        text = oref->get_text( ).
        MESSAGE text TYPE 'I'.
    ENDTRY.

  • HR-ABAP Programming

    Hi All,
       How far are LDB's relevant to HR-ABAP Programming, are <u><i><b>select</b></i></u> statements absoultely obselete in HR-ABAP Programming. Here in our project we are only using select statements to retrieve date from infotypes. Is it a wrong programming practice? Is it absoultely necessay that we should only use LDB'S in HR-ABAP programming.
           Basically got this doubt because whatever the SAP Documentation related to HR-ABAP Programming i found uses only LDB'S to retrive data. Please clarify my doubt.

    Hi vijay,
    1. are select statements absoultely obselete in HR-ABAP Programming
    Absolutely No.
    (I have never read such thing)
    (Further, all sap programs,
    whether ldb or normal programs,
    internally do use Select statements,
    to fetch data)
    2. Is it a wrong programming practice?
    Absolutely No.
    (If we know the hr tables
    and if we know the correct select statement,
    then there is no harm in using them)
    3.
    Is it absoultely necessay that we should only use LDB'S in HR-ABAP programming.
    Its optional to use (not necessary)
    I personally never use ldbs,
    bcos
    a) their selection screen is insufficient
    b) their selection screen has extra fields
       which are not required, and some times
       not relevant for the requirement)
    c) before using GET, i need to know
       many things for showing to the user,
       so for this, i explicitly have to write
       my own code (ie.select statment)
    regards,
    amit m.

  • ABAP Program in process chain

    Hi All,
    We have ABAP Porgram(PROCESS TYPE)  in our porcess chain.
    It was failed today with following message in Job log
    " Table Locked.Data currently being processed by user ALEREMOTE " .But when i check in SM12 there was no locks I found there. and i have checked in sm21 also there also i didn't find anylogs at that time and date.
    So i tried by repeating the load of "ABAP Process "  the program went successful now.
    But client is asking which PROCESS CHAIN caused locks for this program.
    Is there any way to find out any other process chain is using the same " PROCESS TYPE (ABAP Program)"  in their process chain?.
    so that i can identify that process chain and inform to the client.

    First :
    The lock need not be due to another ABAP program...
    What you are seeing here is a table lock due to a conflicting process... for instance - lets say your program is reading 0MATERIAL and updating specific values in the P Table of 0MATERIAL. At the same time - if there is a data load happening to thi table - then your program or the data load whichever runs later - will face the locking issue.
    What you need to do is :
    1. Find out which tables are being UPDATED by the ABAp program - find out when these tables are being updated by other process chains - and then change the schedule for the same.

  • Selective Deletion of the Cube contents in Abap Program of the PChain

    Dear Experts
    I need to selectively delete the contents in Basic Infocube using Process Type - ABAP Program in the Process Chain in BW 3.5
    For this I have to give the Variant and Program name in the Process Type - ABAP Program in the Process Chain
    The ABAP Program for this purpose can be generated automatically by the system in the the below navigation
    info cube> Manage>contents > system menu(in the Top)> Status
    but this abap program is changing dynamically every time and hence in the Process chain ABAP Program node is failing with error saying that that program is not available
    I have tried the same way  in the selective deletin navigation path also in the cube manage
    Please let me know how to get the system generated program to use in the Process type-ABAP Program in Process Chain
    Thanks for all in advance
    KSR

    Hi KSR,
    Try this.. start a selective deletion on the cube. you will get a background job running. Get the job name from SM37.
    Now write a ABAP program with the below code.
    parameter: p_Job_Name type sysuuid_c.
    CALL METHOD cl_rscrmbw_bapi=>exec_rep_in_batch
    EXPORTING i_barepid = l_jobnam.
    Execute the above program. Pass the job name which you got from SM37.
    Create a variant with that job name.
    Now schedule this newly created program. This should solve your issue.
    Note : The job name might vary from one server to another (Dev / Qual / Prod). So if you are planning to move your process chain from Dev, then pass the Job name (in prod) as the variant in yr Dev system and then transport it.
    Cheer,
    Balaji Venugopal

  • ABAP program is not working

    I am using ABAP stage in Datastge job and new requirement is only add a new column where the column length is 25.
    Previously the program was below
       IF d_len < 16000.
          d_pack+d_offset(77) = it_1.
          d_offset = d_offset + 77.
          d_len = d_offset + 77.
    but now after adding new column
    change the program as
       IF d_len < 16000.
          d_pack+d_offset(102) = it_1.
          d_offset = d_offset + 102.
          d_len = d_offset + 102.
    it's not working if I use below code then it works but getting data small amount with some data is shift from one colum to another.
       IF d_len < 16000.
          d_pack+d_offset(102) = it_1.
          d_offset = d_offset + 102.
          d_len = d_offset + 102.
          d_pack+d_offset(77) = it_1.
          d_offset = d_offset + 77.
          d_len = d_offset + 77.
    Ant idea how to solve the issue

    Hi,
    Just a wild guess... is this code normally not something that is generated by some IBM solution..? Meaning - something not to be messed with..? Because:
    "D_LEN – Is a variable used during generation of the ABAP program. The value is set automatically based on the total length of columns in the SQL query. If this value is less than 16000, the ABAP program will concatenate the record before making an RFC call. If it is greater than 16000, each line will be a RFC call, which will create many RFC calls that will negatively effect performance." --Understanding ABAP extract data processing with InfoSphere DataStage Pack for SAP R/3 and it's performance
    cheers
    Jānis

  • Printing barcode from ABAP program

    Hi,
    Is it possible to print barcode (using zebra barcode printing) from ABAP program directly without using Smart Form, SAP Script or Adobe PDF Form.
    I have the barcode instructions, I just want to output it to the barcode printer directly.
    Sample instructions to be output to barcode printer:
    FT128,288XG005.GRF,1,1^FS
    FT96,128XG000.GRF,1,1^FS
    FT64,192XG001.GRF,1,1^FS
    FT0,288XG002.GRF,1,1^FS
    FT0,224XG003.GRF,1,1^FS
    FT128,256XG004.GRF,1,1^FS
    FO16,180GB496,0,5^FS
    FO52,37GB450,66,4^FS
    BY4,3,40FT86,320^BCN,,Y,N
    FD>;123456>67FS
    PQ1,0,1,YXZ
    XAID000.GRFFSXZ
    Thanks in advance.

    Hello,
    Yes we can do it..
    Go through this link you will some idea
    http://sapprograms.blogspot.com/2008/11/barcode-printing.html
    http://www.sap-img.com/abap/details-information-about-sap-barcodes.htm

  • Creation of Generic Data source using function module based on the program which was used to created ABAP report

    Hi,
    We have a requirement to create a BI report based on plant maintenance report. The plant maintenance report is based on a ABAP program with complex logic. My question is i want create a Generic Datasource using Function module and can I include the logic(Abap Program) that is used for plant maintenance report in the function module? Please share your thoughts.
    Thanks,
    Ravi

    Hi,
    Step1-Create a table structure which you need to create same as the fields you require in you data source.
    Step 2-create a custom abap program and inside that call the Client abap program with the selections as required and save the result data in some table
    Step 3-create infoset query.In the infoset query give your table structure name and  program name which you developed.
    Step4-create data source on top of that query

  • Can we use is null in our select statement in ABAP program

    hi,
    I want to use 'is nul' or 'not null' in select statement of my ABAP program for any field. I have written below query but I am getting sy-subrc = 4 and getting no data. Can anyone resolve this.

    Hi,
    I think you've posted your question on the wrong forum. This is the SAP Business One development forum which is not part of ERP and doesn't include any ABAP or Netweaver programming.
    For a list of forums please see here:
    http://forums.sdn.sap.com/index.jspa
    Kind Regards,
    Owen

Maybe you are looking for

  • Using variables in if loop

    Hi, I have created 2 updatable variables BizDaysOld & BizMonth. I need to update BizDaysOld based on the values of these variables. I am using the following if statement. It doesnt work. <?xdofx:if (xdoxslt:get_variable($_XDOCTX, 'BizDaysOld')) > 0 a

  • Time Machine Running VERY SLOW

    I am using a 2 TB G-Drive for Time Machine. I've been getting "disk full" messages for some time and the drive is is currently showing 47 GB free. Today (at least that's the first I noticed it,) Time Machine is running VERY SLOW. Looking at the drive

  • ORA-00376: file 29 cannot be read at this time

    Hi Guys, I am running Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production on RHEL5. I had mny files on auto-extend now my mount point went to 100%. I had a problem with some of the files that were on that mount point. I manag

  • Programmatically monitoring Windows memory

    Hi I'd like to monitor the total amount of memory a Windows-process is using. Something like the Windows Task Manager does. This is primarially used to get the amount of memory an application built with Labview is using. I know there are several ways

  • Self life of material

    Hello SAP gurus, I have an outbound number and for that the remain shelf life of material  43281 is defined  >30 days for customer group X and Y. The material has been delivered with a shelf life less than 30 days. How is it possible when we donu2019